diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 051007a2..17ccba58 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -15,13 +15,13 @@ jobs: with: python-version: '>=3.9 <3.12' - name: Install poetry - run: python -m pip install poetry + run: python -m pip install "poetry>=2.4,<3" - name: Cache the virtualenv id: cache-venv uses: actions/cache@v4 with: path: ./.venv - key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock') }} + key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock', '**/pyproject.toml', '**/poetry.toml') }} - name: Install dependencies if: steps.cache-venv.outputs.cache-hit != 'true' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dcc39426..d2601f45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: - name: Install Python uses: actions/setup-python@v5 - name: Install poetry - run: python -m pip install poetry + run: python -m pip install "poetry>=2.4,<3" - name: Publish package env: PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 236987c4..5ff8229a 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -8,8 +8,8 @@ jobs: run-tests: strategy: matrix: - python: ["3.9", "3.10", "3.11"] - os: [ubuntu-latest, macos-13, windows-latest] + python: ["3.10", "3.11", "3.12", "3.13", "3.14"] + os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} env: OS: ${{ matrix.os }} @@ -22,14 +22,19 @@ jobs: with: python-version: ${{ matrix.python }} + - name: Set ARCHFLAGS for macOS + if: runner.os == 'macOS' + run: echo "ARCHFLAGS=-arch arm64" >> $GITHUB_ENV + - name: Install poetry - run: python -m pip install poetry + run: python -m pip install "poetry>=2.4,<3" + - name: Cache the virtualenv id: cache-venv uses: actions/cache@v4 with: path: ./.venv - key: ${{ runner.os }}-${{ matrix.python }}-venv-${{ hashFiles('**/poetry.lock') }} + key: ${{ runner.os }}-${{ matrix.python }}-venv-${{ hashFiles('**/poetry.lock', '**/pyproject.toml', '**/poetry.toml') }} - name: Install dependencies if: steps.cache-venv.outputs.cache-hit != 'true' @@ -37,7 +42,7 @@ jobs: - name: Run tests and Generate coverage run: | - poetry run pytest --cov --cov-report=xml + poetry run pytest --cov --cov-report=xml -v --full-trace - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 diff --git a/.gitignore b/.gitignore index 0afa586b..66b84b67 100644 --- a/.gitignore +++ b/.gitignore @@ -140,8 +140,8 @@ dmypy.json cython_debug/ .idea - .chain_cookie .exchange_cookie - .flakeheaven_cache +.vscode/settings.json +.python-version diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a1388bd3..f73432e6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,22 +6,11 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml -- repo: https://github.com/flakeheaven/flakeheaven - rev: 3.3.0 +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.15.10 hooks: - - id: flakeheaven - name: flakeheaven - description: '`flakeheaven` is a `flake8` wrapper.' - entry: flakeheaven lint - language: python - types_or: [ python, jupyter, markdown, rst, yaml ] - require_serial: true - minimum_pre_commit_version: 2.9.0 -- repo: https://github.com/pycqa/isort - rev: 5.12.0 - hooks: - - id: isort - name: isort (python) + - id: ruff + args: [--fix] - repo: https://github.com/psf/black-pre-commit-mirror rev: 23.9.1 hooks: diff --git a/CHANGELOG.md b/CHANGELOG.md index 509286b2..69e73da6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,85 @@ All notable changes to this project will be documented in this file. +## [v1.16.0] 2026-06-29 +### Added +- Peggy Rate Limit types are extended to take in an oracle_type field to denote the oracle used to fetch a price along with the token_id +- Added an RPC endpoint for funding payments in derivatives + +## [v1.15.0] 2026-06-02 +### Added +- Added support in v2 Composer for the new exchange module MsgBatchLiquidatePositions message, including the `liquidate_position_data` and `msg_batch_liquidate_positions` composer helpers and a corresponding example script +- Exposed `OrderType`, `OracleType`, and `CrossMarginEligibility` proto enums as `IntEnum` class attributes on the v2 `Composer` (`Composer.ORDER_TYPE`, `Composer.ORACLE_TYPE`, `Composer.CROSS_MARGIN_ELIGIBILITY`) for IDE discoverability and type safety. The `order_type` and `oracle_type` parameters in composer methods now accept either the string name or an integer / enum value (backward-compatible); `cross_margin_eligibility` (newly introduced this release) accepts only the `Composer.CROSS_MARGIN_ELIGIBILITY` enum. + +### Changed +- Updated all compiled protos for compatibility with Injective core v1.20.0 and Indexer v1.20.2 + +## [1.14.1] - 2026-04-29 +### Changed +- Update Python version limitation to ">=3.10,<3.15" to support Python v1.14 + +## [1.14.0] - 2026-04-27 +### Changed +- Updated all compiled protos for compatibility with Injective core v1.19.0 and Indexer v1.19.0 + +## [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 +- Added support in v2 Composer to create the new exchange module MsgCancelPostOnlyMode message + +### Changed +- Updated all compiled protos for compatibility with Injective core v1.16.4 and Indexer v1.16.91 +- Marked the v1 Composer as deprecated + +## [1.11.1] - 2025-08-20 +### Changed +- Marked the v1 AsyncClient as deprecated + +### Fixed +- Fixed the Indexer orderbooks queries in the v1 AsyncClient to include the depth parameter + +## [1.11.0] - 2025-07-29 +### Added +- Added support for Exchange V2 proto queries and types +- Added support for ERC20 proto queries and types +- Added support for EVM proto queries and types +- Updated all chain exchange module examples to use the new Exchange V2 proto queries and types +- Added examples for ERC20 queries and messages +- Added examples for EVM queries +- Created a new AsyncClient in the pyinjective.async_client_v2 module. This new AsyncClient provides support for the new v2 exchange endpoints. AsyncClient in pyinjective.async_client module still provides access to the v1 exchange endpoints. +- Created a new Composer in the pyinjective.composer_v2 module. This new Composer provides support to create exchange v2 objects. Composer in pyinjective.composer module still provides access to the v1 exchange objects. +- Created the IndexerClient class to have all indexer queries. AsyncClient v2 now does not include any logic related to the indexer endpoints. The original AsyncClient still does support indexer endpoints (for backwards compatibility) but it does that by using an instance of the IndexerClient + +### Removed +- Removed all methods marked as deprecated in AsyncClient and Composer + +## [1.10.0] - 2025-04-16 +### Added +- Added support for the queries in the new TXFees module + +### Changed +- Update in the implementation of the gas limit estimator to use the same values as the chain for the fixed gas messages +- Updated all compiled protos for compatibility with Injective core v1.15 and Indexer v1.15.6 + +## [1.9.1] - 2025-03-03 +### Fixed +- Added quantization in the functions that convert notional values to chain format + +## [1.9.0] - 2025-02-13 +### Added +- Added support for all new queries and messages from the new Permissions module + ## [1.8.2] - 2024-12-13 ### Changed - Updated `protobuf` dependency version to make it more flexible diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 00000000..8c45da80 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,179 @@ +# Maintainers Guide + +This document describes maintenance workflows for SDK contributors and maintainers. + +--- + +## Prerequisites + +The following tools must be installed before running any maintenance commands. + +| Tool | Purpose | Install (macOS) | +|------|---------|-----------------| +| `buf` | Proto code generation | `brew install bufbuild/buf/buf` | +| `git` | Repository operations | `brew install git` | +| `make` | Task runner | bundled with Xcode CLT | +| `poetry` | Python packaging | [python-poetry.org/docs](https://python-poetry.org/docs/#installation) | +| Python 3.10+ | Runtime | `brew install python` | + +> **macOS only**: The `fix-generated-proto-imports` step inside `make gen` uses the BSD `sed -i ""` syntax. On Linux, `sed -i ""` must be replaced with `sed -i`. All maintainers are expected to run proto generation on macOS or adapt the command in the `Makefile` accordingly. + +--- + +## Regenerating the proto bindings + +The generated Python bindings in `pyinjective/proto/` are produced from `.proto` source files pulled from several upstream repositories. + +### Step 1 — Update version references + +Two files control which upstream versions are used: + +**`Makefile`** — controls the injective-indexer gRPC proto files: + +```makefile +clone-injective-indexer: + git clone https://github.com/InjectiveLabs/injective-indexer.git -b --depth 1 --single-branch +``` + +Update the `-b` tag to the desired `injective-indexer` release (e.g. `v1.19.0`). + +**`buf.gen.yaml`** — controls all other proto sources via the `inputs:` block. Bump the relevant tags for: + +- `injective-core` (most common change) +- `ibc-go`, `wasmd`, `cometbft`, `cosmos-sdk` (when a protocol upgrade requires it) + +Example `buf.gen.yaml` inputs entry to update: + +```yaml +- git_repo: https://github.com/InjectiveLabs/injective-core + tag: v1.19.0 + subdir: proto +``` + +### Step 2 — Run generation + +```bash +make gen +``` + +This single command runs the full pipeline: + +```mermaid +flowchart LR + bumpVersions["Bump tags in Makefile + buf.gen.yaml"] --> makeGen["make gen"] + makeGen --> cloneAll["clone-all\n(injective-indexer)"] + cloneAll --> copyProto["copy-proto\n(.proto → proto/exchange/)"] + copyProto --> bufGen["buf generate\n(buf.gen.yaml inputs)"] + bufGen --> cleanup["remove proto/\nand injective-indexer/"] + cleanup --> fixImports["fix-generated-proto-imports"] + fixImports --> review["git diff + pytest"] +``` + +**What each step does:** + +1. `clone-all` — shallow-clones the `injective-indexer` repository at the configured tag. +2. `copy-proto` — deletes the previous `pyinjective/proto/` tree, then copies all `.proto` files from the cloned indexer's `api/gen/grpc` directory into `proto/exchange/`. +3. `buf generate` — runs the `buf` tool against `buf.gen.yaml`, pulling proto sources from the BSR (Buf Schema Registry) and the `git_repo` inputs, then emitting Python and gRPC stubs into `pyinjective/proto/`. +4. Cleanup — removes the temporary `proto/` and `injective-indexer/` directories. +5. `fix-generated-proto-imports` — rewrites bare import paths (e.g. `from cosmos`) in every generated `.py` file to their package-qualified equivalents (e.g. `from pyinjective.proto.cosmos`). This step covers the modules listed in `PROTO_MODULES` in the `Makefile` plus `google.api`. + +### Step 3 — Verify and commit + +```bash +git diff pyinjective/proto/ # review the generated diff +poetry run pytest -v # run the full test suite +``` + +Commit the `Makefile`, `buf.gen.yaml`, and all updated `pyinjective/proto/**` files together in a single commit. + +### Troubleshooting + +| Problem | Fix | +|---------|-----| +| Stale `injective-indexer/` or `proto/` directories from a failed previous run | `make clean-all` | +| `buf generate` fails with auth errors on private BSR repos | Log in with `buf registry login` | +| Import errors after generation | Rerun `make fix-generated-proto-imports` manually to isolate the issue | + +--- + +## Regenerating `pyinjective/ofac.json` + +The `pyinjective/ofac.json` file is the local snapshot of the OFAC and restricted-wallet list used by `OfacChecker`. Its upstream source is: + +``` +https://raw.githubusercontent.com/InjectiveLabs/injective-lists/refs/heads/master/json/wallets/ofacAndRestricted.json +``` + +Refresh the snapshot with: + +```bash +make gen-ofac +``` + +This calls `poetry run python pyinjective/ofac.py`, which downloads the latest list from the URL above and overwrites `pyinjective/ofac.json`. + +**When to refresh:** before each release, and whenever the upstream `injective-lists` repository publishes a significant update to the wallet list. + +Commit the updated `pyinjective/ofac.json` together with other release preparation changes. + +--- + +## Bumping the package version + +The `version` field in `pyproject.toml` is the exact string that Poetry uses as the package name on PyPI when publishing. Every published release must have a unique version. + +```toml +[tool.poetry] +name = "injective-py" +version = "1.15.0" # ← update this before releasing +``` + +**Versioning conventions used in this project:** + +| Suffix | Meaning | Example | +|--------|---------|---------| +| `X.Y.Z` | Stable production release | `1.15.0` | +| `X.Y.Z-rcN` | Release candidate | `1.15.0-rc1` | + +Keep the `pyproject.toml` version bump in the same commit as the corresponding `CHANGELOG.md` entry so both are always in sync. + +--- + +## Release workflow + +Publishing to PyPI is fully automated via [`.github/workflows/release.yml`](.github/workflows/release.yml). + +### How the workflow is triggered + +The workflow fires on GitHub **`release: published`** events. This means it runs only when a maintainer explicitly publishes a GitHub Release — not on plain tag pushes or branch merges. + +### What the workflow does + +1. Checks out the repository at the commit the GitHub Release points to. +2. Installs Python and Poetry on `ubuntu-latest`. +3. Runs `poetry publish --build`, which builds the distribution and pushes it to PyPI using the `PYPI_API_TOKEN` repository secret. + +> **Important:** The `pyproject.toml` version in the commit targeted by the GitHub Release is what gets published. If the version was not bumped before creating the release, the wrong version will be pushed to PyPI (and PyPI will reject a re-upload of an already-existing version). + +### Operational notes + +- The `PYPI_API_TOKEN` secret must remain valid on the repository. Rotating it when expired is a maintainer responsibility. +- The release workflow does **not** run tests. Tests run automatically on every PR and merge via `run-tests.yml` and `pre-commit.yml` — ensure the branch is green before cutting a release. +- GitHub pre-releases (marked as such in the UI) still trigger `release: published`, so `-rc*` versions are published to PyPI the same way as stable ones. + +--- + +## Release checklist + +Follow these steps in order when cutting a new SDK release: + +1. **Bump proto versions** — update the `injective-indexer` tag in `Makefile` and the relevant tags in `buf.gen.yaml`. +2. **Regenerate protos** — run `make gen` and verify `git diff pyinjective/proto/` looks correct. +3. **Refresh OFAC list** — run `make gen-ofac`. +4. **Bump package version** — update `version` in `pyproject.toml` following the `X.Y.Z` / `X.Y.Z-rcN` convention. +5. **Update CHANGELOG** — add a release entry to `CHANGELOG.md` in the same commit as the version bump. +6. **Run tests** — `poetry run pytest -v` must pass locally. +7. **Open a PR** — get the changes reviewed and merged into the target branch. +8. **Create a git tag** — tag the merge commit with the release version (e.g. `v1.15.0`). +9. **Publish a GitHub Release** — point it at the tag, paste the `CHANGELOG.md` entry as release notes, and click **Publish release**. The CI workflow takes care of building and uploading the package to PyPI automatically. +10. **Verify** — monitor the `Publish Python distribution to PyPI` action in the Actions tab until it completes successfully. diff --git a/Makefile b/Makefile index 76e8dbc6..6a4a5fa3 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ gen-client: clone-all copy-proto $(call clean_repos) $(MAKE) fix-generated-proto-imports -PROTO_MODULES := cosmwasm exchange gogoproto cosmos_proto cosmos testpb ibc amino tendermint injective +PROTO_MODULES := cosmwasm exchange gogoproto cosmos_proto cosmos testpb ibc amino tendermint cometbft injective fix-generated-proto-imports: @touch pyinjective/proto/__init__.py @@ -19,11 +19,6 @@ fix-generated-proto-imports: @find ./pyinjective/proto -type f -name "*.py" -exec sed -i "" -e "s/from google.api/from pyinjective.proto.google.api/g" {} \; define clean_repos - rm -Rf cosmos-sdk - rm -Rf ibc-go - rm -Rf cometbft - rm -Rf wasmd - rm -Rf injective-core rm -Rf injective-indexer endef @@ -31,7 +26,7 @@ clean-all: $(call clean_repos) clone-injective-indexer: - git clone https://github.com/InjectiveLabs/injective-indexer.git -b v1.13.4 --depth 1 --single-branch + git clone https://github.com/InjectiveLabs/injective-indexer.git -b v1.20.89 --depth 1 --single-branch clone-all: clone-injective-indexer @@ -40,7 +35,10 @@ copy-proto: mkdir -p proto/exchange find ./injective-indexer/api/gen/grpc -type f -name "*.proto" -exec cp {} ./proto/exchange/ \; +gen-ofac: + poetry run python pyinjective/ofac.py + tests: poetry run pytest -v -.PHONY: all gen gen-client copy-proto tests +.PHONY: all gen gen-client copy-proto gen-ofac tests diff --git a/README.md b/README.md index 3dc446c6..df4bc345 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,11 @@ $ poetry install # connecting to Injective Exchange API # and listening for new orders from a specific spot market -$ poetry run python examples/exchange_client/spot_exchange_rpc/8_StreamOrders.py +$ poetry run python examples/exchange_client/spot_exchange_rpc/8_StreamOrderbookUpdate.py # sending a msg with bank transfer # signs and posts a transaction to the Injective Chain -$ poetry run python examples/chain_client/1_MsgSend.py +$ poetry run python examples/chain_client/bank/1_MsgSend.py ``` Upgrade `pip` to the latest version, if you see these warnings: ``` @@ -65,21 +65,48 @@ Upgrade `pip` to the latest version, if you see these warnings: pip install injective-py ``` -3. Fetch latest denom config +3. Run all unit tests in a development environment ``` -poetry run python pyinjective/utils/fetch_metadata.py +poetry run pytest -v ``` -Note that the [sync client](https://github.com/InjectiveLabs/sdk-python/blob/master/pyinjective/client.py) has been deprecated as of April 18, 2022. If you are using the sync client please make sure to transition to the [async client](https://github.com/InjectiveLabs/sdk-python/blob/master/pyinjective/async_client.py), for more information read [here](https://github.com/InjectiveLabs/sdk-python/issues/101) +> **Maintainers:** see [MAINTAINERS.md](MAINTAINERS.md) for how to regenerate proto bindings, refresh `pyinjective/ofac.json`, and cut a new release. -4. Run all unit tests in a development environment -``` -poetry run pytest -v +--- + +## Async client (exchange V2) + +The Injective Python SDK exposes `AsyncClient` from the `async_client_v2` module: + +- Import using: `from pyinjective.async_client_v2 import AsyncClient` +- Example: +```python +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.network import Network + +async def main(): + client = AsyncClient(network=Network.mainnet()) + # Or use testnet + # client = AsyncClient(network=Network.testnet()) ``` +> **Market Format Differences**: +> - V1 AsyncClient: Markets are initialized with values in chain format (raw blockchain values) +> - V2 AsyncClient: Markets are initialized with values in human-readable format (converted to standard decimal numbers) +> +> **Exchange Endpoint Format Differences**: +> - V1 Exchange endpoints: All values (amounts, prices, margins, notionals) are returned in chain format +> - V2 Exchange endpoints: +> - Human-readable format for: amounts, prices, margins, and notionals +> - Chain format for: deposit-related information (to maintain consistency with the Bank module) +> +> **Important Note**: The ChainClient (V1) will not receive any new endpoints added to the Exchange module. If you need access to new exchange-related endpoints or features, you should migrate to the V2 client. The V2 client ensures you have access to all the latest exchange functionality and improvements. + +___ + ## License -Copyright © 2021 - 2022 Injective Labs Inc. (https://injectivelabs.org/) +Copyright © 2021 - 2026 Injective Labs Inc. (https://injectivelabs.org/) diff --git a/buf.gen.yaml b/buf.gen.yaml index 82747c53..26f1be80 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -11,19 +11,18 @@ inputs: - module: buf.build/cosmos/gogo-proto - module: buf.build/googleapis/googleapis - module: buf.build/cosmos/ics23 - - git_repo: https://github.com/InjectiveLabs/cosmos-sdk - tag: v0.50.8-inj-0 - git_repo: https://github.com/InjectiveLabs/ibc-go - tag: v8.3.2-inj-0 + tag: v8.7.0-inj.4 - git_repo: https://github.com/InjectiveLabs/wasmd - tag: v0.51.0-inj-0 -# - git_repo: https://github.com/InjectiveLabs/wasmd -# branch: v0.51.x-inj -# subdir: proto + tag: v0.53.3-inj.3 + - git_repo: https://github.com/InjectiveLabs/cometbft + tag: v1.0.1-inj.9 + - git_repo: https://github.com/InjectiveLabs/cosmos-sdk + tag: v0.50.14-inj.11 - git_repo: https://github.com/InjectiveLabs/injective-core - tag: v1.13.0 + tag: v1.20.3 subdir: proto -# - git_repo: https://github.com/InjectiveLabs/injective-core -# branch: master -# subdir: proto + # - git_repo: https://github.com/InjectiveLabs/injective-core + # branch: c-655/add_chainlink_data_streams_oracle + # subdir: proto - directory: proto diff --git a/examples/chain_client/10_SearchLiquidablePositions.py b/examples/chain_client/10_SearchLiquidablePositions.py new file mode 100644 index 00000000..4b612995 --- /dev/null +++ b/examples/chain_client/10_SearchLiquidablePositions.py @@ -0,0 +1,76 @@ +import asyncio +from decimal import Decimal + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +def adjusted_margin( + quantity: Decimal, margin: Decimal, is_long: bool, cumulative_funding_entry: Decimal, cumulative_funding: Decimal +) -> Decimal: + unrealized_funding_payment = (cumulative_funding - cumulative_funding_entry) * quantity * (-1 if is_long else 1) + return margin + unrealized_funding_payment + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.mainnet() + + # initialize grpc client + client = AsyncClient(network) + + positions_per_market = dict() + + positions_dict = await client.fetch_chain_positions() + liquidable_positions = [] + + for position in positions_dict["state"]: + if position["marketId"] not in positions_per_market: + positions_per_market[position["marketId"]] = [] + positions_per_market[position["marketId"]].append(position) + + derivative_markets = await client.fetch_chain_derivative_markets( + status="Active", + market_ids=list(positions_per_market.keys()), + ) + + for market in derivative_markets["markets"]: + client_market = (await client.all_derivative_markets())[market["market"]["marketId"]] + market_mark_price = client_market._from_extended_chain_format(Decimal(market["markPrice"])) + for position in positions_per_market[client_market.id]: + is_long = position["position"]["isLong"] + quantity = client_market._from_extended_chain_format(Decimal(position["position"]["quantity"])) + entry_price = client_market._from_extended_chain_format(Decimal(position["position"]["entryPrice"])) + margin = client_market._from_extended_chain_format(Decimal(position["position"]["margin"])) + cumulative_funding_entry = client_market._from_extended_chain_format( + Decimal(position["position"]["cumulativeFundingEntry"]) + ) + market_cumulative_funding = client_market._from_extended_chain_format( + Decimal(market["perpetualInfo"]["fundingInfo"]["cumulativeFunding"]) + ) + + adj_margin = adjusted_margin(quantity, margin, is_long, cumulative_funding_entry, market_cumulative_funding) + adjusted_unit_margin = (adj_margin / quantity) * (-1 if is_long else 1) + maintenance_margin_ratio = client_market.maintenance_margin_ratio * (-1 if is_long else 1) + + liquidation_price = (entry_price + adjusted_unit_margin) / (Decimal("1") + maintenance_margin_ratio) + + should_be_liquidated = (is_long and market_mark_price <= liquidation_price) or ( + not is_long and market_mark_price >= liquidation_price + ) + + if should_be_liquidated: + position_side = "Long" if is_long else "Short" + print( + f"{position_side} position for market {client_market.id} and subaccount " + f"{position['subaccountId']} should be liquidated (liquidation price: " + f"{liquidation_price.normalize()} / mark price: {market_mark_price.normalize()})" + ) + liquidable_positions.append(position) + + # print(f"\n\n\n") + # print(json.dumps(liquidable_positions, indent=4)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/1_LocalOrderHash.py b/examples/chain_client/1_LocalOrderHash.py index fbec8988..d0790a44 100644 --- a/examples/chain_client/1_LocalOrderHash.py +++ b/examples/chain_client/1_LocalOrderHash.py @@ -1,12 +1,13 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT from pyinjective.core.network import Network from pyinjective.orderhash import OrderHashManager from pyinjective.transaction import Transaction @@ -66,11 +67,9 @@ async def main() -> None: market_id=deriv_market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(10500), - quantity=Decimal(0.01), - margin=composer.calculate_margin( - quantity=Decimal(0.01), price=Decimal(10500), leverage=Decimal(2), is_reduce_only=False - ), + price=Decimal("10500"), + quantity=Decimal("0.01"), + margin=Decimal("52.5"), order_type="BUY", cid=str(uuid.uuid4()), ), @@ -78,11 +77,9 @@ async def main() -> None: market_id=deriv_market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(65111), - quantity=Decimal(0.01), - margin=composer.calculate_margin( - quantity=Decimal(0.01), price=Decimal(65111), leverage=Decimal(2), is_reduce_only=False - ), + price=Decimal("65111"), + quantity=Decimal("0.01"), + margin=Decimal("325.555"), order_type="SELL", cid=str(uuid.uuid4()), ), @@ -111,7 +108,11 @@ async def main() -> None: .with_account_num(client.get_number()) .with_chain_id(network.chain_id) ) - gas_price = GAS_PRICE + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + base_gas = 85000 gas_limit = base_gas + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") @@ -128,7 +129,7 @@ async def main() -> None: # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) + print(json.dumps(res, indent=2)) print("gas wanted: {}".format(gas_limit)) print("gas fee: {} INJ".format(gas_fee)) @@ -148,7 +149,11 @@ async def main() -> None: .with_account_num(client.get_number()) .with_chain_id(network.chain_id) ) - gas_price = GAS_PRICE + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + base_gas = 85000 gas_limit = base_gas + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") @@ -165,7 +170,7 @@ async def main() -> None: # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) + print(json.dumps(res, indent=2)) print("gas wanted: {}".format(gas_limit)) print("gas fee: {} INJ".format(gas_fee)) @@ -195,11 +200,9 @@ async def main() -> None: market_id=deriv_market_id, subaccount_id=subaccount_id_2, fee_recipient=fee_recipient, - price=Decimal(25111), - quantity=Decimal(0.01), - margin=composer.calculate_margin( - quantity=Decimal(0.01), price=Decimal(25111), leverage=Decimal("1.5"), is_reduce_only=False - ), + price=Decimal("25111"), + quantity=Decimal("0.01"), + margin=Decimal("167.406666666666666667"), order_type="BUY", cid=str(uuid.uuid4()), ), @@ -207,11 +210,9 @@ async def main() -> None: market_id=deriv_market_id, subaccount_id=subaccount_id_2, fee_recipient=fee_recipient, - price=Decimal(65111), - quantity=Decimal(0.01), - margin=composer.calculate_margin( - quantity=Decimal(0.01), price=Decimal(25111), leverage=Decimal(2), is_reduce_only=False - ), + price=Decimal("65111"), + quantity=Decimal("0.01"), + margin=Decimal("125.555"), order_type="SELL", cid=str(uuid.uuid4()), ), @@ -240,7 +241,11 @@ async def main() -> None: .with_account_num(client.get_number()) .with_chain_id(network.chain_id) ) - gas_price = GAS_PRICE + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + base_gas = 85000 gas_limit = base_gas + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") @@ -257,7 +262,7 @@ async def main() -> None: # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) + print(json.dumps(res, indent=2)) print("gas wanted: {}".format(gas_limit)) print("gas fee: {} INJ".format(gas_fee)) diff --git a/examples/chain_client/2_StreamEventOrderFail.py b/examples/chain_client/2_StreamEventOrderFail.py index 62aed601..d9eea258 100644 --- a/examples/chain_client/2_StreamEventOrderFail.py +++ b/examples/chain_client/2_StreamEventOrderFail.py @@ -11,8 +11,8 @@ async def main() -> None: network = Network.mainnet() event_filter = ( "tm.event='Tx' AND message.sender='inj1rwv4zn3jptsqs7l8lpa3uvzhs57y8duemete9e' " - "AND message.action='/injective.exchange.v1beta1.MsgBatchUpdateOrders' " - "AND injective.exchange.v1beta1.EventOrderFail.flags EXISTS" + "AND message.action='/injective.exchange.v2.MsgBatchUpdateOrders' " + "AND injective.exchange.v2.EventOrderFail.flags EXISTS" ) query = json.dumps( { @@ -32,8 +32,8 @@ async def main() -> None: if result == {}: continue - failed_order_hashes = json.loads(result["events"]["injective.exchange.v1beta1.EventOrderFail.hashes"][0]) - failed_order_codes = json.loads(result["events"]["injective.exchange.v1beta1.EventOrderFail.flags"][0]) + failed_order_hashes = json.loads(result["events"]["injective.exchange.v2.EventOrderFail.hashes"][0]) + failed_order_codes = json.loads(result["events"]["injective.exchange.v2.EventOrderFail.flags"][0]) dict = {} for i, order_hash in enumerate(failed_order_hashes): diff --git a/examples/chain_client/3_MessageBroadcaster.py b/examples/chain_client/3_MessageBroadcaster.py index 735b92e3..1d4534a7 100644 --- a/examples/chain_client/3_MessageBroadcaster.py +++ b/examples/chain_client/3_MessageBroadcaster.py @@ -1,11 +1,12 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -17,11 +18,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -64,7 +74,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/4_MessageBroadcasterWithGranteeAccount.py b/examples/chain_client/4_MessageBroadcasterWithGranteeAccount.py index 4e08397b..f96adb9e 100644 --- a/examples/chain_client/4_MessageBroadcasterWithGranteeAccount.py +++ b/examples/chain_client/4_MessageBroadcasterWithGranteeAccount.py @@ -1,12 +1,12 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import Address, PrivateKey @@ -19,10 +19,10 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) # initialize grpc client client = AsyncClient(network) + composer = await client.composer() await client.sync_timeout_height() # load account @@ -30,9 +30,16 @@ async def main() -> None: pub_key = priv_key.to_public_key() address = pub_key.to_address() + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster = MsgBroadcasterWithPk.new_for_grantee_account_using_simulation( network=network, grantee_private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) # prepare tx msg @@ -55,7 +62,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/5_MessageBroadcasterWithoutSimulation.py b/examples/chain_client/5_MessageBroadcasterWithoutSimulation.py index 8c4f685f..7efd2fde 100644 --- a/examples/chain_client/5_MessageBroadcasterWithoutSimulation.py +++ b/examples/chain_client/5_MessageBroadcasterWithoutSimulation.py @@ -1,11 +1,12 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -17,11 +18,21 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + client = AsyncClient(network) + composer = await client.composer() + await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -64,7 +75,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/6_MessageBroadcasterWithGranteeAccountWithoutSimulation.py b/examples/chain_client/6_MessageBroadcasterWithGranteeAccountWithoutSimulation.py index 4b7fbd2e..7ce49208 100644 --- a/examples/chain_client/6_MessageBroadcasterWithGranteeAccountWithoutSimulation.py +++ b/examples/chain_client/6_MessageBroadcasterWithGranteeAccountWithoutSimulation.py @@ -1,12 +1,12 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import Address, PrivateKey @@ -19,20 +19,26 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) # initialize grpc client client = AsyncClient(network) - await client.sync_timeout_height() + composer = await client.composer() # load account priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster = MsgBroadcasterWithPk.new_for_grantee_account_without_simulation( network=network, grantee_private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) # prepare tx msg @@ -54,7 +60,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/7_ChainStream.py b/examples/chain_client/7_ChainStream.py index 05a5bbdc..b38933d7 100644 --- a/examples/chain_client/7_ChainStream.py +++ b/examples/chain_client/7_ChainStream.py @@ -3,8 +3,7 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -24,7 +23,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - composer = Composer(network=network.string()) + composer = await client.composer() subaccount_id = "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000" @@ -51,6 +50,12 @@ async def main() -> None: subaccount_ids=[subaccount_id], market_ids=[inj_usdt_perp_market] ) oracle_price_filter = composer.chain_stream_oracle_price_filter(symbols=["INJ", "USDT"]) + order_failures_filter = composer.chain_stream_order_failures_filter( + accounts=["inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"] + ) + conditional_order_trigger_failures_filter = composer.chain_stream_conditional_order_trigger_failures_filter( + subaccount_ids=[subaccount_id], market_ids=[inj_usdt_perp_market] + ) task = asyncio.get_event_loop().create_task( client.listen_chain_stream_updates( @@ -67,6 +72,8 @@ async def main() -> None: derivative_orderbooks_filter=derivative_orderbooks_filter, positions_filter=positions_filter, oracle_price_filter=oracle_price_filter, + order_failures_filter=order_failures_filter, + conditional_order_trigger_failures_filter=conditional_order_trigger_failures_filter, ) ) diff --git a/examples/chain_client/9_PaginatedRequestExample.py b/examples/chain_client/9_PaginatedRequestExample.py index 515aed8b..05a6b1ee 100644 --- a/examples/chain_client/9_PaginatedRequestExample.py +++ b/examples/chain_client/9_PaginatedRequestExample.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/auction/1_MsgBid.py b/examples/chain_client/auction/1_MsgBid.py index 1efaa3e3..5b75bd13 100644 --- a/examples/chain_client/auction/1_MsgBid.py +++ b/examples/chain_client/auction/1_MsgBid.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,56 +20,35 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg - msg = composer.MsgBid(sender=address.to_acc_bech32(), round=16250, bid_amount=1) - - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return + msg = composer.msg_bid(sender=address.to_acc_bech32(), round=16250, bid_amount=1) - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/6_MsgClaimVoucher.py b/examples/chain_client/auction/2_MsgClaimVoucher.py similarity index 62% rename from examples/chain_client/permissions/6_MsgClaimVoucher.py rename to examples/chain_client/auction/2_MsgClaimVoucher.py index 6e480e5a..4bc74f1f 100644 --- a/examples/chain_client/permissions/6_MsgClaimVoucher.py +++ b/examples/chain_client/auction/2_MsgClaimVoucher.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -13,13 +14,20 @@ async def main() -> None: dotenv.load_dotenv() private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - # select network: local, testnet, mainnet network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -28,15 +36,18 @@ async def main() -> None: denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - message = composer.msg_claim_voucher( + message = composer.msg_auction_claim_voucher( sender=address.to_acc_bech32(), denom=denom, ) - # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/auction/query/1_Vouchers.py b/examples/chain_client/auction/query/1_Vouchers.py new file mode 100644 index 00000000..d0271b34 --- /dev/null +++ b/examples/chain_client/auction/query/1_Vouchers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + vouchers = await client.fetch_auction_vouchers(denom=denom) + print(vouchers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/3_AddressRoles.py b/examples/chain_client/auction/query/2_Voucher.py similarity index 67% rename from examples/chain_client/permissions/query/3_AddressRoles.py rename to examples/chain_client/auction/query/2_Voucher.py index 18482aa8..bb48bca4 100644 --- a/examples/chain_client/permissions/query/3_AddressRoles.py +++ b/examples/chain_client/auction/query/2_Voucher.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -10,8 +10,8 @@ async def main() -> None: denom = "inj" address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - roles = await client.fetch_permissions_address_roles(denom=denom, address=address) - print(roles) + voucher = await client.fetch_auction_voucher(denom=denom, address=address) + print(voucher) if __name__ == "__main__": diff --git a/examples/chain_client/auth/query/1_Account.py b/examples/chain_client/auth/query/1_Account.py index ed193834..d0318646 100644 --- a/examples/chain_client/auth/query/1_Account.py +++ b/examples/chain_client/auth/query/1_Account.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" acc = await client.fetch_account(address=address) - print(acc) + print(json.dumps(acc, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/authz/1_MsgGrant.py b/examples/chain_client/authz/1_MsgGrant.py index 111a050c..60e87b98 100644 --- a/examples/chain_client/authz/1_MsgGrant.py +++ b/examples/chain_client/authz/1_MsgGrant.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") grantee_public_address = os.getenv("INJECTIVE_GRANTEE_PUBLIC_ADDRESS") # select network: local, testnet, mainnet @@ -22,28 +21,37 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # subaccount_id = address.get_subaccount_id(index=0) # market_ids = ["0x0511ddc4e6586f3bfe1acb2dd905f8b8a82c97e1edaef654b12ca7e6031ca0fa"] # prepare tx msg # GENERIC AUTHZ - msg = composer.MsgGrantGeneric( + msg = composer.msg_grant_generic( granter=address.to_acc_bech32(), grantee=grantee_public_address, - msg_type="/injective.exchange.v1beta1.MsgCreateSpotLimitOrder", + msg_type="/injective.exchange.v2.MsgCreateSpotLimitOrder", expire_in=31536000, # 1 year ) # TYPED AUTHZ - # msg = composer.MsgGrantTyped( + # msg = composer.msg_grant_typed( # granter = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", # grantee = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", # msg_type = "CreateSpotLimitOrderAuthz", @@ -52,45 +60,15 @@ async def main() -> None: # market_ids=market_ids # ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/authz/2_MsgExec.py b/examples/chain_client/authz/2_MsgExec.py index 8d9891a5..e32efb4c 100644 --- a/examples/chain_client/authz/2_MsgExec.py +++ b/examples/chain_client/authz/2_MsgExec.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import Address, PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_GRANTEE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_GRANTEE_PRIVATE_KEY") granter_inj_address = os.getenv("INJECTIVE_GRANTER_PUBLIC_ADDRESS") # select network: local, testnet, mainnet @@ -24,13 +23,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_for_grantee_account_using_gas_heuristics( + network=network, + grantee_private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" @@ -38,7 +46,7 @@ async def main() -> None: granter_address = Address.from_acc_bech32(granter_inj_address) granter_subaccount_id = granter_address.get_subaccount_id(index=0) - msg0 = composer.msg_create_spot_limit_order( + message = composer.msg_create_spot_limit_order( sender=granter_inj_address, market_id=market_id, subaccount_id=granter_subaccount_id, @@ -49,55 +57,15 @@ async def main() -> None: cid=str(uuid.uuid4()), ) - msg = composer.MsgExec(grantee=grantee, msgs=[msg0]) - - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msgs = sim_res["result"]["msgResponses"] - data = sim_res_msgs[0] - unpacked_msg_res = composer.unpack_msg_exec_response( - underlying_msg_type=msg0.__class__.__name__, msg_exec_response=data - ) - print("simulation msg response") - print(unpacked_msg_res) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/authz/3_MsgRevoke.py b/examples/chain_client/authz/3_MsgRevoke.py index 91bb192d..83f978ed 100644 --- a/examples/chain_client/authz/3_MsgRevoke.py +++ b/examples/chain_client/authz/3_MsgRevoke.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") grantee_public_address = os.getenv("INJECTIVE_GRANTEE_PUBLIC_ADDRESS") # select network: local, testnet, mainnet @@ -22,60 +21,39 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg - msg = composer.MsgRevoke( + msg = composer.msg_revoke( granter=address.to_acc_bech32(), grantee=grantee_public_address, - msg_type="/injective.exchange.v1beta1.MsgCreateSpotLimitOrder", + msg_type="/injective.exchange.v2.MsgCreateSpotLimitOrder", ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/authz/query/1_Grants.py b/examples/chain_client/authz/query/1_Grants.py index 9ab27f22..abf12e75 100644 --- a/examples/chain_client/authz/query/1_Grants.py +++ b/examples/chain_client/authz/query/1_Grants.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -14,9 +15,9 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - msg_type_url = "/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder" + msg_type_url = "/injective.exchange.v2.MsgCreateDerivativeLimitOrder" authorizations = await client.fetch_grants(granter=granter, grantee=grantee, msg_type_url=msg_type_url) - print(authorizations) + print(json.dumps(authorizations, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/1_MsgSend.py b/examples/chain_client/bank/1_MsgSend.py index 1d926898..6c101a3b 100644 --- a/examples/chain_client/bank/1_MsgSend.py +++ b/examples/chain_client/bank/1_MsgSend.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,61 +20,40 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg - msg = composer.MsgSend( + msg = composer.msg_send( from_address=address.to_acc_bech32(), to_address="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", - amount=0.000000000000000001, - denom="INJ", + amount=100000000000000000, + denom="inj", ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/10_SendEnabled.py b/examples/chain_client/bank/query/10_SendEnabled.py index 03ed41d9..6ae82c71 100644 --- a/examples/chain_client/bank/query/10_SendEnabled.py +++ b/examples/chain_client/bank/query/10_SendEnabled.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network @@ -13,7 +14,7 @@ async def main() -> None: denoms=[denom], pagination=PaginationOption(limit=10), ) - print(enabled) + print(json.dumps(enabled, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/1_BankBalance.py b/examples/chain_client/bank/query/1_BankBalance.py index af17dfac..2163ee1e 100644 --- a/examples/chain_client/bank/query/1_BankBalance.py +++ b/examples/chain_client/bank/query/1_BankBalance.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -10,7 +11,7 @@ async def main() -> None: address = "inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r" denom = "inj" bank_balance = await client.fetch_bank_balance(address=address, denom=denom) - print(bank_balance) + print(json.dumps(bank_balance, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/2_BankBalances.py b/examples/chain_client/bank/query/2_BankBalances.py index 6ead7b13..be03cfc4 100644 --- a/examples/chain_client/bank/query/2_BankBalances.py +++ b/examples/chain_client/bank/query/2_BankBalances.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) address = "inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r" all_bank_balances = await client.fetch_bank_balances(address=address) - print(all_bank_balances) + print(json.dumps(all_bank_balances, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/3_SpendableBalances.py b/examples/chain_client/bank/query/3_SpendableBalances.py index d13836e0..0536d0c2 100644 --- a/examples/chain_client/bank/query/3_SpendableBalances.py +++ b/examples/chain_client/bank/query/3_SpendableBalances.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) address = "inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r" spendable_balances = await client.fetch_spendable_balances(address=address) - print(spendable_balances) + print(json.dumps(spendable_balances, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/4_SpendableBalancesByDenom.py b/examples/chain_client/bank/query/4_SpendableBalancesByDenom.py index 639d7933..d9c5bc1a 100644 --- a/examples/chain_client/bank/query/4_SpendableBalancesByDenom.py +++ b/examples/chain_client/bank/query/4_SpendableBalancesByDenom.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -10,7 +11,7 @@ async def main() -> None: address = "inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r" denom = "inj" spendable_balances = await client.fetch_spendable_balances_by_denom(address=address, denom=denom) - print(spendable_balances) + print(json.dumps(spendable_balances, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/5_TotalSupply.py b/examples/chain_client/bank/query/5_TotalSupply.py index 8156c54b..c55ec15a 100644 --- a/examples/chain_client/bank/query/5_TotalSupply.py +++ b/examples/chain_client/bank/query/5_TotalSupply.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: total_supply = await client.fetch_total_supply( pagination=PaginationOption(limit=10), ) - print(total_supply) + print(json.dumps(total_supply, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/6_SupplyOf.py b/examples/chain_client/bank/query/6_SupplyOf.py index 225b9db7..472c06f2 100644 --- a/examples/chain_client/bank/query/6_SupplyOf.py +++ b/examples/chain_client/bank/query/6_SupplyOf.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -8,7 +9,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) supply_of = await client.fetch_supply_of(denom="inj") - print(supply_of) + print(json.dumps(supply_of, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/7_DenomMetadata.py b/examples/chain_client/bank/query/7_DenomMetadata.py index ff8a9337..76ffb25c 100644 --- a/examples/chain_client/bank/query/7_DenomMetadata.py +++ b/examples/chain_client/bank/query/7_DenomMetadata.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) denom = "factory/inj107aqkjc3t5r3l9j4n9lgrma5tm3jav8qgppz6m/position" metadata = await client.fetch_denom_metadata(denom=denom) - print(metadata) + print(json.dumps(metadata, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/8_DenomsMetadata.py b/examples/chain_client/bank/query/8_DenomsMetadata.py index 26402f49..3a4b16bc 100644 --- a/examples/chain_client/bank/query/8_DenomsMetadata.py +++ b/examples/chain_client/bank/query/8_DenomsMetadata.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: denoms = await client.fetch_denoms_metadata( pagination=PaginationOption(limit=10), ) - print(denoms) + print(json.dumps(denoms, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/bank/query/9_DenomOwners.py b/examples/chain_client/bank/query/9_DenomOwners.py index 3204cc34..a170e7fd 100644 --- a/examples/chain_client/bank/query/9_DenomOwners.py +++ b/examples/chain_client/bank/query/9_DenomOwners.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network @@ -13,7 +14,7 @@ async def main() -> None: denom=denom, pagination=PaginationOption(limit=10), ) - print(owners) + print(json.dumps(owners, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/1_SetWithdrawAddress.py b/examples/chain_client/distribution/1_SetWithdrawAddress.py index b317a998..877091b7 100644 --- a/examples/chain_client/distribution/1_SetWithdrawAddress.py +++ b/examples/chain_client/distribution/1_SetWithdrawAddress.py @@ -1,9 +1,11 @@ import asyncio +import json import os import dotenv -from pyinjective import AsyncClient, PrivateKey +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network @@ -17,9 +19,14 @@ async def main() -> None: client = AsyncClient(network) composer = await client.composer() - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=configured_private_key, + gas_price=gas_price, client=client, composer=composer, ) @@ -39,7 +46,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/2_WithdrawDelegatorReward.py b/examples/chain_client/distribution/2_WithdrawDelegatorReward.py index 02facdc7..64041aaa 100644 --- a/examples/chain_client/distribution/2_WithdrawDelegatorReward.py +++ b/examples/chain_client/distribution/2_WithdrawDelegatorReward.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -18,9 +19,14 @@ async def main() -> None: client = AsyncClient(network) composer = await client.composer() - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=configured_private_key, + gas_price=gas_price, client=client, composer=composer, ) @@ -40,7 +46,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/3_WithdrawValidatorCommission.py b/examples/chain_client/distribution/3_WithdrawValidatorCommission.py index cd351d1f..bd452c57 100644 --- a/examples/chain_client/distribution/3_WithdrawValidatorCommission.py +++ b/examples/chain_client/distribution/3_WithdrawValidatorCommission.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -18,9 +19,14 @@ async def main() -> None: client = AsyncClient(network) composer = await client.composer() - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=configured_private_key, + gas_price=gas_price, client=client, composer=composer, ) @@ -38,7 +44,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/4_FundCommunityPool.py b/examples/chain_client/distribution/4_FundCommunityPool.py index c60475c8..b5d85e5c 100644 --- a/examples/chain_client/distribution/4_FundCommunityPool.py +++ b/examples/chain_client/distribution/4_FundCommunityPool.py @@ -1,10 +1,12 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective import AsyncClient, PrivateKey +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network @@ -18,9 +20,14 @@ async def main() -> None: client = AsyncClient(network) composer = await client.composer() - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=configured_private_key, + gas_price=gas_price, client=client, composer=composer, ) @@ -40,7 +47,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/1_ValidatorDistributionInfo.py b/examples/chain_client/distribution/query/1_ValidatorDistributionInfo.py index 13161630..6be36259 100644 --- a/examples/chain_client/distribution/query/1_ValidatorDistributionInfo.py +++ b/examples/chain_client/distribution/query/1_ValidatorDistributionInfo.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) validator_address = "injvaloper1jue5dpr9lerjn6wlwtrywxrsenrf28ru89z99z" distribution_info = await client.fetch_validator_distribution_info(validator_address=validator_address) - print(distribution_info) + print(json.dumps(distribution_info, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/2_ValidatorOutstandingRewards.py b/examples/chain_client/distribution/query/2_ValidatorOutstandingRewards.py index 31833682..1bd21c12 100644 --- a/examples/chain_client/distribution/query/2_ValidatorOutstandingRewards.py +++ b/examples/chain_client/distribution/query/2_ValidatorOutstandingRewards.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) validator_address = "injvaloper1jue5dpr9lerjn6wlwtrywxrsenrf28ru89z99z" rewards = await client.fetch_validator_outstanding_rewards(validator_address=validator_address) - print(rewards) + print(json.dumps(rewards, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/3_ValidatorCommission.py b/examples/chain_client/distribution/query/3_ValidatorCommission.py index a82e191b..f6054ae0 100644 --- a/examples/chain_client/distribution/query/3_ValidatorCommission.py +++ b/examples/chain_client/distribution/query/3_ValidatorCommission.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) validator_address = "injvaloper1jue5dpr9lerjn6wlwtrywxrsenrf28ru89z99z" commission = await client.fetch_validator_commission(validator_address=validator_address) - print(commission) + print(json.dumps(commission, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/4_ValidatorSlashes.py b/examples/chain_client/distribution/query/4_ValidatorSlashes.py index 08dbfea1..00b7a8e2 100644 --- a/examples/chain_client/distribution/query/4_ValidatorSlashes.py +++ b/examples/chain_client/distribution/query/4_ValidatorSlashes.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network @@ -13,7 +14,7 @@ async def main() -> None: pagination = PaginationOption(limit=limit) validator_address = "injvaloper1jue5dpr9lerjn6wlwtrywxrsenrf28ru89z99z" contracts = await client.fetch_validator_slashes(validator_address=validator_address, pagination=pagination) - print(contracts) + print(json.dumps(contracts, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/5_DelegationRewards.py b/examples/chain_client/distribution/query/5_DelegationRewards.py index da112263..71e36cad 100644 --- a/examples/chain_client/distribution/query/5_DelegationRewards.py +++ b/examples/chain_client/distribution/query/5_DelegationRewards.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -12,7 +13,7 @@ async def main() -> None: rewards = await client.fetch_delegation_rewards( delegator_address=delegator_address, validator_address=validator_address ) - print(rewards) + print(json.dumps(rewards, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/6_DelegationTotalRewards.py b/examples/chain_client/distribution/query/6_DelegationTotalRewards.py index c67dc94f..06d5c84a 100644 --- a/examples/chain_client/distribution/query/6_DelegationTotalRewards.py +++ b/examples/chain_client/distribution/query/6_DelegationTotalRewards.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: rewards = await client.fetch_delegation_total_rewards( delegator_address=delegator_address, ) - print(rewards) + print(json.dumps(rewards, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/7_DelegatorValidators.py b/examples/chain_client/distribution/query/7_DelegatorValidators.py index f03fb8ec..7cf7634e 100644 --- a/examples/chain_client/distribution/query/7_DelegatorValidators.py +++ b/examples/chain_client/distribution/query/7_DelegatorValidators.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: validators = await client.fetch_delegator_validators( delegator_address=delegator_address, ) - print(validators) + print(json.dumps(validators, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/8_DelegatorWithdrawAddress.py b/examples/chain_client/distribution/query/8_DelegatorWithdrawAddress.py index d3c27091..90378bef 100644 --- a/examples/chain_client/distribution/query/8_DelegatorWithdrawAddress.py +++ b/examples/chain_client/distribution/query/8_DelegatorWithdrawAddress.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: withdraw_address = await client.fetch_delegator_withdraw_address( delegator_address=delegator_address, ) - print(withdraw_address) + print(json.dumps(withdraw_address, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/distribution/query/9_CommunityPool.py b/examples/chain_client/distribution/query/9_CommunityPool.py index 7a803d03..f4a14dfd 100644 --- a/examples/chain_client/distribution/query/9_CommunityPool.py +++ b/examples/chain_client/distribution/query/9_CommunityPool.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -8,7 +9,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) community_pool = await client.fetch_community_pool() - print(community_pool) + print(json.dumps(community_pool, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/erc20/1_CreateTokenPair.py b/examples/chain_client/erc20/1_CreateTokenPair.py new file mode 100644 index 00000000..5fe3c00f --- /dev/null +++ b/examples/chain_client/erc20/1_CreateTokenPair.py @@ -0,0 +1,64 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + usdt_denom = "factory/inj10vkkttgxdeqcgeppu20x9qtyvuaxxev8qh0awq/usdt" + usdt_erc20 = "0xdAC17F958D2ee523a2206206994597C13D831ec7" + + # prepare tx msg + msg = composer.msg_create_token_pair( + sender=address.to_acc_bech32(), + bank_denom=usdt_denom, + erc20_address=usdt_erc20, + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/erc20/2_DeleteTokenPair.py b/examples/chain_client/erc20/2_DeleteTokenPair.py new file mode 100644 index 00000000..b4fd73da --- /dev/null +++ b/examples/chain_client/erc20/2_DeleteTokenPair.py @@ -0,0 +1,62 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + usdt_denom = "factory/inj10vkkttgxdeqcgeppu20x9qtyvuaxxev8qh0awq/usdt" + + # prepare tx msg + msg = composer.msg_delete_token_pair( + sender=address.to_acc_bech32(), + bank_denom=usdt_denom, + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/erc20/query/1_AllTokenPairs.py b/examples/chain_client/erc20/query/1_AllTokenPairs.py new file mode 100644 index 00000000..34f2cd90 --- /dev/null +++ b/examples/chain_client/erc20/query/1_AllTokenPairs.py @@ -0,0 +1,39 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + pairs = await client.fetch_erc20_all_token_pairs( + pagination=PaginationOption( + skip=0, + limit=100, + ), + ) + print(json.dumps(pairs, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/erc20/query/2_TokenPairByDenom.py b/examples/chain_client/erc20/query/2_TokenPairByDenom.py new file mode 100644 index 00000000..fa52bb0d --- /dev/null +++ b/examples/chain_client/erc20/query/2_TokenPairByDenom.py @@ -0,0 +1,33 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + result = await client.fetch_erc20_token_pair_by_denom(bank_denom="usdt") + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/erc20/query/3_TokenPairByERC20Address.py b/examples/chain_client/erc20/query/3_TokenPairByERC20Address.py new file mode 100644 index 00000000..d67db422 --- /dev/null +++ b/examples/chain_client/erc20/query/3_TokenPairByERC20Address.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + erc20_address = "0xdAC17F958D2ee523a2206206994597C13D831ec7" + result = await client.fetch_erc20_token_pair_by_erc20_address(erc20_address=erc20_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/1_Account.py b/examples/chain_client/evm/query/1_Account.py new file mode 100644 index 00000000..76917ed2 --- /dev/null +++ b/examples/chain_client/evm/query/1_Account.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + erc20_address = "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d" + result = await client.fetch_evm_account(address=erc20_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/2_CosmosAccount.py b/examples/chain_client/evm/query/2_CosmosAccount.py new file mode 100644 index 00000000..a062d756 --- /dev/null +++ b/examples/chain_client/evm/query/2_CosmosAccount.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + erc20_address = "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d" + result = await client.fetch_evm_cosmos_account(address=erc20_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/3_ValidatorAccount.py b/examples/chain_client/evm/query/3_ValidatorAccount.py new file mode 100644 index 00000000..57d2271c --- /dev/null +++ b/examples/chain_client/evm/query/3_ValidatorAccount.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + cons_address = "injvalcons1h5u937etuat5hnr2s34yaaalfpkkscl5ndadqm" + result = await client.fetch_evm_validator_account(cons_address=cons_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/4_Balance.py b/examples/chain_client/evm/query/4_Balance.py new file mode 100644 index 00000000..32c072c7 --- /dev/null +++ b/examples/chain_client/evm/query/4_Balance.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + erc20_address = "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d" + result = await client.fetch_evm_balance(address=erc20_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/5_Storage.py b/examples/chain_client/evm/query/5_Storage.py new file mode 100644 index 00000000..48021968 --- /dev/null +++ b/examples/chain_client/evm/query/5_Storage.py @@ -0,0 +1,35 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + erc20_address = "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d" + key = "key" + result = await client.fetch_evm_storage(address=erc20_address, key=key) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/6_Code.py b/examples/chain_client/evm/query/6_Code.py new file mode 100644 index 00000000..43d08667 --- /dev/null +++ b/examples/chain_client/evm/query/6_Code.py @@ -0,0 +1,34 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + evm_address = "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d" + result = await client.fetch_evm_code(address=evm_address) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/evm/query/7_BaseFee.py b/examples/chain_client/evm/query/7_BaseFee.py new file mode 100644 index 00000000..67dcfee4 --- /dev/null +++ b/examples/chain_client/evm/query/7_BaseFee.py @@ -0,0 +1,33 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + result = await client.fetch_evm_base_fee() + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/10_MsgCreateDerivativeLimitOrder.py b/examples/chain_client/exchange/10_MsgCreateDerivativeLimitOrder.py index 4e0ff327..6eae2e4f 100644 --- a/examples/chain_client/exchange/10_MsgCreateDerivativeLimitOrder.py +++ b/examples/chain_client/exchange/10_MsgCreateDerivativeLimitOrder.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -42,59 +50,22 @@ async def main() -> None: market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(50000), - quantity=Decimal(0.1), - margin=composer.calculate_margin( - quantity=Decimal(0.1), price=Decimal(50000), leverage=Decimal(1), is_reduce_only=False - ), + price=Decimal("50000"), + quantity=Decimal("0.1"), + margin=Decimal("5000"), order_type="SELL", cid=str(uuid.uuid4()), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/11_MsgCreateDerivativeMarketOrder.py b/examples/chain_client/exchange/11_MsgCreateDerivativeMarketOrder.py index 7b561970..900a75d2 100644 --- a/examples/chain_client/exchange/11_MsgCreateDerivativeMarketOrder.py +++ b/examples/chain_client/exchange/11_MsgCreateDerivativeMarketOrder.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -42,59 +50,22 @@ async def main() -> None: market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(50000), - quantity=Decimal(0.1), - margin=composer.calculate_margin( - quantity=Decimal(0.1), price=Decimal(50000), leverage=Decimal(1), is_reduce_only=False - ), + price=Decimal("50000"), + quantity=Decimal("0.1"), + margin=Decimal("5000"), order_type="BUY", cid=str(uuid.uuid4()), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/12_MsgCancelDerivativeOrder.py b/examples/chain_client/exchange/12_MsgCancelDerivativeOrder.py index 20be2bd0..7ff56a05 100644 --- a/examples/chain_client/exchange/12_MsgCancelDerivativeOrder.py +++ b/examples/chain_client/exchange/12_MsgCancelDerivativeOrder.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -36,48 +44,24 @@ async def main() -> None: # prepare tx msg msg = composer.msg_cancel_derivative_order( - sender=address.to_acc_bech32(), market_id=market_id, subaccount_id=subaccount_id, order_hash=order_hash + sender=address.to_acc_bech32(), + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + is_buy=True, + is_market_order=False, + is_conditional=False, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/13_MsgInstantBinaryOptionsMarketLaunch.py b/examples/chain_client/exchange/13_MsgInstantBinaryOptionsMarketLaunch.py index c5786e8a..2328caf4 100644 --- a/examples/chain_client/exchange/13_MsgInstantBinaryOptionsMarketLaunch.py +++ b/examples/chain_client/exchange/13_MsgInstantBinaryOptionsMarketLaunch.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -20,11 +21,17 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -40,7 +47,7 @@ async def main() -> None: oracle_symbol="UFC-KHABIB-TKO-05/30/2023", oracle_provider="UFC", oracle_type="Provider", - oracle_scale_factor=6, + oracle_scale_factor=0, maker_fee_rate=Decimal("0.0005"), # 0.05% taker_fee_rate=Decimal("0.0010"), # 0.10% expiration_timestamp=1680730982, @@ -50,12 +57,18 @@ async def main() -> None: min_price_tick_size=Decimal("0.01"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + open_notional_cap=composer.uncapped_open_notional_cap(), ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/14_MsgCreateBinaryOptionsLimitOrder.py b/examples/chain_client/exchange/14_MsgCreateBinaryOptionsLimitOrder.py index c15711b2..9532d3bb 100644 --- a/examples/chain_client/exchange/14_MsgCreateBinaryOptionsLimitOrder.py +++ b/examples/chain_client/exchange/14_MsgCreateBinaryOptionsLimitOrder.py @@ -1,22 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction -from pyinjective.utils.denom import Denom from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -24,29 +22,28 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" - # set custom denom to bypass ini file load (optional) - denom = Denom( - description="desc", - base=0, - quote=6, - min_price_tick_size=1000, - min_quantity_tick_size=0.0001, - min_notional=0, - ) - # prepare tx msg msg = composer.msg_create_binary_options_limit_order( sender=address.to_acc_bech32(), @@ -58,53 +55,17 @@ async def main() -> None: margin=Decimal("0.5"), order_type="BUY", cid=str(uuid.uuid4()), - denom=denom, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/15_MsgCreateBinaryOptionsMarketOrder.py b/examples/chain_client/exchange/15_MsgCreateBinaryOptionsMarketOrder.py index 9b68bc85..631f4d27 100644 --- a/examples/chain_client/exchange/15_MsgCreateBinaryOptionsMarketOrder.py +++ b/examples/chain_client/exchange/15_MsgCreateBinaryOptionsMarketOrder.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -43,56 +51,20 @@ async def main() -> None: subaccount_id=subaccount_id, fee_recipient=fee_recipient, price=Decimal("0.5"), - quantity=Decimal(1), - margin=composer.calculate_margin( - quantity=Decimal(1), price=Decimal("0.5"), leverage=Decimal(1), is_reduce_only=False - ), + quantity=Decimal("1"), + margin=Decimal("0.5"), cid=str(uuid.uuid4()), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/16_MsgCancelBinaryOptionsOrder.py b/examples/chain_client/exchange/16_MsgCancelBinaryOptionsOrder.py index 582c6dc6..5ba84019 100644 --- a/examples/chain_client/exchange/16_MsgCancelBinaryOptionsOrder.py +++ b/examples/chain_client/exchange/16_MsgCancelBinaryOptionsOrder.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -36,52 +44,24 @@ async def main() -> None: # prepare tx msg msg = composer.msg_cancel_binary_options_order( - sender=address.to_acc_bech32(), market_id=market_id, subaccount_id=subaccount_id, order_hash=order_hash - ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) + sender=address.to_acc_bech32(), + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + is_buy=True, + is_market_order=False, + is_conditional=False, ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/17_MsgSubaccountTransfer.py b/examples/chain_client/exchange/17_MsgSubaccountTransfer.py index a50fc0cf..25ee7ebd 100644 --- a/examples/chain_client/exchange/17_MsgSubaccountTransfer.py +++ b/examples/chain_client/exchange/17_MsgSubaccountTransfer.py @@ -1,20 +1,18 @@ import asyncio +import json import os -from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) dest_subaccount_id = address.get_subaccount_id(index=1) @@ -37,49 +44,19 @@ async def main() -> None: sender=address.to_acc_bech32(), source_subaccount_id=subaccount_id, destination_subaccount_id=dest_subaccount_id, - amount=Decimal(100), - denom="INJ", + amount=100, + denom="inj", ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/18_MsgExternalTransfer.py b/examples/chain_client/exchange/18_MsgExternalTransfer.py index 2bcc86a1..e0edc731 100644 --- a/examples/chain_client/exchange/18_MsgExternalTransfer.py +++ b/examples/chain_client/exchange/18_MsgExternalTransfer.py @@ -1,20 +1,18 @@ import asyncio +import json import os -from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) dest_subaccount_id = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" @@ -37,49 +44,19 @@ async def main() -> None: sender=address.to_acc_bech32(), source_subaccount_id=subaccount_id, destination_subaccount_id=dest_subaccount_id, - amount=Decimal(100), - denom="INJ", + amount=100, + denom="inj", ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/19_MsgLiquidatePosition.py b/examples/chain_client/exchange/19_MsgLiquidatePosition.py index 9788b865..daa8e7fd 100644 --- a/examples/chain_client/exchange/19_MsgLiquidatePosition.py +++ b/examples/chain_client/exchange/19_MsgLiquidatePosition.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -41,11 +49,9 @@ async def main() -> None: market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(39.01), # This should be the liquidation price - quantity=Decimal(0.147), - margin=composer.calculate_margin( - quantity=Decimal(0.147), price=Decimal(39.01), leverage=Decimal(1), is_reduce_only=False - ), + price=Decimal("39.01"), # This should be the liquidation price + quantity=Decimal("0.147"), + margin=Decimal("5.73447"), order_type="SELL", cid=cid, ) @@ -58,51 +64,15 @@ async def main() -> None: order=order, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) - print(f"\n\ncid: {cid}") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/1_MsgDeposit.py b/examples/chain_client/exchange/1_MsgDeposit.py index bbf64710..a01a9717 100644 --- a/examples/chain_client/exchange/1_MsgDeposit.py +++ b/examples/chain_client/exchange/1_MsgDeposit.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,59 +20,36 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare tx msg - msg = composer.msg_deposit( - sender=address.to_acc_bech32(), subaccount_id=subaccount_id, amount=0.000001, denom="INJ" - ) - - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return + msg = composer.msg_deposit(sender=address.to_acc_bech32(), subaccount_id=subaccount_id, amount=1, denom="inj") - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/20_MsgIncreasePositionMargin.py b/examples/chain_client/exchange/20_MsgIncreasePositionMargin.py index 276276e7..ced48798 100644 --- a/examples/chain_client/exchange/20_MsgIncreasePositionMargin.py +++ b/examples/chain_client/exchange/20_MsgIncreasePositionMargin.py @@ -1,20 +1,19 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,13 +21,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -40,48 +48,18 @@ async def main() -> None: market_id=market_id, source_subaccount_id=subaccount_id, destination_subaccount_id=subaccount_id, - amount=Decimal(2), + amount=Decimal("2"), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/21_MsgRewardsOptOut.py b/examples/chain_client/exchange/21_MsgRewardsOptOut.py index 2306b541..3d7f1772 100644 --- a/examples/chain_client/exchange/21_MsgRewardsOptOut.py +++ b/examples/chain_client/exchange/21_MsgRewardsOptOut.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,56 +20,35 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg msg = composer.msg_rewards_opt_out(sender=address.to_acc_bech32()) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/22_MsgAdminUpdateBinaryOptionsMarket.py b/examples/chain_client/exchange/22_MsgAdminUpdateBinaryOptionsMarket.py index b638b28a..57dedfcc 100644 --- a/examples/chain_client/exchange/22_MsgAdminUpdateBinaryOptionsMarket.py +++ b/examples/chain_client/exchange/22_MsgAdminUpdateBinaryOptionsMarket.py @@ -1,20 +1,19 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,18 +21,27 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare trade info market_id = "0xfafec40a7b93331c1fc89c23f66d11fbb48f38dfdd78f7f4fc4031fad90f6896" status = "Demolished" - settlement_price = Decimal(1) + settlement_price = Decimal("1") expiration_timestamp = 1685460582 settlement_timestamp = 1690730982 @@ -47,50 +55,15 @@ async def main() -> None: status=status, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/23_MsgDecreasePositionMargin.py b/examples/chain_client/exchange/23_MsgDecreasePositionMargin.py index 5914063d..773bf023 100644 --- a/examples/chain_client/exchange/23_MsgDecreasePositionMargin.py +++ b/examples/chain_client/exchange/23_MsgDecreasePositionMargin.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -20,11 +21,17 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -43,13 +50,18 @@ async def main() -> None: market_id=market_id, source_subaccount_id=subaccount_id, destination_subaccount_id=subaccount_id, - amount=Decimal(2), + amount=Decimal("2"), ) # broadcast the transaction result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/24_MsgUpdateSpotMarket.py b/examples/chain_client/exchange/24_MsgUpdateSpotMarket.py index 67d73a4d..4bdcbf14 100644 --- a/examples/chain_client/exchange/24_MsgUpdateSpotMarket.py +++ b/examples/chain_client/exchange/24_MsgUpdateSpotMarket.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -47,7 +54,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/25_MsgUpdateDerivativeMarket.py b/examples/chain_client/exchange/25_MsgUpdateDerivativeMarket.py index da2aa593..23a73618 100644 --- a/examples/chain_client/exchange/25_MsgUpdateDerivativeMarket.py +++ b/examples/chain_client/exchange/25_MsgUpdateDerivativeMarket.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -44,12 +51,20 @@ async def main() -> None: new_min_notional=Decimal("2"), new_initial_margin_ratio=Decimal("0.40"), new_maintenance_margin_ratio=Decimal("0.085"), + new_reduce_margin_ratio=Decimal("3.5"), + new_open_notional_cap=composer.uncapped_open_notional_cap(), + cross_margin_eligibility=composer.CROSS_MARGIN_ELIGIBILITY.CM_ELIGIBILITY_INELIGIBLE, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/26_MsgAuthorizeStakeGrants.py b/examples/chain_client/exchange/26_MsgAuthorizeStakeGrants.py index 91d52808..778344e9 100644 --- a/examples/chain_client/exchange/26_MsgAuthorizeStakeGrants.py +++ b/examples/chain_client/exchange/26_MsgAuthorizeStakeGrants.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -44,7 +51,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/27_MsgActivateStakeGrant.py b/examples/chain_client/exchange/27_MsgActivateStakeGrant.py index c0ca5d3b..24584c33 100644 --- a/examples/chain_client/exchange/27_MsgActivateStakeGrant.py +++ b/examples/chain_client/exchange/27_MsgActivateStakeGrant.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -20,11 +21,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -41,7 +48,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/28_MsgCreateGTBSpotLimitOrder.py b/examples/chain_client/exchange/28_MsgCreateGTBSpotLimitOrder.py new file mode 100644 index 00000000..ddaaa2ca --- /dev/null +++ b/examples/chain_client/exchange/28_MsgCreateGTBSpotLimitOrder.py @@ -0,0 +1,78 @@ +import asyncio +import json +import os +import uuid +from decimal import Decimal + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + subaccount_id = address.get_subaccount_id(index=0) + + latest_block = await client.fetch_latest_block() + latest_height = int(latest_block["block"]["header"]["height"]) + + # prepare trade info + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + cid = str(uuid.uuid4()) + + # prepare tx msg + msg = composer.msg_create_spot_limit_order( + sender=address.to_acc_bech32(), + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY", + cid=cid, + expiration_block=latest_height + 10, + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/29_MsgCreateGTBDerivativeLimitOrder.py b/examples/chain_client/exchange/29_MsgCreateGTBDerivativeLimitOrder.py new file mode 100644 index 00000000..68390388 --- /dev/null +++ b/examples/chain_client/exchange/29_MsgCreateGTBDerivativeLimitOrder.py @@ -0,0 +1,78 @@ +import asyncio +import json +import os +import uuid +from decimal import Decimal + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + subaccount_id = address.get_subaccount_id(index=0) + + latest_block = await client.fetch_latest_block() + latest_height = int(latest_block["block"]["header"]["height"]) + + # prepare trade info + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + # prepare tx msg + msg = composer.msg_create_derivative_limit_order( + sender=address.to_acc_bech32(), + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=Decimal("50000"), + quantity=Decimal("0.1"), + margin=Decimal("5000"), + order_type="SELL", + cid=str(uuid.uuid4()), + expiration_block=latest_height + 10, + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/2_MsgWithdraw.py b/examples/chain_client/exchange/2_MsgWithdraw.py index 1070d28c..4372a124 100644 --- a/examples/chain_client/exchange/2_MsgWithdraw.py +++ b/examples/chain_client/exchange/2_MsgWithdraw.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,57 +20,37 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) + denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" # prepare tx msg - msg = composer.msg_withdraw(sender=address.to_acc_bech32(), subaccount_id=subaccount_id, amount=1, denom="USDT") - - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return + msg = composer.msg_withdraw(sender=address.to_acc_bech32(), subaccount_id=subaccount_id, amount=1, denom=denom) - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/30_MsgOffsetPosition.py b/examples/chain_client/exchange/30_MsgOffsetPosition.py new file mode 100644 index 00000000..2f98c6af --- /dev/null +++ b/examples/chain_client/exchange/30_MsgOffsetPosition.py @@ -0,0 +1,68 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + await client.initialize_tokens_from_chain_denoms() + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + # load account + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + await client.fetch_account(address.to_acc_bech32()) + + offsetting_subaccount_ids = { + "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000", + "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", + } + + # prepare tx msg + message = composer.msg_offset_position( + sender=address.to_acc_bech32(), + subaccount_id=address.get_subaccount_id(index=0), + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + offsetting_subaccount_ids=offsetting_subaccount_ids, + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/31_MsgBatchLiquidatePositions.py b/examples/chain_client/exchange/31_MsgBatchLiquidatePositions.py new file mode 100644 index 00000000..5c4fa7c5 --- /dev/null +++ b/examples/chain_client/exchange/31_MsgBatchLiquidatePositions.py @@ -0,0 +1,87 @@ +import asyncio +import json +import os +import uuid +from decimal import Decimal + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + subaccount_id = address.get_subaccount_id(index=0) + + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + cid = str(uuid.uuid4()) + + order = composer.derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=Decimal("39.01"), # This should be the liquidation price + quantity=Decimal("0.147"), + margin=Decimal("5.73447"), + order_type="SELL", + cid=cid, + ) + + # Build individual liquidation entries; order is optional per-entry + liquidation_with_order = composer.liquidate_position_data( + subaccount_id="0x156df4d5bc8e7dd9191433e54bd6a11eeb390921000000000000000000000000", + market_id=market_id, + order=order, + ) + liquidation_without_order = composer.liquidate_position_data( + subaccount_id="0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1000000000000000000000000", + market_id=market_id, + ) + + # prepare tx msg + msg = composer.msg_batch_liquidate_positions( + sender=address.to_acc_bech32(), + liquidations=[liquidation_with_order, liquidation_without_order], + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py index fe7c5ad4..9aa7cf9a 100644 --- a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py +++ b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -38,17 +45,24 @@ async def main() -> None: message = composer.msg_instant_spot_market_launch( sender=address.to_acc_bech32(), ticker="INJ/USDC", - base_denom="INJ", - quote_denom="USDC", + base_denom="inj", + quote_denom="factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc", min_price_tick_size=Decimal("0.001"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + base_decimals=18, + quote_decimals=6, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/4_MsgInstantPerpetualMarketLaunch.py b/examples/chain_client/exchange/4_MsgInstantPerpetualMarketLaunch.py index 1cda2f20..ea57819d 100644 --- a/examples/chain_client/exchange/4_MsgInstantPerpetualMarketLaunch.py +++ b/examples/chain_client/exchange/4_MsgInstantPerpetualMarketLaunch.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -35,27 +42,35 @@ async def main() -> None: await client.fetch_account(address.to_acc_bech32()) # prepare tx msg - message = composer.msg_instant_perpetual_market_launch( + message = composer.msg_instant_perpetual_market_launch_v2( sender=address.to_acc_bech32(), ticker="INJ/USDC PERP", - quote_denom="USDC", + quote_denom="factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc", oracle_base="INJ", oracle_quote="USDC", - oracle_scale_factor=6, + oracle_scale_factor=0, oracle_type="Band", maker_fee_rate=Decimal("-0.0001"), taker_fee_rate=Decimal("0.001"), initial_margin_ratio=Decimal("0.33"), maintenance_margin_ratio=Decimal("0.095"), + reduce_margin_ratio=Decimal("3"), min_price_tick_size=Decimal("0.001"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + open_notional_cap=composer.uncapped_open_notional_cap(), + cross_margin_eligible=False, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/5_MsgInstantExpiryFuturesMarketLaunch.py b/examples/chain_client/exchange/5_MsgInstantExpiryFuturesMarketLaunch.py index 78d25d6c..52ec10eb 100644 --- a/examples/chain_client/exchange/5_MsgInstantExpiryFuturesMarketLaunch.py +++ b/examples/chain_client/exchange/5_MsgInstantExpiryFuturesMarketLaunch.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,11 +22,17 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, ) # load account @@ -35,28 +42,36 @@ async def main() -> None: await client.fetch_account(address.to_acc_bech32()) # prepare tx msg - message = composer.msg_instant_expiry_futures_market_launch( + message = composer.msg_instant_expiry_futures_market_launch_v2( sender=address.to_acc_bech32(), ticker="INJ/USDC FUT", - quote_denom="USDC", + quote_denom="factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc", oracle_base="INJ", oracle_quote="USDC", - oracle_scale_factor=6, + oracle_scale_factor=0, oracle_type="Band", expiry=2000000000, maker_fee_rate=Decimal("-0.0001"), taker_fee_rate=Decimal("0.001"), initial_margin_ratio=Decimal("0.33"), maintenance_margin_ratio=Decimal("0.095"), + reduce_margin_ratio=Decimal("3"), min_price_tick_size=Decimal("0.001"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + open_notional_cap=composer.uncapped_open_notional_cap(), + cross_margin_eligible=False, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/6_MsgCreateSpotLimitOrder.py b/examples/chain_client/exchange/6_MsgCreateSpotLimitOrder.py index 5b3b966a..afc984ce 100644 --- a/examples/chain_client/exchange/6_MsgCreateSpotLimitOrder.py +++ b/examples/chain_client/exchange/6_MsgCreateSpotLimitOrder.py @@ -1,15 +1,14 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey @@ -23,7 +22,18 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=configured_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) # load account priv_key = PrivateKey.from_hex(configured_private_key) @@ -49,51 +59,15 @@ async def main() -> None: cid=cid, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) - print(f"\n\ncid: {cid}") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/7_MsgCreateSpotMarketOrder.py b/examples/chain_client/exchange/7_MsgCreateSpotMarketOrder.py index 36ea27de..f95d55d6 100644 --- a/examples/chain_client/exchange/7_MsgCreateSpotMarketOrder.py +++ b/examples/chain_client/exchange/7_MsgCreateSpotMarketOrder.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -48,50 +56,15 @@ async def main() -> None: cid=str(uuid.uuid4()), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/8_MsgCancelSpotOrder.py b/examples/chain_client/exchange/8_MsgCancelSpotOrder.py index 4bcedda8..66a31fb3 100644 --- a/examples/chain_client/exchange/8_MsgCancelSpotOrder.py +++ b/examples/chain_client/exchange/8_MsgCancelSpotOrder.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -39,45 +47,15 @@ async def main() -> None: sender=address.to_acc_bech32(), market_id=market_id, subaccount_id=subaccount_id, order_hash=order_hash ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/9_MsgBatchUpdateOrders.py b/examples/chain_client/exchange/9_MsgBatchUpdateOrders.py index ac490216..9774c404 100644 --- a/examples/chain_client/exchange/9_MsgBatchUpdateOrders.py +++ b/examples/chain_client/exchange/9_MsgBatchUpdateOrders.py @@ -1,21 +1,20 @@ import asyncio +import json import os import uuid from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -23,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) subaccount_id = address.get_subaccount_id(index=0) # prepare trade info @@ -44,12 +52,12 @@ async def main() -> None: spot_market_id_cancel_2 = "0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0" derivative_orders_to_cancel = [ - composer.order_data( + composer.create_order_data_without_mask( market_id=derivative_market_id_cancel, subaccount_id=subaccount_id, order_hash="0x48690013c382d5dbaff9989db04629a16a5818d7524e027d517ccc89fd068103", ), - composer.order_data( + composer.create_order_data_without_mask( market_id=derivative_market_id_cancel_2, subaccount_id=subaccount_id, order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -57,12 +65,12 @@ async def main() -> None: ] spot_orders_to_cancel = [ - composer.order_data( + composer.create_order_data_without_mask( market_id=spot_market_id_cancel, subaccount_id=subaccount_id, cid="0e5c3ad5-2cc4-4a2a-bbe5-b12697739163", ), - composer.order_data( + composer.create_order_data_without_mask( market_id=spot_market_id_cancel_2, subaccount_id=subaccount_id, order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", @@ -74,11 +82,9 @@ async def main() -> None: market_id=derivative_market_id_create, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(25000), - quantity=Decimal(0.1), - margin=composer.calculate_margin( - quantity=Decimal(0.1), price=Decimal(25000), leverage=Decimal(1), is_reduce_only=False - ), + price=Decimal("25000"), + quantity=Decimal("0.1"), + margin=Decimal("2500"), order_type="BUY", cid=str(uuid.uuid4()), ), @@ -86,16 +92,27 @@ async def main() -> None: market_id=derivative_market_id_create, subaccount_id=subaccount_id, fee_recipient=fee_recipient, - price=Decimal(50000), - quantity=Decimal(0.01), - margin=composer.calculate_margin( - quantity=Decimal(0.01), price=Decimal(50000), leverage=Decimal(1), is_reduce_only=False - ), + price=Decimal("50000"), + quantity=Decimal("0.01"), + margin=Decimal("500"), order_type="SELL", cid=str(uuid.uuid4()), ), ] + derivative_market_orders_to_create = [ + composer.derivative_order( + market_id=derivative_market_id_create, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=Decimal("25100"), + quantity=Decimal("0.1"), + margin=Decimal("2510"), + order_type="BUY", + cid=str(uuid.uuid4()), + ), + ] + spot_orders_to_create = [ composer.spot_order( market_id=spot_market_id_create, @@ -117,6 +134,18 @@ async def main() -> None: ), ] + spot_market_orders_to_create = [ + composer.spot_order( + market_id=spot_market_id_create, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=Decimal("3.5"), + quantity=Decimal("1"), + order_type="BUY", + cid=str(uuid.uuid4()), + ), + ] + # prepare tx msg msg = composer.msg_batch_update_orders( sender=address.to_acc_bech32(), @@ -124,52 +153,19 @@ async def main() -> None: spot_orders_to_create=spot_orders_to_create, derivative_orders_to_cancel=derivative_orders_to_cancel, spot_orders_to_cancel=spot_orders_to_cancel, + spot_market_orders_to_create=spot_market_orders_to_create, + derivative_market_orders_to_create=derivative_market_orders_to_create, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/10_SpotMarkets.py b/examples/chain_client/exchange/query/10_SpotMarkets.py index 4cedc9d7..71345caf 100644 --- a/examples/chain_client/exchange/query/10_SpotMarkets.py +++ b/examples/chain_client/exchange/query/10_SpotMarkets.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/11_SpotMarket.py b/examples/chain_client/exchange/query/11_SpotMarket.py index 0e774edf..7eb4ea8f 100644 --- a/examples/chain_client/exchange/query/11_SpotMarket.py +++ b/examples/chain_client/exchange/query/11_SpotMarket.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/12_FullSpotMarkets.py b/examples/chain_client/exchange/query/12_FullSpotMarkets.py index cfefee28..72ffecd0 100644 --- a/examples/chain_client/exchange/query/12_FullSpotMarkets.py +++ b/examples/chain_client/exchange/query/12_FullSpotMarkets.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/13_FullSpotMarket.py b/examples/chain_client/exchange/query/13_FullSpotMarket.py index 6a39269d..9b0f6754 100644 --- a/examples/chain_client/exchange/query/13_FullSpotMarket.py +++ b/examples/chain_client/exchange/query/13_FullSpotMarket.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/14_SpotOrderbook.py b/examples/chain_client/exchange/query/14_SpotOrderbook.py index 7b5a9aa1..120cae52 100644 --- a/examples/chain_client/exchange/query/14_SpotOrderbook.py +++ b/examples/chain_client/exchange/query/14_SpotOrderbook.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/15_TraderSpotOrders.py b/examples/chain_client/exchange/query/15_TraderSpotOrders.py index 0cc96b6f..e7c658cd 100644 --- a/examples/chain_client/exchange/query/15_TraderSpotOrders.py +++ b/examples/chain_client/exchange/query/15_TraderSpotOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/16_AccountAddressSpotOrders.py b/examples/chain_client/exchange/query/16_AccountAddressSpotOrders.py index 8e50fa95..9b380098 100644 --- a/examples/chain_client/exchange/query/16_AccountAddressSpotOrders.py +++ b/examples/chain_client/exchange/query/16_AccountAddressSpotOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/17_SpotOrdersByHashes.py b/examples/chain_client/exchange/query/17_SpotOrdersByHashes.py index 641eb6f5..cfc1151a 100644 --- a/examples/chain_client/exchange/query/17_SpotOrdersByHashes.py +++ b/examples/chain_client/exchange/query/17_SpotOrdersByHashes.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/18_SubaccountOrders.py b/examples/chain_client/exchange/query/18_SubaccountOrders.py index 4983f827..d2f1b043 100644 --- a/examples/chain_client/exchange/query/18_SubaccountOrders.py +++ b/examples/chain_client/exchange/query/18_SubaccountOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/19_TraderSpotTransientOrders.py b/examples/chain_client/exchange/query/19_TraderSpotTransientOrders.py index 2b29c2c0..f60a8d28 100644 --- a/examples/chain_client/exchange/query/19_TraderSpotTransientOrders.py +++ b/examples/chain_client/exchange/query/19_TraderSpotTransientOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/1_SubaccountDeposits.py b/examples/chain_client/exchange/query/1_SubaccountDeposits.py index f9afb8ae..24a0f362 100644 --- a/examples/chain_client/exchange/query/1_SubaccountDeposits.py +++ b/examples/chain_client/exchange/query/1_SubaccountDeposits.py @@ -1,10 +1,11 @@ import asyncio +import json import os import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -27,7 +28,7 @@ async def main() -> None: subaccount_id = address.get_subaccount_id(index=0) deposits = await client.fetch_subaccount_deposits(subaccount_id=subaccount_id) - print(deposits) + print(json.dumps(deposits, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/20_SpotMidPriceAndTOB.py b/examples/chain_client/exchange/query/20_SpotMidPriceAndTOB.py index 35493ffd..1fe29a87 100644 --- a/examples/chain_client/exchange/query/20_SpotMidPriceAndTOB.py +++ b/examples/chain_client/exchange/query/20_SpotMidPriceAndTOB.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/21_DerivativeMidPriceAndTOB.py b/examples/chain_client/exchange/query/21_DerivativeMidPriceAndTOB.py index 5b5c5fff..b2057f04 100644 --- a/examples/chain_client/exchange/query/21_DerivativeMidPriceAndTOB.py +++ b/examples/chain_client/exchange/query/21_DerivativeMidPriceAndTOB.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/22_DerivativeOrderbook.py b/examples/chain_client/exchange/query/22_DerivativeOrderbook.py index 465a62b6..3eb40c1e 100644 --- a/examples/chain_client/exchange/query/22_DerivativeOrderbook.py +++ b/examples/chain_client/exchange/query/22_DerivativeOrderbook.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/23_TraderDerivativeOrders.py b/examples/chain_client/exchange/query/23_TraderDerivativeOrders.py index 244a61b4..6075eeec 100644 --- a/examples/chain_client/exchange/query/23_TraderDerivativeOrders.py +++ b/examples/chain_client/exchange/query/23_TraderDerivativeOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/24_AccountAddressDerivativeOrders.py b/examples/chain_client/exchange/query/24_AccountAddressDerivativeOrders.py index 2ecc6e2d..ed4dfeb3 100644 --- a/examples/chain_client/exchange/query/24_AccountAddressDerivativeOrders.py +++ b/examples/chain_client/exchange/query/24_AccountAddressDerivativeOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/25_DerivativeOrdersByHashes.py b/examples/chain_client/exchange/query/25_DerivativeOrdersByHashes.py index 825f5523..74bacf00 100644 --- a/examples/chain_client/exchange/query/25_DerivativeOrdersByHashes.py +++ b/examples/chain_client/exchange/query/25_DerivativeOrdersByHashes.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/26_TraderDerivativeTransientOrders.py b/examples/chain_client/exchange/query/26_TraderDerivativeTransientOrders.py index c5548d59..65ecd7df 100644 --- a/examples/chain_client/exchange/query/26_TraderDerivativeTransientOrders.py +++ b/examples/chain_client/exchange/query/26_TraderDerivativeTransientOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/27_DerivativeMarkets.py b/examples/chain_client/exchange/query/27_DerivativeMarkets.py index 2f4bbc5a..e51f619a 100644 --- a/examples/chain_client/exchange/query/27_DerivativeMarkets.py +++ b/examples/chain_client/exchange/query/27_DerivativeMarkets.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/28_DerivativeMarket.py b/examples/chain_client/exchange/query/28_DerivativeMarket.py index 152381f5..168cc169 100644 --- a/examples/chain_client/exchange/query/28_DerivativeMarket.py +++ b/examples/chain_client/exchange/query/28_DerivativeMarket.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/29_DerivativeMarketAddress.py b/examples/chain_client/exchange/query/29_DerivativeMarketAddress.py index c2d88805..ef97f9a8 100644 --- a/examples/chain_client/exchange/query/29_DerivativeMarketAddress.py +++ b/examples/chain_client/exchange/query/29_DerivativeMarketAddress.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/2_SubaccountDeposit.py b/examples/chain_client/exchange/query/2_SubaccountDeposit.py index 5002397d..274d393b 100644 --- a/examples/chain_client/exchange/query/2_SubaccountDeposit.py +++ b/examples/chain_client/exchange/query/2_SubaccountDeposit.py @@ -1,10 +1,11 @@ import asyncio +import json import os import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -27,7 +28,7 @@ async def main() -> None: subaccount_id = address.get_subaccount_id(index=0) deposit = await client.fetch_subaccount_deposit(subaccount_id=subaccount_id, denom="inj") - print(deposit) + print(json.dumps(deposit, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/30_SubaccountTradeNonce.py b/examples/chain_client/exchange/query/30_SubaccountTradeNonce.py index ad81aca3..220e1ac1 100644 --- a/examples/chain_client/exchange/query/30_SubaccountTradeNonce.py +++ b/examples/chain_client/exchange/query/30_SubaccountTradeNonce.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/31_Positions.py b/examples/chain_client/exchange/query/31_Positions.py index ae494b6a..8d2b2f9d 100644 --- a/examples/chain_client/exchange/query/31_Positions.py +++ b/examples/chain_client/exchange/query/31_Positions.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/32_SubaccountPositions.py b/examples/chain_client/exchange/query/32_SubaccountPositions.py index 000d95b6..1c925781 100644 --- a/examples/chain_client/exchange/query/32_SubaccountPositions.py +++ b/examples/chain_client/exchange/query/32_SubaccountPositions.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/33_SubaccountPositionInMarket.py b/examples/chain_client/exchange/query/33_SubaccountPositionInMarket.py index 4e0f1ddb..5ff5cd16 100644 --- a/examples/chain_client/exchange/query/33_SubaccountPositionInMarket.py +++ b/examples/chain_client/exchange/query/33_SubaccountPositionInMarket.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/34_SubaccountEffectivePositionInMarket.py b/examples/chain_client/exchange/query/34_SubaccountEffectivePositionInMarket.py index e729e77c..7e3a2dd5 100644 --- a/examples/chain_client/exchange/query/34_SubaccountEffectivePositionInMarket.py +++ b/examples/chain_client/exchange/query/34_SubaccountEffectivePositionInMarket.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/35_PerpetualMarketInfo.py b/examples/chain_client/exchange/query/35_PerpetualMarketInfo.py index ca27f552..2b2cb79a 100644 --- a/examples/chain_client/exchange/query/35_PerpetualMarketInfo.py +++ b/examples/chain_client/exchange/query/35_PerpetualMarketInfo.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/36_ExpiryFuturesMarketInfo.py b/examples/chain_client/exchange/query/36_ExpiryFuturesMarketInfo.py index 4053013c..877c7b12 100644 --- a/examples/chain_client/exchange/query/36_ExpiryFuturesMarketInfo.py +++ b/examples/chain_client/exchange/query/36_ExpiryFuturesMarketInfo.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/37_PerpetualMarketFunding.py b/examples/chain_client/exchange/query/37_PerpetualMarketFunding.py index 099c2a0f..d669c3e3 100644 --- a/examples/chain_client/exchange/query/37_PerpetualMarketFunding.py +++ b/examples/chain_client/exchange/query/37_PerpetualMarketFunding.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/38_SubaccountOrderMetadata.py b/examples/chain_client/exchange/query/38_SubaccountOrderMetadata.py index f4af9d38..b4ab45b6 100644 --- a/examples/chain_client/exchange/query/38_SubaccountOrderMetadata.py +++ b/examples/chain_client/exchange/query/38_SubaccountOrderMetadata.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/39_TradeRewardPoints.py b/examples/chain_client/exchange/query/39_TradeRewardPoints.py index 13f08730..dc557dc9 100644 --- a/examples/chain_client/exchange/query/39_TradeRewardPoints.py +++ b/examples/chain_client/exchange/query/39_TradeRewardPoints.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/3_ExchangeBalances.py b/examples/chain_client/exchange/query/3_ExchangeBalances.py index 091bf10c..15ade507 100644 --- a/examples/chain_client/exchange/query/3_ExchangeBalances.py +++ b/examples/chain_client/exchange/query/3_ExchangeBalances.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +12,7 @@ async def main() -> None: client = AsyncClient(network) balances = await client.fetch_exchange_balances() - print(balances) + print(json.dumps(balances, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/40_PendingTradeRewardPoints.py b/examples/chain_client/exchange/query/40_PendingTradeRewardPoints.py index fa3e8aa2..1d7af19f 100644 --- a/examples/chain_client/exchange/query/40_PendingTradeRewardPoints.py +++ b/examples/chain_client/exchange/query/40_PendingTradeRewardPoints.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/41_TradeRewardCampaign.py b/examples/chain_client/exchange/query/41_TradeRewardCampaign.py index 33e45a7e..ad48a1f4 100644 --- a/examples/chain_client/exchange/query/41_TradeRewardCampaign.py +++ b/examples/chain_client/exchange/query/41_TradeRewardCampaign.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/42_FeeDiscountAccountInfo.py b/examples/chain_client/exchange/query/42_FeeDiscountAccountInfo.py index 15fbb7ce..5ddd6b96 100644 --- a/examples/chain_client/exchange/query/42_FeeDiscountAccountInfo.py +++ b/examples/chain_client/exchange/query/42_FeeDiscountAccountInfo.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/43_FeeDiscountSchedule.py b/examples/chain_client/exchange/query/43_FeeDiscountSchedule.py index a0ae96cb..ffbe6a32 100644 --- a/examples/chain_client/exchange/query/43_FeeDiscountSchedule.py +++ b/examples/chain_client/exchange/query/43_FeeDiscountSchedule.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/44_BalanceMismatches.py b/examples/chain_client/exchange/query/44_BalanceMismatches.py index c7f7ca5e..529bb756 100644 --- a/examples/chain_client/exchange/query/44_BalanceMismatches.py +++ b/examples/chain_client/exchange/query/44_BalanceMismatches.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/45_BalanceWithBalanceHolds.py b/examples/chain_client/exchange/query/45_BalanceWithBalanceHolds.py index 6587c59a..b47120c6 100644 --- a/examples/chain_client/exchange/query/45_BalanceWithBalanceHolds.py +++ b/examples/chain_client/exchange/query/45_BalanceWithBalanceHolds.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/46_FeeDiscountTierStatistics.py b/examples/chain_client/exchange/query/46_FeeDiscountTierStatistics.py index 5671e4ce..f2259241 100644 --- a/examples/chain_client/exchange/query/46_FeeDiscountTierStatistics.py +++ b/examples/chain_client/exchange/query/46_FeeDiscountTierStatistics.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/47_MitoVaultInfos.py b/examples/chain_client/exchange/query/47_MitoVaultInfos.py index 3faa5cb9..c61b27f8 100644 --- a/examples/chain_client/exchange/query/47_MitoVaultInfos.py +++ b/examples/chain_client/exchange/query/47_MitoVaultInfos.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/48_QueryMarketIDFromVault.py b/examples/chain_client/exchange/query/48_QueryMarketIDFromVault.py index e699dbaa..9ace3593 100644 --- a/examples/chain_client/exchange/query/48_QueryMarketIDFromVault.py +++ b/examples/chain_client/exchange/query/48_QueryMarketIDFromVault.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/49_HistoricalTradeRecords.py b/examples/chain_client/exchange/query/49_HistoricalTradeRecords.py index 6b93200f..650a6130 100644 --- a/examples/chain_client/exchange/query/49_HistoricalTradeRecords.py +++ b/examples/chain_client/exchange/query/49_HistoricalTradeRecords.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/4_AggregateVolume.py b/examples/chain_client/exchange/query/4_AggregateVolume.py index 35c334a5..1c284e79 100644 --- a/examples/chain_client/exchange/query/4_AggregateVolume.py +++ b/examples/chain_client/exchange/query/4_AggregateVolume.py @@ -1,10 +1,11 @@ import asyncio +import json import os import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -26,10 +27,10 @@ async def main() -> None: subaccount_id = address.get_subaccount_id(index=0) volume = await client.fetch_aggregate_volume(account=address.to_acc_bech32()) - print(volume) + print(json.dumps(volume, indent=2)) volume = await client.fetch_aggregate_volume(account=subaccount_id) - print(volume) + print(json.dumps(volume, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/50_IsOptedOutOfRewards.py b/examples/chain_client/exchange/query/50_IsOptedOutOfRewards.py index 28c0925c..c5bfccbb 100644 --- a/examples/chain_client/exchange/query/50_IsOptedOutOfRewards.py +++ b/examples/chain_client/exchange/query/50_IsOptedOutOfRewards.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/51_OptedOutOfRewardsAccounts.py b/examples/chain_client/exchange/query/51_OptedOutOfRewardsAccounts.py index 9940f799..36eb606b 100644 --- a/examples/chain_client/exchange/query/51_OptedOutOfRewardsAccounts.py +++ b/examples/chain_client/exchange/query/51_OptedOutOfRewardsAccounts.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/52_MarketVolatility.py b/examples/chain_client/exchange/query/52_MarketVolatility.py index 3173ca39..c1e0900c 100644 --- a/examples/chain_client/exchange/query/52_MarketVolatility.py +++ b/examples/chain_client/exchange/query/52_MarketVolatility.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -23,7 +24,7 @@ async def main() -> None: include_raw_history=include_raw_history, include_metadata=include_metadata, ) - print(volatility) + print(json.dumps(volatility, indent=4)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/53_BinaryOptionsMarkets.py b/examples/chain_client/exchange/query/53_BinaryOptionsMarkets.py index 4448a4ec..bdf22810 100644 --- a/examples/chain_client/exchange/query/53_BinaryOptionsMarkets.py +++ b/examples/chain_client/exchange/query/53_BinaryOptionsMarkets.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/54_TraderDerivativeConditionalOrders.py b/examples/chain_client/exchange/query/54_TraderDerivativeConditionalOrders.py index fd65e68f..8e35afd0 100644 --- a/examples/chain_client/exchange/query/54_TraderDerivativeConditionalOrders.py +++ b/examples/chain_client/exchange/query/54_TraderDerivativeConditionalOrders.py @@ -4,7 +4,7 @@ import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/55_MarketAtomicExecutionFeeMultiplier.py b/examples/chain_client/exchange/query/55_MarketAtomicExecutionFeeMultiplier.py index 328028d3..76ef30fe 100644 --- a/examples/chain_client/exchange/query/55_MarketAtomicExecutionFeeMultiplier.py +++ b/examples/chain_client/exchange/query/55_MarketAtomicExecutionFeeMultiplier.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/56_ActiveStakeGrant.py b/examples/chain_client/exchange/query/56_ActiveStakeGrant.py new file mode 100644 index 00000000..582aaad4 --- /dev/null +++ b/examples/chain_client/exchange/query/56_ActiveStakeGrant.py @@ -0,0 +1,27 @@ +import asyncio +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + grantee_public_address = os.getenv("INJECTIVE_GRANTEE_PUBLIC_ADDRESS") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + active_grant = await client.fetch_active_stake_grant( + grantee=grantee_public_address, + ) + print(active_grant) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/57_GrantAuthorization.py b/examples/chain_client/exchange/query/57_GrantAuthorization.py new file mode 100644 index 00000000..f2b9bcba --- /dev/null +++ b/examples/chain_client/exchange/query/57_GrantAuthorization.py @@ -0,0 +1,34 @@ +import asyncio +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + grantee_public_address = os.getenv("INJECTIVE_GRANTEE_PUBLIC_ADDRESS") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + active_grant = await client.fetch_grant_authorization( + granter=address.to_acc_bech32(), + grantee=grantee_public_address, + ) + print(active_grant) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/58_GrantAuthorizations.py b/examples/chain_client/exchange/query/58_GrantAuthorizations.py new file mode 100644 index 00000000..0a930e81 --- /dev/null +++ b/examples/chain_client/exchange/query/58_GrantAuthorizations.py @@ -0,0 +1,33 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective import PrivateKey +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + dotenv.load_dotenv() + configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + priv_key = PrivateKey.from_hex(configured_private_key) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + active_grant = await client.fetch_grant_authorizations( + granter=address.to_acc_bech32(), + ) + print(json.dumps(active_grant, indent=4)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/59_MarketBalance.py b/examples/chain_client/exchange/query/59_MarketBalance.py new file mode 100644 index 00000000..4fe4c760 --- /dev/null +++ b/examples/chain_client/exchange/query/59_MarketBalance.py @@ -0,0 +1,31 @@ +import asyncio +import json + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + """ + Demonstrate fetching market balances using AsyncClient. + """ + # Select network: choose between Network.mainnet(), Network.testnet(), or Network.devnet() + network = Network.testnet() + + # Initialize the Async Client + client = AsyncClient(network) + + try: + # Fetch market balances + market_balance = await client.fetch_market_balance( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + ) + print("Market Balance:") + print(json.dumps(market_balance, indent=4)) + + except Exception as ex: + print(f"Error occurred: {ex}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/5_AggregateVolumes.py b/examples/chain_client/exchange/query/5_AggregateVolumes.py index 6effe4be..66b1acd7 100644 --- a/examples/chain_client/exchange/query/5_AggregateVolumes.py +++ b/examples/chain_client/exchange/query/5_AggregateVolumes.py @@ -1,10 +1,11 @@ import asyncio +import json import os import dotenv from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -27,7 +28,7 @@ async def main() -> None: accounts=[address.to_acc_bech32()], market_ids=["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"], ) - print(volume) + print(json.dumps(volume, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/60_MarketBalances.py b/examples/chain_client/exchange/query/60_MarketBalances.py new file mode 100644 index 00000000..59981f40 --- /dev/null +++ b/examples/chain_client/exchange/query/60_MarketBalances.py @@ -0,0 +1,29 @@ +import asyncio +import json + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + """ + Demonstrate fetching market balances using AsyncClient. + """ + # Select network: choose between Network.mainnet(), Network.testnet(), or Network.devnet() + network = Network.testnet() + + # Initialize the Async Client + client = AsyncClient(network) + + try: + # Fetch market balances + market_balances = await client.fetch_market_balances() + print("Market Balances:") + print(json.dumps(market_balances, indent=4)) + + except Exception as ex: + print(f"Error occurred: {ex}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/61_DenomMinNotional.py b/examples/chain_client/exchange/query/61_DenomMinNotional.py new file mode 100644 index 00000000..842c822e --- /dev/null +++ b/examples/chain_client/exchange/query/61_DenomMinNotional.py @@ -0,0 +1,31 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + """ + Demonstrate fetching denom min notional using AsyncClient. + """ + # Select network: choose between Network.mainnet(), Network.testnet(), or Network.devnet() + network = Network.testnet() + + # Initialize the Async Client + client = AsyncClient(network) + + try: + # Example denom + denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + # Fetch market balance + min_notional = await client.fetch_denom_min_notional(denom=denom) + print("Min Notional:") + print(min_notional) + + except Exception as ex: + print(f"Error occurred: {ex}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/62_DenomMinNotionals.py b/examples/chain_client/exchange/query/62_DenomMinNotionals.py new file mode 100644 index 00000000..b652f9fb --- /dev/null +++ b/examples/chain_client/exchange/query/62_DenomMinNotionals.py @@ -0,0 +1,28 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + """ + Demonstrate fetching denom min notionals using AsyncClient. + """ + # Select network: choose between Network.mainnet(), Network.testnet(), or Network.devnet() + network = Network.testnet() + + # Initialize the Async Client + client = AsyncClient(network) + + try: + # Fetch market balance + min_notionals = await client.fetch_denom_min_notionals() + print("Min Notionals:") + print(min_notionals) + + except Exception as ex: + print(f"Error occurred: {ex}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/63_L3DerivativeOrderBook.py b/examples/chain_client/exchange/query/63_L3DerivativeOrderBook.py new file mode 100644 index 00000000..38f10f92 --- /dev/null +++ b/examples/chain_client/exchange/query/63_L3DerivativeOrderBook.py @@ -0,0 +1,21 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + orderbook = await client.fetch_l3_derivative_orderbook( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ) + print(orderbook) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/64_L3SpotOrderBook.py b/examples/chain_client/exchange/query/64_L3SpotOrderBook.py new file mode 100644 index 00000000..f2fee345 --- /dev/null +++ b/examples/chain_client/exchange/query/64_L3SpotOrderBook.py @@ -0,0 +1,21 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + orderbook = await client.fetch_l3_spot_orderbook( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + ) + print(orderbook) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/65_PositionsInMarket.py b/examples/chain_client/exchange/query/65_PositionsInMarket.py new file mode 100644 index 00000000..028d488d --- /dev/null +++ b/examples/chain_client/exchange/query/65_PositionsInMarket.py @@ -0,0 +1,21 @@ +import asyncio +import json + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.testnet() + + # initialize grpc client + client = AsyncClient(network) + + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + positions = await client.fetch_chain_positions_in_market(market_id=market_id) + print(json.dumps(positions, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/66_OpenInterest.py b/examples/chain_client/exchange/query/66_OpenInterest.py new file mode 100644 index 00000000..50956676 --- /dev/null +++ b/examples/chain_client/exchange/query/66_OpenInterest.py @@ -0,0 +1,24 @@ +import asyncio +import json + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + """ + Demonstrate fetching denom min notionals using AsyncClient. + """ + # Select network: choose between Network.mainnet(), Network.testnet(), or Network.devnet() + network = Network.testnet() + + # Initialize the Async Client + client = AsyncClient(network) + + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + open_interest = await client.fetch_open_interest(market_id=market_id) + print(json.dumps(open_interest, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/exchange/query/6_AggregateMarketVolume.py b/examples/chain_client/exchange/query/6_AggregateMarketVolume.py index b3262d82..fef7714c 100644 --- a/examples/chain_client/exchange/query/6_AggregateMarketVolume.py +++ b/examples/chain_client/exchange/query/6_AggregateMarketVolume.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -14,7 +15,7 @@ async def main() -> None: market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" volume = await client.fetch_aggregate_market_volume(market_id=market_id) - print(volume) + print(json.dumps(volume, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/exchange/query/7_AggregateMarketVolumes.py b/examples/chain_client/exchange/query/7_AggregateMarketVolumes.py index 23dfa0ec..1a58ea0f 100644 --- a/examples/chain_client/exchange/query/7_AggregateMarketVolumes.py +++ b/examples/chain_client/exchange/query/7_AggregateMarketVolumes.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/exchange/query/8_DenomDecimal.py b/examples/chain_client/exchange/query/8_AuctionExchangeTransferDenomDecimal.py similarity index 63% rename from examples/chain_client/exchange/query/8_DenomDecimal.py rename to examples/chain_client/exchange/query/8_AuctionExchangeTransferDenomDecimal.py index 2079f5e8..fb0cd031 100644 --- a/examples/chain_client/exchange/query/8_DenomDecimal.py +++ b/examples/chain_client/exchange/query/8_AuctionExchangeTransferDenomDecimal.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +11,9 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) - deposits = await client.fetch_denom_decimal(denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5") + deposits = await client.fetch_auction_exchange_transfer_denom_decimal( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" + ) print(deposits) diff --git a/examples/chain_client/exchange/query/9_DenomDecimals.py b/examples/chain_client/exchange/query/9_AuctionExchangeTransferDenomDecimals.py similarity index 61% rename from examples/chain_client/exchange/query/9_DenomDecimals.py rename to examples/chain_client/exchange/query/9_AuctionExchangeTransferDenomDecimals.py index d96df30b..fcd11080 100644 --- a/examples/chain_client/exchange/query/9_DenomDecimals.py +++ b/examples/chain_client/exchange/query/9_AuctionExchangeTransferDenomDecimals.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -11,7 +11,9 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) - deposits = await client.fetch_denom_decimals(denoms=["inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5"]) + deposits = await client.fetch_auction_exchange_transfer_denom_decimals( + denoms=["inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5"] + ) print(deposits) diff --git a/examples/chain_client/ibc/channel/query/10_PacketAcknowledgements.py b/examples/chain_client/ibc/channel/query/10_PacketAcknowledgements.py index 4d3d9edd..23d08e6b 100644 --- a/examples/chain_client/ibc/channel/query/10_PacketAcknowledgements.py +++ b/examples/chain_client/ibc/channel/query/10_PacketAcknowledgements.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/11_UnreceivedPackets.py b/examples/chain_client/ibc/channel/query/11_UnreceivedPackets.py index 81c2298a..9e530b49 100644 --- a/examples/chain_client/ibc/channel/query/11_UnreceivedPackets.py +++ b/examples/chain_client/ibc/channel/query/11_UnreceivedPackets.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/12_UnreceivedAcks.py b/examples/chain_client/ibc/channel/query/12_UnreceivedAcks.py index 530828df..cf3be17a 100644 --- a/examples/chain_client/ibc/channel/query/12_UnreceivedAcks.py +++ b/examples/chain_client/ibc/channel/query/12_UnreceivedAcks.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/13_NextSequenceReceive.py b/examples/chain_client/ibc/channel/query/13_NextSequenceReceive.py index 099a5bad..1bc09a3d 100644 --- a/examples/chain_client/ibc/channel/query/13_NextSequenceReceive.py +++ b/examples/chain_client/ibc/channel/query/13_NextSequenceReceive.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/1_Channel.py b/examples/chain_client/ibc/channel/query/1_Channel.py index 09712d03..7eb0477b 100644 --- a/examples/chain_client/ibc/channel/query/1_Channel.py +++ b/examples/chain_client/ibc/channel/query/1_Channel.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/2_Channels.py b/examples/chain_client/ibc/channel/query/2_Channels.py index 7f7a7f91..16ca7490 100644 --- a/examples/chain_client/ibc/channel/query/2_Channels.py +++ b/examples/chain_client/ibc/channel/query/2_Channels.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/3_ConnectionChannels.py b/examples/chain_client/ibc/channel/query/3_ConnectionChannels.py index fbff67d9..3288e34e 100644 --- a/examples/chain_client/ibc/channel/query/3_ConnectionChannels.py +++ b/examples/chain_client/ibc/channel/query/3_ConnectionChannels.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/4_ChannelClientState.py b/examples/chain_client/ibc/channel/query/4_ChannelClientState.py index f4e96b64..2523fadf 100644 --- a/examples/chain_client/ibc/channel/query/4_ChannelClientState.py +++ b/examples/chain_client/ibc/channel/query/4_ChannelClientState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/5_ChannelConsensusState.py b/examples/chain_client/ibc/channel/query/5_ChannelConsensusState.py index fd4f64b2..7a7d622b 100644 --- a/examples/chain_client/ibc/channel/query/5_ChannelConsensusState.py +++ b/examples/chain_client/ibc/channel/query/5_ChannelConsensusState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/6_PacketCommitment.py b/examples/chain_client/ibc/channel/query/6_PacketCommitment.py index b190af42..97fb2ab7 100644 --- a/examples/chain_client/ibc/channel/query/6_PacketCommitment.py +++ b/examples/chain_client/ibc/channel/query/6_PacketCommitment.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/7_PacketCommitments.py b/examples/chain_client/ibc/channel/query/7_PacketCommitments.py index 537120f6..d659c984 100644 --- a/examples/chain_client/ibc/channel/query/7_PacketCommitments.py +++ b/examples/chain_client/ibc/channel/query/7_PacketCommitments.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/8_PacketReceipt.py b/examples/chain_client/ibc/channel/query/8_PacketReceipt.py index a64fe215..01e9e9ac 100644 --- a/examples/chain_client/ibc/channel/query/8_PacketReceipt.py +++ b/examples/chain_client/ibc/channel/query/8_PacketReceipt.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/channel/query/9_PacketAcknowledgement.py b/examples/chain_client/ibc/channel/query/9_PacketAcknowledgement.py index e9cdc324..e572cb80 100644 --- a/examples/chain_client/ibc/channel/query/9_PacketAcknowledgement.py +++ b/examples/chain_client/ibc/channel/query/9_PacketAcknowledgement.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/1_ClientState.py b/examples/chain_client/ibc/client/query/1_ClientState.py index 47ad1eda..da275ecd 100644 --- a/examples/chain_client/ibc/client/query/1_ClientState.py +++ b/examples/chain_client/ibc/client/query/1_ClientState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/2_ClientStates.py b/examples/chain_client/ibc/client/query/2_ClientStates.py index 511bc33c..91f951ec 100644 --- a/examples/chain_client/ibc/client/query/2_ClientStates.py +++ b/examples/chain_client/ibc/client/query/2_ClientStates.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/3_ConsensusState.py b/examples/chain_client/ibc/client/query/3_ConsensusState.py index 33220967..26759dad 100644 --- a/examples/chain_client/ibc/client/query/3_ConsensusState.py +++ b/examples/chain_client/ibc/client/query/3_ConsensusState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/4_ConsensusStates.py b/examples/chain_client/ibc/client/query/4_ConsensusStates.py index 66b946dd..ea46139b 100644 --- a/examples/chain_client/ibc/client/query/4_ConsensusStates.py +++ b/examples/chain_client/ibc/client/query/4_ConsensusStates.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/5_ConsensusStateHeights.py b/examples/chain_client/ibc/client/query/5_ConsensusStateHeights.py index acd4a440..7620d848 100644 --- a/examples/chain_client/ibc/client/query/5_ConsensusStateHeights.py +++ b/examples/chain_client/ibc/client/query/5_ConsensusStateHeights.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/6_ClientStatus.py b/examples/chain_client/ibc/client/query/6_ClientStatus.py index 9d5954aa..461b3940 100644 --- a/examples/chain_client/ibc/client/query/6_ClientStatus.py +++ b/examples/chain_client/ibc/client/query/6_ClientStatus.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/7_ClientParams.py b/examples/chain_client/ibc/client/query/7_ClientParams.py index 1b461b5c..cdcc7220 100644 --- a/examples/chain_client/ibc/client/query/7_ClientParams.py +++ b/examples/chain_client/ibc/client/query/7_ClientParams.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/8_UpgradedClientState.py b/examples/chain_client/ibc/client/query/8_UpgradedClientState.py index e200ae80..1b4b01d6 100644 --- a/examples/chain_client/ibc/client/query/8_UpgradedClientState.py +++ b/examples/chain_client/ibc/client/query/8_UpgradedClientState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/client/query/9_UpgradedConsensusState.py b/examples/chain_client/ibc/client/query/9_UpgradedConsensusState.py index a6e00f7c..a40ae584 100644 --- a/examples/chain_client/ibc/client/query/9_UpgradedConsensusState.py +++ b/examples/chain_client/ibc/client/query/9_UpgradedConsensusState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/1_Connection.py b/examples/chain_client/ibc/connection/query/1_Connection.py index eb40118f..ace42917 100644 --- a/examples/chain_client/ibc/connection/query/1_Connection.py +++ b/examples/chain_client/ibc/connection/query/1_Connection.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/2_Connections.py b/examples/chain_client/ibc/connection/query/2_Connections.py index 8b5532f6..520105d8 100644 --- a/examples/chain_client/ibc/connection/query/2_Connections.py +++ b/examples/chain_client/ibc/connection/query/2_Connections.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/3_ClientConnections.py b/examples/chain_client/ibc/connection/query/3_ClientConnections.py index 5306dc51..25b4e8e5 100644 --- a/examples/chain_client/ibc/connection/query/3_ClientConnections.py +++ b/examples/chain_client/ibc/connection/query/3_ClientConnections.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/4_ConnectionClientState.py b/examples/chain_client/ibc/connection/query/4_ConnectionClientState.py index 35de5638..cf20c39f 100644 --- a/examples/chain_client/ibc/connection/query/4_ConnectionClientState.py +++ b/examples/chain_client/ibc/connection/query/4_ConnectionClientState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/5_ConnectionConsensusState.py b/examples/chain_client/ibc/connection/query/5_ConnectionConsensusState.py index d541b502..7b0f923a 100644 --- a/examples/chain_client/ibc/connection/query/5_ConnectionConsensusState.py +++ b/examples/chain_client/ibc/connection/query/5_ConnectionConsensusState.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/connection/query/6_ConnectionParams.py b/examples/chain_client/ibc/connection/query/6_ConnectionParams.py index 88cb73bf..44f5cd21 100644 --- a/examples/chain_client/ibc/connection/query/6_ConnectionParams.py +++ b/examples/chain_client/ibc/connection/query/6_ConnectionParams.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/transfer/1_MsgTransfer.py b/examples/chain_client/ibc/transfer/1_MsgTransfer.py index 604ece6e..fae0c923 100644 --- a/examples/chain_client/ibc/transfer/1_MsgTransfer.py +++ b/examples/chain_client/ibc/transfer/1_MsgTransfer.py @@ -1,10 +1,11 @@ import asyncio +import json import os from decimal import Decimal import dotenv -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -21,7 +22,10 @@ async def main() -> None: client = AsyncClient(network) await client.initialize_tokens_from_chain_denoms() composer = await client.composer() - await client.sync_timeout_height() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, @@ -36,7 +40,10 @@ async def main() -> None: source_port = "transfer" source_channel = "channel-126" - token_amount = composer.create_coin_amount(amount=Decimal("0.1"), token_name="INJ") + token_decimals = 18 + transfer_amount = Decimal("0.1") * Decimal(f"1e{token_decimals}") + inj_chain_denom = "inj" + token_amount = composer.coin(amount=int(transfer_amount), denom=inj_chain_denom) sender = address.to_acc_bech32() receiver = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" timeout_height = 10 @@ -54,7 +61,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/ibc/transfer/query/1_DenomTrace.py b/examples/chain_client/ibc/transfer/query/1_DenomTrace.py index adb980d0..8b5f4a93 100644 --- a/examples/chain_client/ibc/transfer/query/1_DenomTrace.py +++ b/examples/chain_client/ibc/transfer/query/1_DenomTrace.py @@ -3,7 +3,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/transfer/query/2_DenomTraces.py b/examples/chain_client/ibc/transfer/query/2_DenomTraces.py index 8e8d9deb..8f175806 100644 --- a/examples/chain_client/ibc/transfer/query/2_DenomTraces.py +++ b/examples/chain_client/ibc/transfer/query/2_DenomTraces.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/transfer/query/3_DenomHash.py b/examples/chain_client/ibc/transfer/query/3_DenomHash.py index db1db07e..b4f34fb1 100644 --- a/examples/chain_client/ibc/transfer/query/3_DenomHash.py +++ b/examples/chain_client/ibc/transfer/query/3_DenomHash.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/transfer/query/4_EscrowAddress.py b/examples/chain_client/ibc/transfer/query/4_EscrowAddress.py index 90d69838..f2ecf31e 100644 --- a/examples/chain_client/ibc/transfer/query/4_EscrowAddress.py +++ b/examples/chain_client/ibc/transfer/query/4_EscrowAddress.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/ibc/transfer/query/5_TotalEscrowForDenom.py b/examples/chain_client/ibc/transfer/query/5_TotalEscrowForDenom.py index b7b4df68..c5b27938 100644 --- a/examples/chain_client/ibc/transfer/query/5_TotalEscrowForDenom.py +++ b/examples/chain_client/ibc/transfer/query/5_TotalEscrowForDenom.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/insurance/1_MsgCreateInsuranceFund.py b/examples/chain_client/insurance/1_MsgCreateInsuranceFund.py index 99c10fc0..9eb0156f 100644 --- a/examples/chain_client/insurance/1_MsgCreateInsuranceFund.py +++ b/examples/chain_client/insurance/1_MsgCreateInsuranceFund.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,64 +21,43 @@ async def main() -> None: # set custom cookie location (optional) - defaults to current dir client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) - msg = composer.MsgCreateInsuranceFund( + msg = composer.msg_create_insurance_fund( sender=address.to_acc_bech32(), ticker="5202d32a9-1701406800-SF", - quote_denom="USDT", + quote_denom="peggy0xdAC17F958D2ee523a2206206994597C13D831ec7", oracle_base="Frontrunner", oracle_quote="Frontrunner", - oracle_type=11, + oracle_type="Band", expiry=-2, initial_deposit=1000, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/insurance/2_MsgUnderwrite.py b/examples/chain_client/insurance/2_MsgUnderwrite.py index 16b75e70..d717d798 100644 --- a/examples/chain_client/insurance/2_MsgUnderwrite.py +++ b/examples/chain_client/insurance/2_MsgUnderwrite.py @@ -1,19 +1,19 @@ import asyncio +import json import os +from decimal import Decimal import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,60 +22,43 @@ async def main() -> None: # set custom cookie location (optional) - defaults to current dir client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) - msg = composer.MsgUnderwrite( + token_decimals = 6 + amount = 100 + chain_amount = Decimal(str(amount)) * Decimal(f"1e{token_decimals}") + + msg = composer.msg_underwrite( sender=address.to_acc_bech32(), market_id="0x141e3c92ed55107067ceb60ee412b86256cedef67b1227d6367b4cdf30c55a74", - quote_denom="USDT", - amount=100, + quote_denom="peggy0xdAC17F958D2ee523a2206206994597C13D831ec7", + amount=int(chain_amount), ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/insurance/3_MsgRequestRedemption.py b/examples/chain_client/insurance/3_MsgRequestRedemption.py index ecc2793c..6bd79ab2 100644 --- a/examples/chain_client/insurance/3_MsgRequestRedemption.py +++ b/examples/chain_client/insurance/3_MsgRequestRedemption.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,60 +21,39 @@ async def main() -> None: # set custom cookie location (optional) - defaults to current dir client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) - msg = composer.MsgRequestRedemption( + msg = composer.msg_request_redemption( sender=address.to_acc_bech32(), market_id="0x141e3c92ed55107067ceb60ee412b86256cedef67b1227d6367b4cdf30c55a74", share_denom="share15", amount=100, # raw chain value ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py b/examples/chain_client/insurance/4_MsgClaimVoucher.py similarity index 61% rename from examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py rename to examples/chain_client/insurance/4_MsgClaimVoucher.py index 313aff42..ea22a220 100644 --- a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py +++ b/examples/chain_client/insurance/4_MsgClaimVoucher.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -13,33 +14,40 @@ async def main() -> None: dotenv.load_dotenv() private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - # select network: local, testnet, mainnet network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - message = composer.msg_revoke_namespace_roles( + message = composer.msg_insurance_claim_voucher( sender=address.to_acc_bech32(), - namespace_denom=denom, - address_roles_to_revoke=[address_role1], + denom=denom, ) - # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/insurance/query/1_Vouchers.py b/examples/chain_client/insurance/query/1_Vouchers.py new file mode 100644 index 00000000..feb22f7f --- /dev/null +++ b/examples/chain_client/insurance/query/1_Vouchers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + vouchers = await client.fetch_insurance_vouchers(denom=denom) + print(vouchers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/5_VouchersForAddress.py b/examples/chain_client/insurance/query/2_Voucher.py similarity index 63% rename from examples/chain_client/permissions/query/5_VouchersForAddress.py rename to examples/chain_client/insurance/query/2_Voucher.py index 91e91df7..1f976141 100644 --- a/examples/chain_client/permissions/query/5_VouchersForAddress.py +++ b/examples/chain_client/insurance/query/2_Voucher.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -8,9 +8,10 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) + denom = "inj" address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - addresses = await client.fetch_permissions_vouchers_for_address(address=address) - print(addresses) + voucher = await client.fetch_insurance_voucher(denom=denom, address=address) + print(voucher) if __name__ == "__main__": diff --git a/examples/chain_client/oracle/1_MsgRelayPriceFeedPrice.py b/examples/chain_client/oracle/1_MsgRelayPriceFeedPrice.py index b59b34a3..003e7972 100644 --- a/examples/chain_client/oracle/1_MsgRelayPriceFeedPrice.py +++ b/examples/chain_client/oracle/1_MsgRelayPriceFeedPrice.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,13 +20,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) price = 100 price_to_send = [str(int(price * 10**18))] @@ -35,47 +43,19 @@ async def main() -> None: quote = ["WETH"] # prepare tx msg - msg = composer.MsgRelayPriceFeedPrice(sender=address.to_acc_bech32(), price=price_to_send, base=base, quote=quote) - - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) + msg = composer.msg_relay_price_feed_price( + sender=address.to_acc_bech32(), price=price_to_send, base=base, quote=quote ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/oracle/2_MsgRelayProviderPrices.py b/examples/chain_client/oracle/2_MsgRelayProviderPrices.py index 1e3b9c8f..950d77aa 100644 --- a/examples/chain_client/oracle/2_MsgRelayProviderPrices.py +++ b/examples/chain_client/oracle/2_MsgRelayProviderPrices.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,67 +20,41 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) provider = "ufc" symbols = ["KHABIB-TKO-05/30/2023", "KHABIB-TKO-05/26/2023"] prices = [0.5, 0.8] # prepare tx msg - msg = composer.MsgRelayProviderPrices( + msg = composer.msg_relay_provider_prices( sender=address.to_acc_bech32(), provider=provider, symbols=symbols, prices=prices ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - sim_res_msg = sim_res["result"]["msgResponses"] - print("---Simulation Response---") - print(sim_res_msg) - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) - - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) print("---Transaction Response---") - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/peggy/1_MsgSendToEth.py b/examples/chain_client/peggy/1_MsgSendToEth.py index 06e2d78c..e1e38d7b 100644 --- a/examples/chain_client/peggy/1_MsgSendToEth.py +++ b/examples/chain_client/peggy/1_MsgSendToEth.py @@ -1,20 +1,20 @@ import asyncio +import json import os +from decimal import Decimal import dotenv import requests -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,13 +22,22 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare msg asset = "injective-protocol" @@ -36,55 +45,27 @@ async def main() -> None: token_price = requests.get(coingecko_endpoint).json()[asset]["usd"] minimum_bridge_fee_usd = 10 bridge_fee = minimum_bridge_fee_usd / token_price + token_decimals = 6 + chain_bridge_fee = int(Decimal(str(bridge_fee)) * Decimal(f"1e{token_decimals}")) # prepare tx msg - msg = composer.MsgSendToEth( + msg = composer.msg_send_to_eth( sender=address.to_acc_bech32(), - denom="INJ", + denom="inj", eth_dest="0xaf79152ac5df276d9a8e1e2e22822f9713474902", amount=23, - bridge_fee=bridge_fee, + bridge_fee=chain_bridge_fee, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/1_MsgCreateNamespace.py b/examples/chain_client/permissions/1_MsgCreateNamespace.py index bc21752d..ba622419 100644 --- a/examples/chain_client/permissions/1_MsgCreateNamespace.py +++ b/examples/chain_client/permissions/1_MsgCreateNamespace.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,43 +16,99 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.MINT_ACTION_PERMISSION - | composer.RECEIVE_ACTION_PERMISSION - | composer.BURN_ACTION_PERMISSION, + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + role2 = composer.permissions_role( + name="admin", + role_id=1, + permissions=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"] + | composer.PERMISSIONS_ACTION["MODIFY_ADDRESS_ROLES"], + ) + role3 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["MINT"] + | composer.PERMISSIONS_ACTION["RECEIVE"] + | composer.PERMISSIONS_ACTION["BURN"] + | composer.PERMISSIONS_ACTION["SEND"], + ) + + actor_role1 = composer.permissions_actor_roles( + actor="inj1specificactoraddress", + roles=["admin"], + ) + actor_role2 = composer.permissions_actor_roles( + actor="inj1anotheractoraddress", + roles=["user"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=False, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_CONTRACT_HOOK"], + can_disable=True, + can_seal=False, ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) message = composer.msg_create_namespace( sender=address.to_acc_bech32(), denom=denom, wasm_hook="", - mints_paused=False, - sends_paused=False, - burns_paused=False, - role_permissions=[role1, role2], - address_roles=[address_role1], + role_permissions=[role1, role2, role3], + actor_roles=[actor_role1, actor_role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], + evm_hook="", ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/2_MsgDeleteNamespace.py b/examples/chain_client/permissions/2_MsgDeleteNamespace.py deleted file mode 100644 index fc412b5a..00000000 --- a/examples/chain_client/permissions/2_MsgDeleteNamespace.py +++ /dev/null @@ -1,42 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - message = composer.msg_delete_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/2_MsgUpdateNamespace.py b/examples/chain_client/permissions/2_MsgUpdateNamespace.py new file mode 100644 index 00000000..3133e135 --- /dev/null +++ b/examples/chain_client/permissions/2_MsgUpdateNamespace.py @@ -0,0 +1,98 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.devnet() + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + role1 = composer.permissions_role( + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["UNSPECIFIED"], # revoke all permissions + ) + role2 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin", "user"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=True, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=True, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"], + can_disable=True, + can_seal=False, + ) + + message = composer.msg_update_namespace( + sender=address.to_acc_bech32(), + denom=denom, + wasm_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", + role_permissions=[role1, role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], + evm_hook="", + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/3_MsgUpdateActorRoles.py b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py new file mode 100644 index 00000000..71ab1214 --- /dev/null +++ b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py @@ -0,0 +1,77 @@ +import asyncio +import json +import os + +import dotenv + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.devnet() + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + role_actors1 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress1", "inj1actoraddress2"], + ) + role_actors2 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress3"], + ) + role_actors3 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress4"], + ) + role_actors4 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress5"], + ) + + message = composer.msg_update_actor_roles( + sender=address.to_acc_bech32(), + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/3_MsgUpdateNamespace.py b/examples/chain_client/permissions/3_MsgUpdateNamespace.py deleted file mode 100644 index 96c671c8..00000000 --- a/examples/chain_client/permissions/3_MsgUpdateNamespace.py +++ /dev/null @@ -1,47 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - - message = composer.msg_update_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - wasm_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", - mints_paused=True, - sends_paused=True, - burns_paused=True, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py b/examples/chain_client/permissions/4_MsgClaimVoucher.py similarity index 55% rename from examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py rename to examples/chain_client/permissions/4_MsgClaimVoucher.py index 1af4e96f..1b678d7f 100644 --- a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py +++ b/examples/chain_client/permissions/4_MsgClaimVoucher.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,37 +16,42 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.RECEIVE_ACTION_PERMISSION, - ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - message = composer.msg_update_namespace_roles( + message = composer.msg_claim_voucher( sender=address.to_acc_bech32(), - namespace_denom=denom, - role_permissions=[role1, role2], - address_roles=[address_role1], + denom=denom, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/query/10_Vouchers.py b/examples/chain_client/permissions/query/10_Vouchers.py new file mode 100644 index 00000000..fe9298b4 --- /dev/null +++ b/examples/chain_client/permissions/query/10_Vouchers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + vouchers = await client.fetch_permissions_vouchers(denom=denom) + print(vouchers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/11_Voucher.py b/examples/chain_client/permissions/query/11_Voucher.py new file mode 100644 index 00000000..783257b9 --- /dev/null +++ b/examples/chain_client/permissions/query/11_Voucher.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" + voucher = await client.fetch_permissions_voucher(denom=denom, address=address) + print(voucher) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/12_PermissionsModuleState.py b/examples/chain_client/permissions/query/12_PermissionsModuleState.py new file mode 100644 index 00000000..425be152 --- /dev/null +++ b/examples/chain_client/permissions/query/12_PermissionsModuleState.py @@ -0,0 +1,16 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + state = await client.fetch_permissions_module_state() + print(state) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/1_NamespaceDenoms.py b/examples/chain_client/permissions/query/1_NamespaceDenoms.py new file mode 100644 index 00000000..39782e4d --- /dev/null +++ b/examples/chain_client/permissions/query/1_NamespaceDenoms.py @@ -0,0 +1,16 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + namespaces = await client.fetch_permissions_namespace_denoms() + print(namespaces) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/1_AllNamespaces.py b/examples/chain_client/permissions/query/2_Namespaces.py similarity index 69% rename from examples/chain_client/permissions/query/1_AllNamespaces.py rename to examples/chain_client/permissions/query/2_Namespaces.py index 775ee1c6..eb4b11df 100644 --- a/examples/chain_client/permissions/query/1_AllNamespaces.py +++ b/examples/chain_client/permissions/query/2_Namespaces.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -8,7 +8,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - namespaces = await client.fetch_all_permissions_namespaces() + namespaces = await client.fetch_permissions_namespaces() print(namespaces) diff --git a/examples/chain_client/permissions/query/2_NamespaceByDenom.py b/examples/chain_client/permissions/query/3_Namespace.py similarity index 65% rename from examples/chain_client/permissions/query/2_NamespaceByDenom.py rename to examples/chain_client/permissions/query/3_Namespace.py index 165ddb06..9b1ea1a6 100644 --- a/examples/chain_client/permissions/query/2_NamespaceByDenom.py +++ b/examples/chain_client/permissions/query/3_Namespace.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +9,7 @@ async def main() -> None: client = AsyncClient(network) denom = "inj" - namespace = await client.fetch_permissions_namespace_by_denom(denom=denom, include_roles=True) + namespace = await client.fetch_permissions_namespace(denom=denom) print(namespace) diff --git a/examples/chain_client/permissions/query/4_RolesByActor.py b/examples/chain_client/permissions/query/4_RolesByActor.py new file mode 100644 index 00000000..2dfc6e77 --- /dev/null +++ b/examples/chain_client/permissions/query/4_RolesByActor.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + actor = "actor" + roles = await client.fetch_permissions_roles_by_actor(denom=denom, actor=actor) + print(roles) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/4_AddressesByRole.py b/examples/chain_client/permissions/query/5_ActorsByRole.py similarity index 68% rename from examples/chain_client/permissions/query/4_AddressesByRole.py rename to examples/chain_client/permissions/query/5_ActorsByRole.py index 05466776..126c9f5b 100644 --- a/examples/chain_client/permissions/query/4_AddressesByRole.py +++ b/examples/chain_client/permissions/query/5_ActorsByRole.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -10,7 +10,7 @@ async def main() -> None: denom = "inj" role = "roleName" - addresses = await client.fetch_permissions_addresses_by_role(denom=denom, role=role) + addresses = await client.fetch_permissions_actors_by_role(denom=denom, role=role) print(addresses) diff --git a/examples/chain_client/permissions/query/6_RoleManagers.py b/examples/chain_client/permissions/query/6_RoleManagers.py new file mode 100644 index 00000000..e606c5ec --- /dev/null +++ b/examples/chain_client/permissions/query/6_RoleManagers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + managers = await client.fetch_permissions_role_managers(denom=denom) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/7_RoleManager.py b/examples/chain_client/permissions/query/7_RoleManager.py new file mode 100644 index 00000000..8fad51b7 --- /dev/null +++ b/examples/chain_client/permissions/query/7_RoleManager.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + manager = "manager" + managers = await client.fetch_permissions_role_manager(denom=denom, manager=manager) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/8_PolicyStatuses.py b/examples/chain_client/permissions/query/8_PolicyStatuses.py new file mode 100644 index 00000000..e1477762 --- /dev/null +++ b/examples/chain_client/permissions/query/8_PolicyStatuses.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_statuses = await client.fetch_permissions_policy_statuses(denom=denom) + print(policy_statuses) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py new file mode 100644 index 00000000..52d53264 --- /dev/null +++ b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_manager_capabilities = await client.fetch_permissions_policy_manager_capabilities(denom=denom) + print(policy_manager_capabilities) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/staking/1_MsgDelegate.py b/examples/chain_client/staking/1_MsgDelegate.py index e32f6691..93472d80 100644 --- a/examples/chain_client/staking/1_MsgDelegate.py +++ b/examples/chain_client/staking/1_MsgDelegate.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -21,61 +20,40 @@ async def main() -> None: # initialize grpc client client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg validator_address = "injvaloper1ultw9r29l8nxy5u6thcgusjn95vsy2caw722q5" amount = 100 - msg = composer.MsgDelegate( + msg = composer.msg_delegate( delegator_address=address.to_acc_bech32(), validator_address=validator_address, amount=amount ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tendermint/query/1_GetNodeInfo.py b/examples/chain_client/tendermint/query/1_GetNodeInfo.py index 9e116e80..bb9a2256 100644 --- a/examples/chain_client/tendermint/query/1_GetNodeInfo.py +++ b/examples/chain_client/tendermint/query/1_GetNodeInfo.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tendermint/query/2_GetSyncing.py b/examples/chain_client/tendermint/query/2_GetSyncing.py index 29a8b5b7..8de8a9df 100644 --- a/examples/chain_client/tendermint/query/2_GetSyncing.py +++ b/examples/chain_client/tendermint/query/2_GetSyncing.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tendermint/query/3_GetLatestBlock.py b/examples/chain_client/tendermint/query/3_GetLatestBlock.py index a30748e5..bfa7e799 100644 --- a/examples/chain_client/tendermint/query/3_GetLatestBlock.py +++ b/examples/chain_client/tendermint/query/3_GetLatestBlock.py @@ -1,6 +1,7 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network @@ -9,7 +10,7 @@ async def main() -> None: client = AsyncClient(network) latest_block = await client.fetch_latest_block() - print(latest_block) + print(json.dumps(latest_block, indent=2)) if __name__ == "__main__": diff --git a/examples/chain_client/tendermint/query/4_GetBlockByHeight.py b/examples/chain_client/tendermint/query/4_GetBlockByHeight.py index fdab714b..5ce8dcfe 100644 --- a/examples/chain_client/tendermint/query/4_GetBlockByHeight.py +++ b/examples/chain_client/tendermint/query/4_GetBlockByHeight.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tendermint/query/5_GetLatestValidatorSet.py b/examples/chain_client/tendermint/query/5_GetLatestValidatorSet.py index 204cd06f..9d914449 100644 --- a/examples/chain_client/tendermint/query/5_GetLatestValidatorSet.py +++ b/examples/chain_client/tendermint/query/5_GetLatestValidatorSet.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tendermint/query/6_GetValidatorSetByHeight.py b/examples/chain_client/tendermint/query/6_GetValidatorSetByHeight.py index 118ec2b3..916971d0 100644 --- a/examples/chain_client/tendermint/query/6_GetValidatorSetByHeight.py +++ b/examples/chain_client/tendermint/query/6_GetValidatorSetByHeight.py @@ -2,7 +2,7 @@ from google.protobuf import symbol_database -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/tokenfactory/1_CreateDenom.py b/examples/chain_client/tokenfactory/1_CreateDenom.py index a317e298..9fd731b5 100644 --- a/examples/chain_client/tokenfactory/1_CreateDenom.py +++ b/examples/chain_client/tokenfactory/1_CreateDenom.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,11 +16,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -32,12 +42,18 @@ async def main() -> None: name="Injective Test Token", symbol="INJTEST", decimals=18, + allow_admin_burn=False, ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tokenfactory/2_MsgMint.py b/examples/chain_client/tokenfactory/2_MsgMint.py index b6617431..5d5205f0 100644 --- a/examples/chain_client/tokenfactory/2_MsgMint.py +++ b/examples/chain_client/tokenfactory/2_MsgMint.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,11 +16,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -31,12 +41,18 @@ async def main() -> None: message = composer.msg_mint( sender=address.to_acc_bech32(), amount=amount, + receiver="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tokenfactory/3_MsgBurn.py b/examples/chain_client/tokenfactory/3_MsgBurn.py index c4aa013a..ae6a3423 100644 --- a/examples/chain_client/tokenfactory/3_MsgBurn.py +++ b/examples/chain_client/tokenfactory/3_MsgBurn.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,11 +16,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) + + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -31,12 +41,18 @@ async def main() -> None: message = composer.msg_burn( sender=address.to_acc_bech32(), amount=amount, + burn_from_address="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tokenfactory/4_MsgChangeAdmin.py b/examples/chain_client/tokenfactory/4_MsgChangeAdmin.py index d1a1ba46..566ab321 100644 --- a/examples/chain_client/tokenfactory/4_MsgChangeAdmin.py +++ b/examples/chain_client/tokenfactory/4_MsgChangeAdmin.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,11 +16,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -35,7 +45,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tokenfactory/5_MsgSetDenomMetadata.py b/examples/chain_client/tokenfactory/5_MsgSetDenomMetadata.py index 367649e0..24549c1b 100644 --- a/examples/chain_client/tokenfactory/5_MsgSetDenomMetadata.py +++ b/examples/chain_client/tokenfactory/5_MsgSetDenomMetadata.py @@ -1,9 +1,10 @@ import asyncio +import json import os import dotenv -from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network from pyinjective.wallet import PrivateKey @@ -15,11 +16,20 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - composer = ProtoMsgComposer(network=network.string()) - message_broadcaster = MsgBroadcasterWithPk.new_without_simulation( + client = AsyncClient(network) + composer = await client.composer() + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( network=network, private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, ) priv_key = PrivateKey.from_hex(private_key_in_hexa) @@ -51,7 +61,12 @@ async def main() -> None: # broadcast the transaction result = await message_broadcaster.broadcast([message]) print("---Transaction Response---") - print(result) + print(json.dumps(result, indent=2)) + + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/tokenfactory/query/1_DenomAuthorityMetadata.py b/examples/chain_client/tokenfactory/query/1_DenomAuthorityMetadata.py index 0abd7801..7f9fd27a 100644 --- a/examples/chain_client/tokenfactory/query/1_DenomAuthorityMetadata.py +++ b/examples/chain_client/tokenfactory/query/1_DenomAuthorityMetadata.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tokenfactory/query/2_DenomsFromCreator.py b/examples/chain_client/tokenfactory/query/2_DenomsFromCreator.py index 17a486d1..b3e13ce8 100644 --- a/examples/chain_client/tokenfactory/query/2_DenomsFromCreator.py +++ b/examples/chain_client/tokenfactory/query/2_DenomsFromCreator.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tokenfactory/query/3_TokenfactoryModuleState.py b/examples/chain_client/tokenfactory/query/3_TokenfactoryModuleState.py index 8f9b08f3..e5162114 100644 --- a/examples/chain_client/tokenfactory/query/3_TokenfactoryModuleState.py +++ b/examples/chain_client/tokenfactory/query/3_TokenfactoryModuleState.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/tx/query/1_GetTx.py b/examples/chain_client/tx/query/1_GetTx.py index f645dba7..020e2e19 100644 --- a/examples/chain_client/tx/query/1_GetTx.py +++ b/examples/chain_client/tx/query/1_GetTx.py @@ -1,13 +1,13 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network async def main() -> None: - network = Network.testnet() + network = Network.devnet() client = AsyncClient(network) - tx_hash = "D265527E3171C47D01D7EC9B839A95F8F794D4E683F26F5564025961C96EFDDA" + tx_hash = "EA598BB5297341636DD62D378DEB87ECE6F95AFB4F45966AA6A53D36EF022DA5" tx_logs = await client.fetch_tx(hash=tx_hash) print(tx_logs) diff --git a/examples/chain_client/txfees/query/1_GetEipBaseFee.py b/examples/chain_client/txfees/query/1_GetEipBaseFee.py new file mode 100644 index 00000000..e5a34f71 --- /dev/null +++ b/examples/chain_client/txfees/query/1_GetEipBaseFee.py @@ -0,0 +1,16 @@ +import asyncio +import json + +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + metadata = await client.fetch_eip_base_fee() + print(json.dumps(metadata, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/wasm/1_MsgExecuteContract.py b/examples/chain_client/wasm/1_MsgExecuteContract.py index d18c6398..8d6081eb 100644 --- a/examples/chain_client/wasm/1_MsgExecuteContract.py +++ b/examples/chain_client/wasm/1_MsgExecuteContract.py @@ -1,19 +1,18 @@ import asyncio +import json import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() @@ -22,13 +21,22 @@ async def main() -> None: # set custom cookie location (optional) - defaults to current dir client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg # NOTE: COIN MUST BE SORTED IN ALPHABETICAL ORDER BY DENOMS @@ -40,52 +48,22 @@ async def main() -> None: composer.coin(amount=420, denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7"), composer.coin(amount=1, denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5"), ] - msg = composer.MsgExecuteContract( + msg = composer.msg_execute_contract( sender=address.to_acc_bech32(), contract="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", msg='{"increment":{}}', funds=funds, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/chain_client/wasm/query/10_ContractsByCreator.py b/examples/chain_client/wasm/query/10_ContractsByCreator.py index 2014eee1..cdfcafee 100644 --- a/examples/chain_client/wasm/query/10_ContractsByCreator.py +++ b/examples/chain_client/wasm/query/10_ContractsByCreator.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/1_ContractInfo.py b/examples/chain_client/wasm/query/1_ContractInfo.py index 9cee904c..9b5aa3b9 100644 --- a/examples/chain_client/wasm/query/1_ContractInfo.py +++ b/examples/chain_client/wasm/query/1_ContractInfo.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/2_ContractHistory.py b/examples/chain_client/wasm/query/2_ContractHistory.py index 460056a8..0e73c143 100644 --- a/examples/chain_client/wasm/query/2_ContractHistory.py +++ b/examples/chain_client/wasm/query/2_ContractHistory.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/3_ContractsByCode.py b/examples/chain_client/wasm/query/3_ContractsByCode.py index 1994ce87..a1909123 100644 --- a/examples/chain_client/wasm/query/3_ContractsByCode.py +++ b/examples/chain_client/wasm/query/3_ContractsByCode.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/4_AllContractsState.py b/examples/chain_client/wasm/query/4_AllContractsState.py index a96bfe40..dc6d17e2 100644 --- a/examples/chain_client/wasm/query/4_AllContractsState.py +++ b/examples/chain_client/wasm/query/4_AllContractsState.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/5_RawContractState.py b/examples/chain_client/wasm/query/5_RawContractState.py index 5c9bce71..51194ae7 100644 --- a/examples/chain_client/wasm/query/5_RawContractState.py +++ b/examples/chain_client/wasm/query/5_RawContractState.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/6_SmartContractState.py b/examples/chain_client/wasm/query/6_SmartContractState.py index b416d88c..6b32b047 100644 --- a/examples/chain_client/wasm/query/6_SmartContractState.py +++ b/examples/chain_client/wasm/query/6_SmartContractState.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/7_SmartContractCode.py b/examples/chain_client/wasm/query/7_SmartContractCode.py index d523605d..4579524d 100644 --- a/examples/chain_client/wasm/query/7_SmartContractCode.py +++ b/examples/chain_client/wasm/query/7_SmartContractCode.py @@ -1,7 +1,7 @@ import asyncio import base64 -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/8_SmartContractCodes.py b/examples/chain_client/wasm/query/8_SmartContractCodes.py index 96135ba3..393d2899 100644 --- a/examples/chain_client/wasm/query/8_SmartContractCodes.py +++ b/examples/chain_client/wasm/query/8_SmartContractCodes.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasm/query/9_SmartContractPinnedCodes.py b/examples/chain_client/wasm/query/9_SmartContractPinnedCodes.py index 9d435314..2417f053 100644 --- a/examples/chain_client/wasm/query/9_SmartContractPinnedCodes.py +++ b/examples/chain_client/wasm/query/9_SmartContractPinnedCodes.py @@ -1,6 +1,6 @@ import asyncio -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network diff --git a/examples/chain_client/wasmx/1_MsgExecuteContractCompat.py b/examples/chain_client/wasmx/1_MsgExecuteContractCompat.py index a195c7c4..6d845045 100644 --- a/examples/chain_client/wasmx/1_MsgExecuteContractCompat.py +++ b/examples/chain_client/wasmx/1_MsgExecuteContractCompat.py @@ -3,31 +3,38 @@ import os import dotenv -from grpc import RpcError -from pyinjective.async_client import AsyncClient -from pyinjective.constant import GAS_FEE_BUFFER_AMOUNT, GAS_PRICE +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.core.broadcaster import MsgBroadcasterWithPk from pyinjective.core.network import Network -from pyinjective.transaction import Transaction from pyinjective.wallet import PrivateKey async def main() -> None: dotenv.load_dotenv() - configured_private_key = os.getenv("INJECTIVE_PRIVATE_KEY") + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") # select network: local, testnet, mainnet network = Network.testnet() client = AsyncClient(network) composer = await client.composer() - await client.sync_timeout_height() - # load account - priv_key = PrivateKey.from_hex(configured_private_key) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + + message_broadcaster = MsgBroadcasterWithPk.new_using_gas_heuristics( + network=network, + private_key=private_key_in_hexa, + gas_price=gas_price, + client=client, + composer=composer, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) pub_key = priv_key.to_public_key() address = pub_key.to_address() - await client.fetch_account(address.to_acc_bech32()) # prepare tx msg # NOTE: COIN MUST BE SORTED IN ALPHABETICAL ORDER BY DENOMS @@ -44,45 +51,15 @@ async def main() -> None: funds=funds, ) - # build sim tx - tx = ( - Transaction() - .with_messages(msg) - .with_sequence(client.get_sequence()) - .with_account_num(client.get_number()) - .with_chain_id(network.chain_id) - ) - sim_sign_doc = tx.get_sign_doc(pub_key) - sim_sig = priv_key.sign(sim_sign_doc.SerializeToString()) - sim_tx_raw_bytes = tx.get_tx_data(sim_sig, pub_key) - - # simulate tx - try: - sim_res = await client.simulate(sim_tx_raw_bytes) - except RpcError as ex: - print(ex) - return - - # build tx - gas_price = GAS_PRICE - gas_limit = int(sim_res["gasInfo"]["gasUsed"]) + GAS_FEE_BUFFER_AMOUNT # add buffer for gas fee computation - gas_fee = "{:.18f}".format((gas_price * gas_limit) / pow(10, 18)).rstrip("0") - fee = [ - composer.coin( - amount=gas_price * gas_limit, - denom=network.fee_denom, - ) - ] - tx = tx.with_gas(gas_limit).with_fee(fee).with_memo("").with_timeout_height(client.timeout_height) - sign_doc = tx.get_sign_doc(pub_key) - sig = priv_key.sign(sign_doc.SerializeToString()) - tx_raw_bytes = tx.get_tx_data(sig, pub_key) + # broadcast the transaction + result = await message_broadcaster.broadcast([msg]) + print("---Transaction Response---") + print(json.dumps(result, indent=2)) - # broadcast tx: send_tx_async_mode, send_tx_sync_mode, send_tx_block_mode - res = await client.broadcast_tx_sync_mode(tx_raw_bytes) - print(res) - print("gas wanted: {}".format(gas_limit)) - print("gas fee: {} INJ".format(gas_fee)) + gas_price = await client.current_chain_gas_price() + # adjust gas price to make it valid even if it changes between the time it is requested and the TX is broadcasted + gas_price = int(gas_price * 1.1) + message_broadcaster.update_gas_price(gas_price=gas_price) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/1_StreamSubaccountBalance.py b/examples/exchange_client/accounts_rpc/1_StreamSubaccountBalance.py index 2a9e9c23..e9ab7245 100644 --- a/examples/exchange_client/accounts_rpc/1_StreamSubaccountBalance.py +++ b/examples/exchange_client/accounts_rpc/1_StreamSubaccountBalance.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def balance_event_processor(event: Dict[str, Any]): @@ -21,7 +21,7 @@ def stream_closed_processor(): async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001" denoms = ["inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5"] task = asyncio.get_event_loop().create_task( diff --git a/examples/exchange_client/accounts_rpc/2_SubaccountBalance.py b/examples/exchange_client/accounts_rpc/2_SubaccountBalance.py index ecec1061..1f1363a7 100644 --- a/examples/exchange_client/accounts_rpc/2_SubaccountBalance.py +++ b/examples/exchange_client/accounts_rpc/2_SubaccountBalance.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" denom = "inj" balance = await client.fetch_subaccount_balance(subaccount_id=subaccount_id, denom=denom) - print(balance) + print(json.dumps(balance, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/3_SubaccountsList.py b/examples/exchange_client/accounts_rpc/3_SubaccountsList.py index c7243509..baa9cff6 100644 --- a/examples/exchange_client/accounts_rpc/3_SubaccountsList.py +++ b/examples/exchange_client/accounts_rpc/3_SubaccountsList.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) account_address = "inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt" subacc_list = await client.fetch_subaccounts_list(account_address) - print(subacc_list) + print(json.dumps(subacc_list, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/4_SubaccountBalancesList.py b/examples/exchange_client/accounts_rpc/4_SubaccountBalancesList.py index 7df3be17..d4444fc2 100644 --- a/examples/exchange_client/accounts_rpc/4_SubaccountBalancesList.py +++ b/examples/exchange_client/accounts_rpc/4_SubaccountBalancesList.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" denoms = ["inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5"] subacc_balances_list = await client.fetch_subaccount_balances_list(subaccount_id=subaccount, denoms=denoms) - print(subacc_balances_list) + print(json.dumps(subacc_balances_list, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/5_SubaccountHistory.py b/examples/exchange_client/accounts_rpc/5_SubaccountHistory.py index a71951cf..6c9e9ea2 100644 --- a/examples/exchange_client/accounts_rpc/5_SubaccountHistory.py +++ b/examples/exchange_client/accounts_rpc/5_SubaccountHistory.py @@ -1,13 +1,14 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" denom = "inj" transfer_types = ["withdraw", "deposit"] @@ -21,7 +22,7 @@ async def main() -> None: transfer_types=transfer_types, pagination=pagination, ) - print(subacc_history) + print(json.dumps(subacc_history, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/6_SubaccountOrderSummary.py b/examples/exchange_client/accounts_rpc/6_SubaccountOrderSummary.py index a150cd22..0d6c8393 100644 --- a/examples/exchange_client/accounts_rpc/6_SubaccountOrderSummary.py +++ b/examples/exchange_client/accounts_rpc/6_SubaccountOrderSummary.py @@ -1,19 +1,20 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" order_direction = "buy" market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" subacc_order_summary = await client.fetch_subaccount_order_summary( subaccount_id=subaccount, order_direction=order_direction, market_id=market_id ) - print(subacc_order_summary) + print(json.dumps(subacc_order_summary, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/7_OrderStates.py b/examples/exchange_client/accounts_rpc/7_OrderStates.py index 038d42d5..f831647d 100644 --- a/examples/exchange_client/accounts_rpc/7_OrderStates.py +++ b/examples/exchange_client/accounts_rpc/7_OrderStates.py @@ -1,12 +1,13 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) spot_order_hashes = [ "0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bb", "0x2e2245b5431638d76c6e0cc6268970418a1b1b7df60a8e94b8cf37eae6105542", @@ -18,7 +19,7 @@ async def main() -> None: orders = await client.fetch_order_states( spot_order_hashes=spot_order_hashes, derivative_order_hashes=derivative_order_hashes ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/8_Portfolio.py b/examples/exchange_client/accounts_rpc/8_Portfolio.py index 90cd9565..55c63a70 100644 --- a/examples/exchange_client/accounts_rpc/8_Portfolio.py +++ b/examples/exchange_client/accounts_rpc/8_Portfolio.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) account_address = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku" portfolio = await client.fetch_portfolio(account_address=account_address) - print(portfolio) + print(json.dumps(portfolio, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/accounts_rpc/9_Rewards.py b/examples/exchange_client/accounts_rpc/9_Rewards.py index 10012c2a..ef0fe91d 100644 --- a/examples/exchange_client/accounts_rpc/9_Rewards.py +++ b/examples/exchange_client/accounts_rpc/9_Rewards.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) account_address = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku" epoch = -1 rewards = await client.fetch_rewards(account_address=account_address, epoch=epoch) - print(rewards) + print(json.dumps(rewards, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/auctions_rpc/1_Auction.py b/examples/exchange_client/auctions_rpc/1_Auction.py index 71fbd36c..16697c3d 100644 --- a/examples/exchange_client/auctions_rpc/1_Auction.py +++ b/examples/exchange_client/auctions_rpc/1_Auction.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) bid_round = 31 auction = await client.fetch_auction(round=bid_round) - print(auction) + print(json.dumps(auction, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/auctions_rpc/2_Auctions.py b/examples/exchange_client/auctions_rpc/2_Auctions.py index f2b7f7bf..c7b6d101 100644 --- a/examples/exchange_client/auctions_rpc/2_Auctions.py +++ b/examples/exchange_client/auctions_rpc/2_Auctions.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) auctions = await client.fetch_auctions() - print(auctions) + print(json.dumps(auctions, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/auctions_rpc/3_StreamBids.py b/examples/exchange_client/auctions_rpc/3_StreamBids.py index 8bfceba1..e25537de 100644 --- a/examples/exchange_client/auctions_rpc/3_StreamBids.py +++ b/examples/exchange_client/auctions_rpc/3_StreamBids.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def bid_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) task = asyncio.get_event_loop().create_task( client.listen_bids_updates( diff --git a/examples/exchange_client/auctions_rpc/4_InjBurntEndpoint.py b/examples/exchange_client/auctions_rpc/4_InjBurntEndpoint.py new file mode 100644 index 00000000..c44595ac --- /dev/null +++ b/examples/exchange_client/auctions_rpc/4_InjBurntEndpoint.py @@ -0,0 +1,24 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main(): + # Select network: testnet, mainnet, or local + network = Network.testnet() + client = IndexerClient(network) + + try: + # Fetch INJ burnt amount + inj_burnt_response = await client.fetch_inj_burnt() + print("INJ Burnt Endpoint Response:") + print(json.dumps(inj_burnt_response, indent=2)) + + except Exception as e: + print(f"Error fetching INJ burnt amount: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/derivative_exchange_rpc/10_StreamHistoricalOrders.py b/examples/exchange_client/derivative_exchange_rpc/10_StreamHistoricalOrders.py index 140639fe..cebff990 100644 --- a/examples/exchange_client/derivative_exchange_rpc/10_StreamHistoricalOrders.py +++ b/examples/exchange_client/derivative_exchange_rpc/10_StreamHistoricalOrders.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def order_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" task = asyncio.get_event_loop().create_task( diff --git a/examples/exchange_client/derivative_exchange_rpc/11_Trades.py b/examples/exchange_client/derivative_exchange_rpc/11_Trades.py index 3befd828..79b0c4a8 100644 --- a/examples/exchange_client/derivative_exchange_rpc/11_Trades.py +++ b/examples/exchange_client/derivative_exchange_rpc/11_Trades.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6"] subaccount_ids = ["0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000"] skip = 0 @@ -17,7 +18,7 @@ async def main() -> None: trades = await client.fetch_derivative_trades( market_ids=market_ids, subaccount_ids=subaccount_ids, pagination=pagination ) - print(trades) + print(json.dumps(trades, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/12_StreamTrades.py b/examples/exchange_client/derivative_exchange_rpc/12_StreamTrades.py index 9ccf11de..4ef3b85d 100644 --- a/examples/exchange_client/derivative_exchange_rpc/12_StreamTrades.py +++ b/examples/exchange_client/derivative_exchange_rpc/12_StreamTrades.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def market_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = [ "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", "0x70bc8d7feab38b23d5fdfb12b9c3726e400c265edbcbf449b6c80c31d63d3a02", diff --git a/examples/exchange_client/derivative_exchange_rpc/13_SubaccountOrdersList.py b/examples/exchange_client/derivative_exchange_rpc/13_SubaccountOrdersList.py index d219a0a2..38ae5882 100644 --- a/examples/exchange_client/derivative_exchange_rpc/13_SubaccountOrdersList.py +++ b/examples/exchange_client/derivative_exchange_rpc/13_SubaccountOrdersList.py @@ -1,23 +1,24 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" skip = 1 limit = 2 pagination = PaginationOption(skip=skip, limit=limit) - orders = await client.fetch_subaccount_orders_list( + orders = await client.fetch_derivative_subaccount_orders_list( subaccount_id=subaccount_id, market_id=market_id, pagination=pagination ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/14_SubaccountTradesList.py b/examples/exchange_client/derivative_exchange_rpc/14_SubaccountTradesList.py index ed90a456..c46703f4 100644 --- a/examples/exchange_client/derivative_exchange_rpc/14_SubaccountTradesList.py +++ b/examples/exchange_client/derivative_exchange_rpc/14_SubaccountTradesList.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" execution_type = "market" @@ -23,7 +24,7 @@ async def main() -> None: direction=direction, pagination=pagination, ) - print(trades) + print(json.dumps(trades, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/15_FundingPayments.py b/examples/exchange_client/derivative_exchange_rpc/15_FundingPayments.py index 5321d723..37e988c9 100644 --- a/examples/exchange_client/derivative_exchange_rpc/15_FundingPayments.py +++ b/examples/exchange_client/derivative_exchange_rpc/15_FundingPayments.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6"] subaccount_id = "0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000" skip = 0 @@ -18,7 +19,7 @@ async def main() -> None: funding_payments = await client.fetch_funding_payments( market_ids=market_ids, subaccount_id=subaccount_id, pagination=pagination ) - print(funding_payments) + print(json.dumps(funding_payments, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/17_FundingRates.py b/examples/exchange_client/derivative_exchange_rpc/17_FundingRates.py index f7bc3b7f..ee4d07d9 100644 --- a/examples/exchange_client/derivative_exchange_rpc/17_FundingRates.py +++ b/examples/exchange_client/derivative_exchange_rpc/17_FundingRates.py @@ -1,21 +1,22 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" skip = 0 limit = 3 end_time = 1675717201465 pagination = PaginationOption(skip=skip, limit=limit, end_time=end_time) funding_rates = await client.fetch_funding_rates(market_id=market_id, pagination=pagination) - print(funding_rates) + print(json.dumps(funding_rates, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/19_Binary_Options_Markets.py b/examples/exchange_client/derivative_exchange_rpc/19_Binary_Options_Markets.py index 97b90bca..ef8edaff 100644 --- a/examples/exchange_client/derivative_exchange_rpc/19_Binary_Options_Markets.py +++ b/examples/exchange_client/derivative_exchange_rpc/19_Binary_Options_Markets.py @@ -1,17 +1,18 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_status = "active" quote_denom = "peggy0xdAC17F958D2ee523a2206206994597C13D831ec7" market = await client.fetch_binary_options_markets(market_status=market_status, quote_denom=quote_denom) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/1_Market.py b/examples/exchange_client/derivative_exchange_rpc/1_Market.py index dd5b2091..9cefe15e 100644 --- a/examples/exchange_client/derivative_exchange_rpc/1_Market.py +++ b/examples/exchange_client/derivative_exchange_rpc/1_Market.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" market = await client.fetch_derivative_market(market_id=market_id) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/20_Binary_Options_Market.py b/examples/exchange_client/derivative_exchange_rpc/20_Binary_Options_Market.py index 18edbbed..284a3d05 100644 --- a/examples/exchange_client/derivative_exchange_rpc/20_Binary_Options_Market.py +++ b/examples/exchange_client/derivative_exchange_rpc/20_Binary_Options_Market.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x175513943b8677368d138e57bcd6bef53170a0da192e7eaa8c2cd4509b54f8db" market = await client.fetch_binary_options_market(market_id=market_id) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/21_Historical_Orders.py b/examples/exchange_client/derivative_exchange_rpc/21_Historical_Orders.py index 3e8641ae..67dc286c 100644 --- a/examples/exchange_client/derivative_exchange_rpc/21_Historical_Orders.py +++ b/examples/exchange_client/derivative_exchange_rpc/21_Historical_Orders.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6"] subaccount_id = "0x295639d56c987f0e24d21bb167872b3542a6e05a000000000000000000000000" is_conditional = "false" @@ -21,7 +22,7 @@ async def main() -> None: is_conditional=is_conditional, pagination=pagination, ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/22_OrderbooksV2.py b/examples/exchange_client/derivative_exchange_rpc/22_OrderbooksV2.py index def49ded..fa54822f 100644 --- a/examples/exchange_client/derivative_exchange_rpc/22_OrderbooksV2.py +++ b/examples/exchange_client/derivative_exchange_rpc/22_OrderbooksV2.py @@ -1,19 +1,21 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) market_ids = [ "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", "0xd5e4b12b19ecf176e4e14b42944731c27677819d2ed93be4104ad7025529c7ff", ] - orderbooks = await client.fetch_derivative_orderbooks_v2(market_ids=market_ids) - print(orderbooks) + depth = 1 + orderbooks = await client.fetch_derivative_orderbooks_v2(market_ids=market_ids, depth=depth) + print(json.dumps(orderbooks, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/23_LiquidablePositions.py b/examples/exchange_client/derivative_exchange_rpc/23_LiquidablePositions.py index 55e76492..7d8c7d35 100644 --- a/examples/exchange_client/derivative_exchange_rpc/23_LiquidablePositions.py +++ b/examples/exchange_client/derivative_exchange_rpc/23_LiquidablePositions.py @@ -1,13 +1,14 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" skip = 10 limit = 3 @@ -16,7 +17,7 @@ async def main() -> None: market_id=market_id, pagination=pagination, ) - print(positions) + print(json.dumps(positions, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/24_OpenInterest.py b/examples/exchange_client/derivative_exchange_rpc/24_OpenInterest.py new file mode 100644 index 00000000..bd54f606 --- /dev/null +++ b/examples/exchange_client/derivative_exchange_rpc/24_OpenInterest.py @@ -0,0 +1,24 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.testnet() + client = IndexerClient(network) + market_ids = [ + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + "0xd97d0da6f6c11710ef06315971250e4e9aed4b7d4cd02059c9477ec8cf243782", + ] + + result = await client.fetch_open_interest( + market_ids=market_ids, + ) + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/derivative_exchange_rpc/2_Markets.py b/examples/exchange_client/derivative_exchange_rpc/2_Markets.py index b5a5999a..bd99e376 100644 --- a/examples/exchange_client/derivative_exchange_rpc/2_Markets.py +++ b/examples/exchange_client/derivative_exchange_rpc/2_Markets.py @@ -1,17 +1,18 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_statuses = ["active"] quote_denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" market = await client.fetch_derivative_markets(market_statuses=market_statuses, quote_denom=quote_denom) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/3_StreamMarket.py b/examples/exchange_client/derivative_exchange_rpc/3_StreamMarket.py index d8663ba2..877f1c70 100644 --- a/examples/exchange_client/derivative_exchange_rpc/3_StreamMarket.py +++ b/examples/exchange_client/derivative_exchange_rpc/3_StreamMarket.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def market_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) task = asyncio.get_event_loop().create_task( client.listen_derivative_market_updates( diff --git a/examples/exchange_client/derivative_exchange_rpc/4_Orderbook.py b/examples/exchange_client/derivative_exchange_rpc/4_Orderbook.py index 01443459..a7ea8660 100644 --- a/examples/exchange_client/derivative_exchange_rpc/4_Orderbook.py +++ b/examples/exchange_client/derivative_exchange_rpc/4_Orderbook.py @@ -1,16 +1,18 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - market = await client.fetch_derivative_orderbook_v2(market_id=market_id) - print(market) + depth = 1 + market = await client.fetch_derivative_orderbook_v2(market_id=market_id, depth=depth) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/5_StreamOrderbooks.py b/examples/exchange_client/derivative_exchange_rpc/5_StreamOrderbooks.py index e2044eae..fcf29d14 100644 --- a/examples/exchange_client/derivative_exchange_rpc/5_StreamOrderbooks.py +++ b/examples/exchange_client/derivative_exchange_rpc/5_StreamOrderbooks.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def orderbook_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6"] task = asyncio.get_event_loop().create_task( diff --git a/examples/exchange_client/derivative_exchange_rpc/6_StreamOrderbookUpdate.py b/examples/exchange_client/derivative_exchange_rpc/6_StreamOrderbookUpdate.py index 93b00a0a..a84d2115 100644 --- a/examples/exchange_client/derivative_exchange_rpc/6_StreamOrderbookUpdate.py +++ b/examples/exchange_client/derivative_exchange_rpc/6_StreamOrderbookUpdate.py @@ -4,8 +4,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient def stream_error_processor(exception: RpcError): @@ -33,9 +33,9 @@ def __init__(self, market_id: str): self.levels = {"buys": {}, "sells": {}} -async def load_orderbook_snapshot(async_client: AsyncClient, orderbook: Orderbook): +async def load_orderbook_snapshot(client: IndexerClient, orderbook: Orderbook): # load the snapshot - res = await async_client.fetch_derivative_orderbooks_v2(market_ids=[orderbook.market_id]) + res = await client.fetch_derivative_orderbooks_v2(market_ids=[orderbook.market_id], depth=1) for snapshot in res["orderbooks"]: if snapshot["marketId"] != orderbook.market_id: raise Exception("unexpected snapshot") @@ -54,13 +54,12 @@ async def load_orderbook_snapshot(async_client: AsyncClient, orderbook: Orderboo quantity=Decimal(sell["quantity"]), timestamp=int(sell["timestamp"]), ) - break async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - async_client = AsyncClient(network) + indexer_client = IndexerClient(network) market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" orderbook = Orderbook(market_id=market_id) @@ -72,7 +71,7 @@ async def queue_event(event: Dict[str, Any]): # start getting price levels updates task = asyncio.get_event_loop().create_task( - async_client.listen_derivative_orderbook_updates( + indexer_client.listen_derivative_orderbook_updates( market_ids=[market_id], callback=queue_event, on_end_callback=stream_closed_processor, @@ -82,7 +81,7 @@ async def queue_event(event: Dict[str, Any]): tasks.append(task) # load the snapshot once we are already receiving updates, so we don't miss any - await load_orderbook_snapshot(async_client=async_client, orderbook=orderbook) + await load_orderbook_snapshot(client=indexer_client, orderbook=orderbook) task = asyncio.get_event_loop().create_task( apply_orderbook_update(orderbook=orderbook, updates_queue=updates_queue) diff --git a/examples/exchange_client/derivative_exchange_rpc/7_Positions.py b/examples/exchange_client/derivative_exchange_rpc/7_Positions.py index 06be45a7..091bb7ba 100644 --- a/examples/exchange_client/derivative_exchange_rpc/7_Positions.py +++ b/examples/exchange_client/derivative_exchange_rpc/7_Positions.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = [ "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", "0xd97d0da6f6c11710ef06315971250e4e9aed4b7d4cd02059c9477ec8cf243782", @@ -26,7 +27,7 @@ async def main() -> None: subaccount_total_positions=subaccount_total_positions, pagination=pagination, ) - print(positions) + print(json.dumps(positions, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/derivative_exchange_rpc/9_StreamPositions.py b/examples/exchange_client/derivative_exchange_rpc/9_StreamPositions.py index a035008e..d5794bb1 100644 --- a/examples/exchange_client/derivative_exchange_rpc/9_StreamPositions.py +++ b/examples/exchange_client/derivative_exchange_rpc/9_StreamPositions.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def positions_event_processor(event: Dict[str, Any]): @@ -22,12 +22,12 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) market_ids = ["0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6"] subaccount_ids = ["0xea98e3aa091a6676194df40ac089e40ab4604bf9000000000000000000000000"] task = asyncio.get_event_loop().create_task( - client.listen_derivative_positions_updates( + client.listen_derivative_positions_v2_updates( callback=positions_event_processor, on_end_callback=stream_closed_processor, on_status_callback=stream_error_processor, diff --git a/examples/exchange_client/explorer_rpc/10_GetIBCTransfers.py b/examples/exchange_client/explorer_rpc/10_GetIBCTransfers.py index b6219b1c..b613a8f2 100644 --- a/examples/exchange_client/explorer_rpc/10_GetIBCTransfers.py +++ b/examples/exchange_client/explorer_rpc/10_GetIBCTransfers.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) sender = "inj1cll5cv3ezgal30gagkhnq2um6zf6qrmhw4r6c8" receiver = "cosmos1usr9g5a4s2qrwl63sdjtrs2qd4a7huh622pg82" src_channel = "channel-2" @@ -27,7 +28,7 @@ async def main() -> None: dest_port=dest_port, pagination=pagination, ) - print(ibc_transfers) + print(json.dumps(ibc_transfers, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/11_GetContractsTxsV2.py b/examples/exchange_client/explorer_rpc/11_GetContractsTxsV2.py new file mode 100644 index 00000000..08c6b132 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/11_GetContractsTxsV2.py @@ -0,0 +1,47 @@ +import asyncio +import time + +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + # Select network: local, testnet, mainnet, or custom + network = Network.testnet() + + # Initialize client + client = IndexerClient(network=network) + + try: + # Example parameters for fetching contract transactions + address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7" # Replace with actual contract address + + # Optional pagination and filtering parameters + pagination = PaginationOption( + limit=10, + start_time=int((time.time() - 100) * 1000), + end_time=int(time.time() * 1000), + ) + + # Fetch contract transactions V2 + response = await client.fetch_contract_txs_v2(address=address, height=60_000_000, pagination=pagination) + + # Print the results + print("Contract Transactions V2:") + print("Total Transactions:", len(response["data"])) + + for tx in response["data"]: + print("\nTransaction Details:") + print("ID:", tx["id"]) + print("Block Number:", tx["blockNumber"]) + print("Timestamp:", tx["blockTimestamp"]) + print("Hash:", tx["hash"]) + print("Tx Number:", tx["txNumber"]) + + except Exception as e: + print(f"Error occurred: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/12_GetValidators.py b/examples/exchange_client/explorer_rpc/12_GetValidators.py new file mode 100644 index 00000000..9e0d048d --- /dev/null +++ b/examples/exchange_client/explorer_rpc/12_GetValidators.py @@ -0,0 +1,26 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main(): + # Select network: choose between testnet, mainnet, or local + network = Network.testnet() + client = IndexerClient(network=network) + + try: + # Fetch validators + validators = await client.fetch_validators() + + # Print validators + print("Validators:") + print(json.dumps(validators, indent=2)) + + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/13_GetValidator.py b/examples/exchange_client/explorer_rpc/13_GetValidator.py new file mode 100644 index 00000000..1cea9b5b --- /dev/null +++ b/examples/exchange_client/explorer_rpc/13_GetValidator.py @@ -0,0 +1,28 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main(): + # Select network: choose between testnet, mainnet, or local + network = Network.testnet() + client = IndexerClient(network=network) + + address = "injvaloper1kk523rsm9pey740cx4plalp40009ncs0wrchfe" + + try: + # Fetch validator + validator = await client.fetch_validator(address=address) + + # Print validators + print("Validator:") + print(json.dumps(validator, indent=2)) + + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/14_GetValidatorUptime.py b/examples/exchange_client/explorer_rpc/14_GetValidatorUptime.py new file mode 100644 index 00000000..63e2461d --- /dev/null +++ b/examples/exchange_client/explorer_rpc/14_GetValidatorUptime.py @@ -0,0 +1,28 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main(): + # Select network: choose between testnet, mainnet, or local + network = Network.testnet() + client = IndexerClient(network=network) + + address = "injvaloper1kk523rsm9pey740cx4plalp40009ncs0wrchfe" + + try: + # Fetch validator uptime + uptime = await client.fetch_validator_uptime(address=address) + + # Print uptime + print("Validator uptime:") + print(json.dumps(uptime, indent=2)) + + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/15_GetWasmCodes.py b/examples/exchange_client/explorer_rpc/15_GetWasmCodes.py new file mode 100644 index 00000000..8404d1b4 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/15_GetWasmCodes.py @@ -0,0 +1,30 @@ +import asyncio +import json +import logging + +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + # network: Network = Network.testnet() + network = Network.testnet() + client = IndexerClient(network=network) + + pagination = PaginationOption( + limit=10, + from_number=1000, + to_number=2000, + ) + + wasm_codes = await client.fetch_wasm_codes( + pagination=pagination, + ) + print("Wasm codes:") + print(json.dumps(wasm_codes, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/16_GetWasmCodeById.py b/examples/exchange_client/explorer_rpc/16_GetWasmCodeById.py new file mode 100644 index 00000000..c273c166 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/16_GetWasmCodeById.py @@ -0,0 +1,24 @@ +import asyncio +import json +import logging + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network=network) + + code_id = 2008 + + wasm_code = await client.fetch_wasm_code_by_id( + code_id=code_id, + ) + print("Wasm code:") + print(json.dumps(wasm_code, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/17_GetWasmContracts.py b/examples/exchange_client/explorer_rpc/17_GetWasmContracts.py new file mode 100644 index 00000000..0f16e99e --- /dev/null +++ b/examples/exchange_client/explorer_rpc/17_GetWasmContracts.py @@ -0,0 +1,30 @@ +import asyncio +import json +import logging + +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network=network) + + pagination = PaginationOption( + limit=10, + from_number=1000, + to_number=2000, + ) + + wasm_contracts = await client.fetch_wasm_contracts( + assets_only=True, + pagination=pagination, + ) + print("Wasm contracts:") + print(json.dumps(wasm_contracts, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/18_GetWasmContractByAddress.py b/examples/exchange_client/explorer_rpc/18_GetWasmContractByAddress.py new file mode 100644 index 00000000..a31f6d30 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/18_GetWasmContractByAddress.py @@ -0,0 +1,22 @@ +import asyncio +import json +import logging + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network=network) + + address = "inj1yhz4e7df95908jhs9erl87vdzjkdsc24q7afjf" + + wasm_contract = await client.fetch_wasm_contract_by_address(address=address) + print("Wasm contract:") + print(json.dumps(wasm_contract, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/19_GetCw20Balance.py b/examples/exchange_client/explorer_rpc/19_GetCw20Balance.py new file mode 100644 index 00000000..27a15554 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/19_GetCw20Balance.py @@ -0,0 +1,22 @@ +import asyncio +import json +import logging + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network=network) + + address = "inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex" + + balance = await client.fetch_cw20_balance(address=address) + print("Cw20 balance:") + print(json.dumps(balance, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/1_GetTxByHash.py b/examples/exchange_client/explorer_rpc/1_GetTxByHash.py index f1158993..a5d40fc8 100644 --- a/examples/exchange_client/explorer_rpc/1_GetTxByHash.py +++ b/examples/exchange_client/explorer_rpc/1_GetTxByHash.py @@ -1,23 +1,28 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer +from pyinjective.composer_v2 import Composer from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) - composer = Composer(network=network.string()) + client = IndexerClient(network=network) + composer = Composer(network=network) + tx_hash = "0F3EBEC1882E1EEAC5B7BDD836E976250F1CD072B79485877CEACCB92ACDDF52" transaction_response = await client.fetch_tx_by_tx_hash(tx_hash=tx_hash) - print(transaction_response) + print("Transaction response:") + print(f"{json.dumps(transaction_response, indent=2)}\n") transaction_messages = composer.unpack_transaction_messages(transaction_data=transaction_response["data"]) - print(transaction_messages) + print("Transaction messages:") + print(f"{json.dumps(transaction_messages, indent=2)}\n") first_message = transaction_messages[0] - print(first_message) + print("First message:") + print(f"{json.dumps(first_message, indent=2)}\n") if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/20_Relayers.py b/examples/exchange_client/explorer_rpc/20_Relayers.py new file mode 100644 index 00000000..7984083e --- /dev/null +++ b/examples/exchange_client/explorer_rpc/20_Relayers.py @@ -0,0 +1,26 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main(): + # Select network: choose between testnet, mainnet, or local + network = Network.testnet() + client = IndexerClient(network=network) + + try: + # Fetch relayers + relayers = await client.fetch_relayers() + + # Print relayers + print("Relayers:") + print(json.dumps(relayers, indent=2)) + + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/21_GetBankTransfers.py b/examples/exchange_client/explorer_rpc/21_GetBankTransfers.py new file mode 100644 index 00000000..0deb7f67 --- /dev/null +++ b/examples/exchange_client/explorer_rpc/21_GetBankTransfers.py @@ -0,0 +1,24 @@ +import asyncio +import json +import logging + +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network=network) + + pagination = PaginationOption(limit=5) + senders = ["inj17xpfvakm2amg962yls6f84z3kell8c5l6s5ye9"] + + bank_transfers = await client.fetch_bank_transfers(senders=senders, pagination=pagination) + print("Bank transfers:") + print(json.dumps(bank_transfers, indent=2)) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/explorer_rpc/2_AccountTxs.py b/examples/exchange_client/explorer_rpc/2_AccountTxs.py index f743e302..50168198 100644 --- a/examples/exchange_client/explorer_rpc/2_AccountTxs.py +++ b/examples/exchange_client/explorer_rpc/2_AccountTxs.py @@ -1,16 +1,18 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption -from pyinjective.composer import Composer +from pyinjective.composer_v2 import Composer from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) - composer = Composer(network=network.string()) + client = IndexerClient(network=network) + composer = Composer(network=network) + address = "inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex" message_type = "cosmos.bank.v1beta1.MsgSend" limit = 2 @@ -20,11 +22,14 @@ async def main() -> None: message_type=message_type, pagination=pagination, ) - print(transactions_response) + print("Transactions response:") + print(f"{json.dumps(transactions_response, indent=2)}\n") first_transaction_messages = composer.unpack_transaction_messages(transaction_data=transactions_response["data"][0]) - print(first_transaction_messages) + print("First transaction messages:") + print(f"{json.dumps(first_transaction_messages, indent=2)}\n") first_message = first_transaction_messages[0] - print(first_message) + print("First message:") + print(f"{json.dumps(first_message, indent=2)}\n") if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/3_Blocks.py b/examples/exchange_client/explorer_rpc/3_Blocks.py index 4807030c..0379585c 100644 --- a/examples/exchange_client/explorer_rpc/3_Blocks.py +++ b/examples/exchange_client/explorer_rpc/3_Blocks.py @@ -1,18 +1,19 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) limit = 2 pagination = PaginationOption(limit=limit) blocks = await client.fetch_blocks(pagination=pagination) - print(blocks) + print(json.dumps(blocks, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/4_Block.py b/examples/exchange_client/explorer_rpc/4_Block.py index b41d5595..706c177e 100644 --- a/examples/exchange_client/explorer_rpc/4_Block.py +++ b/examples/exchange_client/explorer_rpc/4_Block.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) block_height = "5825046" block = await client.fetch_block(block_id=block_height) - print(block) + print(json.dumps(block, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/5_TxsRequest.py b/examples/exchange_client/explorer_rpc/5_TxsRequest.py index 70b91f68..111c3b24 100644 --- a/examples/exchange_client/explorer_rpc/5_TxsRequest.py +++ b/examples/exchange_client/explorer_rpc/5_TxsRequest.py @@ -1,18 +1,19 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) limit = 2 pagination = PaginationOption(limit=limit) txs = await client.fetch_txs(pagination=pagination) - print(txs) + print(json.dumps(txs, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/6_StreamTxs.py b/examples/exchange_client/explorer_rpc/6_StreamTxs.py index 07851daa..40f629d0 100644 --- a/examples/exchange_client/explorer_rpc/6_StreamTxs.py +++ b/examples/exchange_client/explorer_rpc/6_StreamTxs.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def tx_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) task = asyncio.get_event_loop().create_task( client.listen_txs_updates( diff --git a/examples/exchange_client/explorer_rpc/7_StreamBlocks.py b/examples/exchange_client/explorer_rpc/7_StreamBlocks.py index b9665742..465b5b24 100644 --- a/examples/exchange_client/explorer_rpc/7_StreamBlocks.py +++ b/examples/exchange_client/explorer_rpc/7_StreamBlocks.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def block_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) task = asyncio.get_event_loop().create_task( client.listen_blocks_updates( diff --git a/examples/exchange_client/explorer_rpc/8_GetPeggyDeposits.py b/examples/exchange_client/explorer_rpc/8_GetPeggyDeposits.py index 936ede47..20bb3b86 100644 --- a/examples/exchange_client/explorer_rpc/8_GetPeggyDeposits.py +++ b/examples/exchange_client/explorer_rpc/8_GetPeggyDeposits.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) receiver = "inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex" peggy_deposits = await client.fetch_peggy_deposit_txs(receiver=receiver) - print(peggy_deposits) + print(json.dumps(peggy_deposits, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/explorer_rpc/9_GetPeggyWithdrawals.py b/examples/exchange_client/explorer_rpc/9_GetPeggyWithdrawals.py index 0c38e9dc..1aaa0c97 100644 --- a/examples/exchange_client/explorer_rpc/9_GetPeggyWithdrawals.py +++ b/examples/exchange_client/explorer_rpc/9_GetPeggyWithdrawals.py @@ -1,19 +1,20 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network=network) sender = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku" limit = 2 pagination = PaginationOption(limit=limit) peggy_deposits = await client.fetch_peggy_withdrawal_txs(sender=sender, pagination=pagination) - print(peggy_deposits) + print(json.dumps(peggy_deposits, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/insurance_rpc/1_InsuranceFunds.py b/examples/exchange_client/insurance_rpc/1_InsuranceFunds.py index 4f962b08..f8c81351 100644 --- a/examples/exchange_client/insurance_rpc/1_InsuranceFunds.py +++ b/examples/exchange_client/insurance_rpc/1_InsuranceFunds.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) insurance_funds = await client.fetch_insurance_funds() - print(insurance_funds) + print(json.dumps(insurance_funds, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/insurance_rpc/2_Redemptions.py b/examples/exchange_client/insurance_rpc/2_Redemptions.py index 2118f210..4a125ded 100644 --- a/examples/exchange_client/insurance_rpc/2_Redemptions.py +++ b/examples/exchange_client/insurance_rpc/2_Redemptions.py @@ -1,18 +1,19 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) redeemer = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku" redemption_denom = "share4" status = "disbursed" insurance_redemptions = await client.fetch_redemptions(address=redeemer, denom=redemption_denom, status=status) - print(insurance_redemptions) + print(json.dumps(insurance_redemptions, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/meta_rpc/1_Ping.py b/examples/exchange_client/meta_rpc/1_Ping.py index 46feca3e..e1b74e83 100644 --- a/examples/exchange_client/meta_rpc/1_Ping.py +++ b/examples/exchange_client/meta_rpc/1_Ping.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) resp = await client.fetch_ping() - print("Health OK?", resp) + print(json.dumps(resp, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/meta_rpc/2_Version.py b/examples/exchange_client/meta_rpc/2_Version.py index 11681dc2..c5fe427b 100644 --- a/examples/exchange_client/meta_rpc/2_Version.py +++ b/examples/exchange_client/meta_rpc/2_Version.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) resp = await client.fetch_version() - print("Version:", resp) + print(json.dumps(resp, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/meta_rpc/3_Info.py b/examples/exchange_client/meta_rpc/3_Info.py index 3e103e51..d28c7b7f 100644 --- a/examples/exchange_client/meta_rpc/3_Info.py +++ b/examples/exchange_client/meta_rpc/3_Info.py @@ -1,17 +1,18 @@ import asyncio +import json import time -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) resp = await client.fetch_info() print("[!] Info:") - print(resp) + print(json.dumps(resp, indent=2)) latency = int(time.time() * 1000) - int(resp["timestamp"]) print(f"Server Latency: {latency}ms") diff --git a/examples/exchange_client/meta_rpc/4_StreamKeepAlive.py b/examples/exchange_client/meta_rpc/4_StreamKeepAlive.py index 84a22eb8..e7770e66 100644 --- a/examples/exchange_client/meta_rpc/4_StreamKeepAlive.py +++ b/examples/exchange_client/meta_rpc/4_StreamKeepAlive.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient def stream_error_processor(exception: RpcError): @@ -18,7 +18,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) tasks = [] async def keepalive_event_processor(event: Dict[str, Any]): diff --git a/examples/exchange_client/oracle_rpc/1_StreamPrices.py b/examples/exchange_client/oracle_rpc/1_StreamPrices.py index 91465207..1ed16b0f 100644 --- a/examples/exchange_client/oracle_rpc/1_StreamPrices.py +++ b/examples/exchange_client/oracle_rpc/1_StreamPrices.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def price_event_processor(event: Dict[str, Any]): @@ -22,14 +22,15 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) - market = (await client.all_derivative_markets())[ - "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - ] - - base_symbol = market.oracle_base - quote_symbol = market.oracle_quote - oracle_type = market.oracle_type + client = IndexerClient(network) + market_response = await client.fetch_derivative_market( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + ) + market = market_response["market"] + + base_symbol = market["oracleBase"] + quote_symbol = market["oracleQuote"] + oracle_type = market["oracleType"].lower() task = asyncio.get_event_loop().create_task( client.listen_oracle_prices_updates( diff --git a/examples/exchange_client/oracle_rpc/2_Price.py b/examples/exchange_client/oracle_rpc/2_Price.py index b5fb4d0c..45e5d769 100644 --- a/examples/exchange_client/oracle_rpc/2_Price.py +++ b/examples/exchange_client/oracle_rpc/2_Price.py @@ -1,13 +1,14 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market = (await client.all_derivative_markets())[ "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" ] @@ -21,7 +22,7 @@ async def main() -> None: quote_symbol=quote_symbol, oracle_type=oracle_type, ) - print(oracle_prices) + print(json.dumps(oracle_prices, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/oracle_rpc/3_OracleList.py b/examples/exchange_client/oracle_rpc/3_OracleList.py index db2b7f03..e866d6ca 100644 --- a/examples/exchange_client/oracle_rpc/3_OracleList.py +++ b/examples/exchange_client/oracle_rpc/3_OracleList.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) - oracle_list = await client.fetch_oracle_list() - print(oracle_list) + client = IndexerClient(network) + oracle_list = await client.fetch_oracle_list(symbol="TIA", oracle_type="provider") + print(json.dumps(oracle_list, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/oracle_rpc/4_PriceV2.py b/examples/exchange_client/oracle_rpc/4_PriceV2.py new file mode 100644 index 00000000..cb0a9f8c --- /dev/null +++ b/examples/exchange_client/oracle_rpc/4_PriceV2.py @@ -0,0 +1,26 @@ +import asyncio +import json + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def main() -> None: + # select network: local, testnet, mainnet + network = Network.testnet() + client = IndexerClient(network) + market = (await client.all_derivative_markets())[ + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + ] + + filter = client.oracle_price_v2_filter( + base_symbol=market.oracle_base, + quote_symbol=market.oracle_quote, + oracle_type=market.oracle_type, + ) + oracle_prices = await client.fetch_oracle_price_v2(filters=[filter]) + print(json.dumps(oracle_prices, indent=2)) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/oracle_rpc/5_StreamOracleList.py b/examples/exchange_client/oracle_rpc/5_StreamOracleList.py new file mode 100644 index 00000000..438b627c --- /dev/null +++ b/examples/exchange_client/oracle_rpc/5_StreamOracleList.py @@ -0,0 +1,41 @@ +import asyncio +from typing import Any, Dict + +from grpc import RpcError + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def oracle_list_event_processor(event: Dict[str, Any]): + print(event) + + +def stream_error_processor(exception: RpcError): + print(f"There was an error listening to oracle list updates ({exception})") + + +def stream_closed_processor(): + print("The oracle list updates stream has been closed") + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network) + + task = asyncio.get_event_loop().create_task( + client.listen_oracle_list_updates( + callback=oracle_list_event_processor, + on_end_callback=stream_closed_processor, + on_status_callback=stream_error_processor, + oracle_type="provider", + symbols=["TIA"], + ) + ) + + await asyncio.sleep(delay=60) + task.cancel() + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py b/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py new file mode 100644 index 00000000..2f5f8563 --- /dev/null +++ b/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py @@ -0,0 +1,41 @@ +import asyncio +from typing import Any, Dict + +from grpc import RpcError + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def price_event_processor(event: Dict[str, Any]): + print(event) + + +def stream_error_processor(exception: RpcError): + print(f"There was an error listening to oracle prices by markets updates ({exception})") + + +def stream_closed_processor(): + print("The oracle prices by markets updates stream has been closed") + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network) + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + + task = asyncio.get_event_loop().create_task( + client.listen_oracle_prices_by_markets_updates( + market_ids=[market_id], + callback=price_event_processor, + on_end_callback=stream_closed_processor, + on_status_callback=stream_error_processor, + ) + ) + + await asyncio.sleep(delay=60) + task.cancel() + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/portfolio_rpc/1_AccountPortfolio.py b/examples/exchange_client/portfolio_rpc/1_AccountPortfolio.py index ea6ef020..a1869c67 100644 --- a/examples/exchange_client/portfolio_rpc/1_AccountPortfolio.py +++ b/examples/exchange_client/portfolio_rpc/1_AccountPortfolio.py @@ -1,16 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) account_address = "inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt" - portfolio = await client.fetch_account_portfolio_balances(account_address=account_address) - print(portfolio) + portfolio = await client.fetch_account_portfolio_balances(account_address=account_address, usd=False) + print(json.dumps(portfolio, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/portfolio_rpc/2_StreamAccountPortfolio.py b/examples/exchange_client/portfolio_rpc/2_StreamAccountPortfolio.py index 4b3b6a04..6842648b 100644 --- a/examples/exchange_client/portfolio_rpc/2_StreamAccountPortfolio.py +++ b/examples/exchange_client/portfolio_rpc/2_StreamAccountPortfolio.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def account_portfolio_event_processor(event: Dict[str, Any]): @@ -21,7 +21,7 @@ def stream_closed_processor(): async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) account_address = "inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt" task = asyncio.get_event_loop().create_task( diff --git a/examples/exchange_client/spot_exchange_rpc/10_StreamTrades.py b/examples/exchange_client/spot_exchange_rpc/10_StreamTrades.py index a1d63511..8e9940a2 100644 --- a/examples/exchange_client/spot_exchange_rpc/10_StreamTrades.py +++ b/examples/exchange_client/spot_exchange_rpc/10_StreamTrades.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def trade_event_processor(event: Dict[str, Any]): @@ -21,7 +21,7 @@ def stream_closed_processor(): async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = [ "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", "0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0", diff --git a/examples/exchange_client/spot_exchange_rpc/11_SubaccountOrdersList.py b/examples/exchange_client/spot_exchange_rpc/11_SubaccountOrdersList.py index 760119dc..8953d7ba 100644 --- a/examples/exchange_client/spot_exchange_rpc/11_SubaccountOrdersList.py +++ b/examples/exchange_client/spot_exchange_rpc/11_SubaccountOrdersList.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001" market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" skip = 10 @@ -17,7 +18,7 @@ async def main() -> None: orders = await client.fetch_spot_subaccount_orders_list( subaccount_id=subaccount_id, market_id=market_id, pagination=pagination ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/12_SubaccountTradesList.py b/examples/exchange_client/spot_exchange_rpc/12_SubaccountTradesList.py index d35a12e9..6f45015d 100644 --- a/examples/exchange_client/spot_exchange_rpc/12_SubaccountTradesList.py +++ b/examples/exchange_client/spot_exchange_rpc/12_SubaccountTradesList.py @@ -1,14 +1,15 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) subaccount_id = "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000" market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" execution_type = "market" @@ -23,7 +24,7 @@ async def main() -> None: direction=direction, pagination=pagination, ) - print(trades) + print(json.dumps(trades, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/14_Orderbooks.py b/examples/exchange_client/spot_exchange_rpc/14_Orderbooks.py index ac672940..92381cdb 100644 --- a/examples/exchange_client/spot_exchange_rpc/14_Orderbooks.py +++ b/examples/exchange_client/spot_exchange_rpc/14_Orderbooks.py @@ -1,18 +1,20 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = [ "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", "0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0", ] - orderbooks = await client.fetch_spot_orderbooks_v2(market_ids=market_ids) - print(orderbooks) + depth = 1 + orderbooks = await client.fetch_spot_orderbooks_v2(market_ids=market_ids, depth=depth) + print(json.dumps(orderbooks, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/15_HistoricalOrders.py b/examples/exchange_client/spot_exchange_rpc/15_HistoricalOrders.py index bac4b2c1..377224e1 100644 --- a/examples/exchange_client/spot_exchange_rpc/15_HistoricalOrders.py +++ b/examples/exchange_client/spot_exchange_rpc/15_HistoricalOrders.py @@ -1,13 +1,14 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"] subaccount_id = "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000" skip = 10 @@ -20,7 +21,7 @@ async def main() -> None: order_types=order_types, pagination=pagination, ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/1_Market.py b/examples/exchange_client/spot_exchange_rpc/1_Market.py index e8705d68..9bc65358 100644 --- a/examples/exchange_client/spot_exchange_rpc/1_Market.py +++ b/examples/exchange_client/spot_exchange_rpc/1_Market.py @@ -1,15 +1,16 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" market = await client.fetch_spot_market(market_id=market_id) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/2_Markets.py b/examples/exchange_client/spot_exchange_rpc/2_Markets.py index 3dc815eb..4815c3f7 100644 --- a/examples/exchange_client/spot_exchange_rpc/2_Markets.py +++ b/examples/exchange_client/spot_exchange_rpc/2_Markets.py @@ -1,19 +1,20 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_status = "active" base_denom = "inj" quote_denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" market = await client.fetch_spot_markets( market_statuses=[market_status], base_denom=base_denom, quote_denom=quote_denom ) - print(market) + print(json.dumps(market, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/3_StreamMarkets.py b/examples/exchange_client/spot_exchange_rpc/3_StreamMarkets.py index ac56d2d7..0cfee99d 100644 --- a/examples/exchange_client/spot_exchange_rpc/3_StreamMarkets.py +++ b/examples/exchange_client/spot_exchange_rpc/3_StreamMarkets.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def market_event_processor(event: Dict[str, Any]): @@ -22,7 +22,7 @@ def stream_closed_processor(): async def main() -> None: # select network: local, testnet, mainnet network = Network.mainnet() - client = AsyncClient(network) + client = IndexerClient(network) task = asyncio.get_event_loop().create_task( client.listen_spot_markets_updates( diff --git a/examples/exchange_client/spot_exchange_rpc/4_Orderbook.py b/examples/exchange_client/spot_exchange_rpc/4_Orderbook.py index 9e4e08eb..6ff61ace 100644 --- a/examples/exchange_client/spot_exchange_rpc/4_Orderbook.py +++ b/examples/exchange_client/spot_exchange_rpc/4_Orderbook.py @@ -1,15 +1,17 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - orderbook = await client.fetch_spot_orderbook_v2(market_id=market_id) - print(orderbook) + depth = 1 + orderbook = await client.fetch_spot_orderbook_v2(market_id=market_id, depth=depth) + print(json.dumps(orderbook, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/6_Trades.py b/examples/exchange_client/spot_exchange_rpc/6_Trades.py index 029a4f90..7fdc585a 100644 --- a/examples/exchange_client/spot_exchange_rpc/6_Trades.py +++ b/examples/exchange_client/spot_exchange_rpc/6_Trades.py @@ -1,12 +1,13 @@ import asyncio +import json -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = ["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"] execution_side = "taker" direction = "buy" @@ -19,7 +20,7 @@ async def main() -> None: direction=direction, execution_types=execution_types, ) - print(orders) + print(json.dumps(orders, indent=2)) if __name__ == "__main__": diff --git a/examples/exchange_client/spot_exchange_rpc/7_StreamOrderbookSnapshot.py b/examples/exchange_client/spot_exchange_rpc/7_StreamOrderbookSnapshot.py index 7eacf4df..9634206c 100644 --- a/examples/exchange_client/spot_exchange_rpc/7_StreamOrderbookSnapshot.py +++ b/examples/exchange_client/spot_exchange_rpc/7_StreamOrderbookSnapshot.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def orderbook_event_processor(event: Dict[str, Any]): @@ -21,7 +21,7 @@ def stream_closed_processor(): async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_ids = [ "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", "0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0", diff --git a/examples/exchange_client/spot_exchange_rpc/8_StreamOrderbookUpdate.py b/examples/exchange_client/spot_exchange_rpc/8_StreamOrderbookUpdate.py index 6a7fb247..062ef96e 100644 --- a/examples/exchange_client/spot_exchange_rpc/8_StreamOrderbookUpdate.py +++ b/examples/exchange_client/spot_exchange_rpc/8_StreamOrderbookUpdate.py @@ -4,8 +4,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient def stream_error_processor(exception: RpcError): @@ -33,9 +33,9 @@ def __init__(self, market_id: str): self.levels = {"buys": {}, "sells": {}} -async def load_orderbook_snapshot(async_client: AsyncClient, orderbook: Orderbook): +async def load_orderbook_snapshot(client: IndexerClient, orderbook: Orderbook): # load the snapshot - res = await async_client.fetch_spot_orderbooks_v2(market_ids=[orderbook.market_id]) + res = await client.fetch_spot_orderbooks_v2(market_ids=[orderbook.market_id], depth=0) for snapshot in res["orderbooks"]: if snapshot["marketId"] != orderbook.market_id: raise Exception("unexpected snapshot") @@ -54,13 +54,12 @@ async def load_orderbook_snapshot(async_client: AsyncClient, orderbook: Orderboo quantity=Decimal(sell["quantity"]), timestamp=int(sell["timestamp"]), ) - break async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() - async_client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" orderbook = Orderbook(market_id=market_id) @@ -72,7 +71,7 @@ async def queue_event(event: Dict[str, Any]): # start getting price levels updates task = asyncio.get_event_loop().create_task( - async_client.listen_spot_orderbook_updates( + client.listen_spot_orderbook_updates( market_ids=[market_id], callback=queue_event, on_end_callback=stream_closed_processor, @@ -82,7 +81,7 @@ async def queue_event(event: Dict[str, Any]): tasks.append(task) # load the snapshot once we are already receiving updates, so we don't miss any - await load_orderbook_snapshot(async_client=async_client, orderbook=orderbook) + await load_orderbook_snapshot(client=client, orderbook=orderbook) task = asyncio.get_event_loop().create_task( apply_orderbook_update(orderbook=orderbook, updates_queue=updates_queue) diff --git a/examples/exchange_client/spot_exchange_rpc/9_StreamHistoricalOrders.py b/examples/exchange_client/spot_exchange_rpc/9_StreamHistoricalOrders.py index 91ed7810..445e2d42 100644 --- a/examples/exchange_client/spot_exchange_rpc/9_StreamHistoricalOrders.py +++ b/examples/exchange_client/spot_exchange_rpc/9_StreamHistoricalOrders.py @@ -3,8 +3,8 @@ from grpc import RpcError -from pyinjective.async_client import AsyncClient from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient async def order_event_processor(event: Dict[str, Any]): @@ -21,7 +21,7 @@ def stream_closed_processor(): async def main() -> None: network = Network.testnet() - client = AsyncClient(network) + client = IndexerClient(network) market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" order_direction = "buy" diff --git a/poetry.lock b/poetry.lock index 1cc5c3be..fadb6d45 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,103 +2,147 @@ [[package]] name = "aiohappyeyeballs" -version = "2.4.4" +version = "2.6.1" description = "Happy Eyeballs for asyncio" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, - {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, + {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, + {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, ] [[package]] name = "aiohttp" -version = "3.11.10" +version = "3.13.5" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.9" files = [ - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbad88a61fa743c5d283ad501b01c153820734118b65aee2bd7dbb735475ce0d"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80886dac673ceaef499de2f393fc80bb4481a129e6cb29e624a12e3296cc088f"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61b9bae80ed1f338c42f57c16918853dc51775fb5cb61da70d590de14d8b5fb4"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e2e576caec5c6a6b93f41626c9c02fc87cd91538b81a3670b2e04452a63def6"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02c13415b5732fb6ee7ff64583a5e6ed1c57aa68f17d2bda79c04888dfdc2769"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfce37f31f20800a6a6620ce2cdd6737b82e42e06e6e9bd1b36f546feb3c44f"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbbfff4c679c64e6e23cb213f57cc2c9165c9a65d63717108a644eb5a7398df"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49c7dbbc1a559ae14fc48387a115b7d4bbc84b4a2c3b9299c31696953c2a5219"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:68386d78743e6570f054fe7949d6cb37ef2b672b4d3405ce91fafa996f7d9b4d"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9ef405356ba989fb57f84cac66f7b0260772836191ccefbb987f414bcd2979d9"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5d6958671b296febe7f5f859bea581a21c1d05430d1bbdcf2b393599b1cdce77"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:99b7920e7165be5a9e9a3a7f1b680f06f68ff0d0328ff4079e5163990d046767"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0dc49f42422163efb7e6f1df2636fe3db72713f6cd94688e339dbe33fe06d61d"}, - {file = "aiohttp-3.11.10-cp310-cp310-win32.whl", hash = "sha256:40d1c7a7f750b5648642586ba7206999650208dbe5afbcc5284bcec6579c9b91"}, - {file = "aiohttp-3.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:68ff6f48b51bd78ea92b31079817aff539f6c8fc80b6b8d6ca347d7c02384e33"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:77c4aa15a89847b9891abf97f3d4048f3c2d667e00f8a623c89ad2dccee6771b"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:909af95a72cedbefe5596f0bdf3055740f96c1a4baa0dd11fd74ca4de0b4e3f1"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:386fbe79863eb564e9f3615b959e28b222259da0c48fd1be5929ac838bc65683"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3de34936eb1a647aa919655ff8d38b618e9f6b7f250cc19a57a4bf7fd2062b6d"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c9527819b29cd2b9f52033e7fb9ff08073df49b4799c89cb5754624ecd98299"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a96e3e03300b41f261bbfd40dfdbf1c301e87eab7cd61c054b1f2e7c89b9e8"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f5635f7b74bcd4f6f72fcd85bea2154b323a9f05226a80bc7398d0c90763b0"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03b6002e20938fc6ee0918c81d9e776bebccc84690e2b03ed132331cca065ee5"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6362cc6c23c08d18ddbf0e8c4d5159b5df74fea1a5278ff4f2c79aed3f4e9f46"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3691ed7726fef54e928fe26344d930c0c8575bc968c3e239c2e1a04bd8cf7838"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31d5093d3acd02b31c649d3a69bb072d539d4c7659b87caa4f6d2bcf57c2fa2b"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8b3cf2dc0f0690a33f2d2b2cb15db87a65f1c609f53c37e226f84edb08d10f52"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fbbaea811a2bba171197b08eea288b9402faa2bab2ba0858eecdd0a4105753a3"}, - {file = "aiohttp-3.11.10-cp311-cp311-win32.whl", hash = "sha256:4b2c7ac59c5698a7a8207ba72d9e9c15b0fc484a560be0788b31312c2c5504e4"}, - {file = "aiohttp-3.11.10-cp311-cp311-win_amd64.whl", hash = "sha256:974d3a2cce5fcfa32f06b13ccc8f20c6ad9c51802bb7f829eae8a1845c4019ec"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b78f053a7ecfc35f0451d961dacdc671f4bcbc2f58241a7c820e9d82559844cf"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ab7485222db0959a87fbe8125e233b5a6f01f4400785b36e8a7878170d8c3138"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cf14627232dfa8730453752e9cdc210966490992234d77ff90bc8dc0dce361d5"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076bc454a7e6fd646bc82ea7f98296be0b1219b5e3ef8a488afbdd8e81fbac50"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:482cafb7dc886bebeb6c9ba7925e03591a62ab34298ee70d3dd47ba966370d2c"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf3d1a519a324af764a46da4115bdbd566b3c73fb793ffb97f9111dbc684fc4d"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24213ba85a419103e641e55c27dc7ff03536c4873470c2478cce3311ba1eee7b"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b99acd4730ad1b196bfb03ee0803e4adac371ae8efa7e1cbc820200fc5ded109"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:14cdb5a9570be5a04eec2ace174a48ae85833c2aadc86de68f55541f66ce42ab"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7e97d622cb083e86f18317282084bc9fbf261801b0192c34fe4b1febd9f7ae69"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:012f176945af138abc10c4a48743327a92b4ca9adc7a0e078077cdb5dbab7be0"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44224d815853962f48fe124748227773acd9686eba6dc102578defd6fc99e8d9"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c87bf31b7fdab94ae3adbe4a48e711bfc5f89d21cf4c197e75561def39e223bc"}, - {file = "aiohttp-3.11.10-cp312-cp312-win32.whl", hash = "sha256:06a8e2ee1cbac16fe61e51e0b0c269400e781b13bcfc33f5425912391a542985"}, - {file = "aiohttp-3.11.10-cp312-cp312-win_amd64.whl", hash = "sha256:be2b516f56ea883a3e14dda17059716593526e10fb6303189aaf5503937db408"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8cc5203b817b748adccb07f36390feb730b1bc5f56683445bfe924fc270b8816"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ef359ebc6949e3a34c65ce20230fae70920714367c63afd80ea0c2702902ccf"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bca390cb247dbfaec3c664326e034ef23882c3f3bfa5fbf0b56cad0320aaca5"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:811f23b3351ca532af598405db1093f018edf81368e689d1b508c57dcc6b6a32"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddf5f7d877615f6a1e75971bfa5ac88609af3b74796ff3e06879e8422729fd01"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ab29b8a0beb6f8eaf1e5049252cfe74adbaafd39ba91e10f18caeb0e99ffb34"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c49a76c1038c2dd116fa443eba26bbb8e6c37e924e2513574856de3b6516be99"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f3dc0e330575f5b134918976a645e79adf333c0a1439dcf6899a80776c9ab39"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:efb15a17a12497685304b2d976cb4939e55137df7b09fa53f1b6a023f01fcb4e"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:db1d0b28fcb7f1d35600150c3e4b490775251dea70f894bf15c678fdd84eda6a"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:15fccaf62a4889527539ecb86834084ecf6e9ea70588efde86e8bc775e0e7542"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:593c114a2221444f30749cc5e5f4012488f56bd14de2af44fe23e1e9894a9c60"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7852bbcb4d0d2f0c4d583f40c3bc750ee033265d80598d0f9cb6f372baa6b836"}, - {file = "aiohttp-3.11.10-cp313-cp313-win32.whl", hash = "sha256:65e55ca7debae8faaffee0ebb4b47a51b4075f01e9b641c31e554fd376595c6c"}, - {file = "aiohttp-3.11.10-cp313-cp313-win_amd64.whl", hash = "sha256:beb39a6d60a709ae3fb3516a1581777e7e8b76933bb88c8f4420d875bb0267c6"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0580f2e12de2138f34debcd5d88894786453a76e98febaf3e8fe5db62d01c9bf"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a55d2ad345684e7c3dd2c20d2f9572e9e1d5446d57200ff630e6ede7612e307f"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04814571cb72d65a6899db6099e377ed00710bf2e3eafd2985166f2918beaf59"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e44a9a3c053b90c6f09b1bb4edd880959f5328cf63052503f892c41ea786d99f"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:502a1464ccbc800b4b1995b302efaf426e8763fadf185e933c2931df7db9a199"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:613e5169f8ae77b1933e42e418a95931fb4867b2991fc311430b15901ed67079"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cca22a61b7fe45da8fc73c3443150c3608750bbe27641fc7558ec5117b27fdf"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86a5dfcc39309470bd7b68c591d84056d195428d5d2e0b5ccadfbaf25b026ebc"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:77ae58586930ee6b2b6f696c82cf8e78c8016ec4795c53e36718365f6959dc82"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:78153314f26d5abef3239b4a9af20c229c6f3ecb97d4c1c01b22c4f87669820c"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:98283b94cc0e11c73acaf1c9698dea80c830ca476492c0fe2622bd931f34b487"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:53bf2097e05c2accc166c142a2090e4c6fd86581bde3fd9b2d3f9e93dda66ac1"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5532f0441fc09c119e1dca18fbc0687e64fbeb45aa4d6a87211ceaee50a74c4"}, - {file = "aiohttp-3.11.10-cp39-cp39-win32.whl", hash = "sha256:47ad15a65fb41c570cd0ad9a9ff8012489e68176e7207ec7b82a0940dddfd8be"}, - {file = "aiohttp-3.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:c6b9e6d7e41656d78e37ce754813fa44b455c3d0d0dced2a047def7dc5570b74"}, - {file = "aiohttp-3.11.10.tar.gz", hash = "sha256:b1fc6b45010a8d0ff9e88f9f2418c6fd408c99c211257334aff41597ebece42e"}, + {file = "aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b"}, + {file = "aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5"}, + {file = "aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95"}, + {file = "aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e"}, + {file = "aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7"}, + {file = "aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9"}, + {file = "aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76"}, + {file = "aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6"}, + {file = "aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d"}, + {file = "aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc"}, + {file = "aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac"}, + {file = "aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3"}, + {file = "aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06"}, + {file = "aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8"}, + {file = "aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9"}, + {file = "aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416"}, + {file = "aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1"}, + {file = "aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe"}, + {file = "aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14"}, + {file = "aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3"}, + {file = "aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1"}, + {file = "aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61"}, + {file = "aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832"}, + {file = "aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665"}, + {file = "aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6"}, + {file = "aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c"}, + {file = "aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc"}, + {file = "aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83"}, + {file = "aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c"}, + {file = "aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be"}, + {file = "aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b"}, + {file = "aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1"}, + {file = "aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b"}, + {file = "aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3"}, + {file = "aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162"}, + {file = "aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a"}, + {file = "aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254"}, + {file = "aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a"}, + {file = "aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500"}, + {file = "aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9"}, + {file = "aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8"}, + {file = "aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9"}, + {file = "aiohttp-3.13.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:347542f0ea3f95b2a955ee6656461fa1c776e401ac50ebce055a6c38454a0adf"}, + {file = "aiohttp-3.13.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:178c7b5e62b454c2bc790786e6058c3cc968613b4419251b478c153a4aec32b1"}, + {file = "aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af545c2cffdb0967a96b6249e6f5f7b0d92cdfd267f9d5238d5b9ca63e8edb10"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:206b7b3ef96e4ce211754f0cd003feb28b7d81f0ad26b8d077a5d5161436067f"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ee5e86776273de1795947d17bddd6bb19e0365fd2af4289c0d2c5454b6b1d36b"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95d14ca7abefde230f7639ec136ade282655431fd5db03c343b19dda72dd1643"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:912d4b6af530ddb1338a66229dac3a25ff11d4448be3ec3d6340583995f56031"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e999f0c88a458c836d5fb521814e92ed2172c649200336a6df514987c1488258"}, + {file = "aiohttp-3.13.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39380e12bd1f2fdab4285b6e055ad48efbaed5c836433b142ed4f5b9be71036a"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9efcc0f11d850cefcafdd9275b9576ad3bfb539bed96807663b32ad99c4d4b88"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:147b4f501d0292077f29d5268c16bb7c864a1f054d7001c4c1812c0421ea1ed0"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d147004fede1b12f6013a6dbb2a26a986a671a03c6ea740ddc76500e5f1c399f"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:9277145d36a01653863899c665243871434694bcc3431922c3b35c978061bdb8"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4e704c52438f66fdd89588346183d898bb42167cf88f8b7ff1c0f9fc957c348f"}, + {file = "aiohttp-3.13.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8a4d3427e8de1312ddf309cc482186466c79895b3a139fed3259fc01dfa9a5b"}, + {file = "aiohttp-3.13.5-cp39-cp39-win32.whl", hash = "sha256:6f497a6876aa4b1a102b04996ce4c1170c7040d83faa9387dd921c16e30d5c83"}, + {file = "aiohttp-3.13.5-cp39-cp39-win_amd64.whl", hash = "sha256:cb979826071c0986a5f08333a36104153478ce6018c58cba7f9caddaf63d5d67"}, + {file = "aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1"}, ] [package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" +aiohappyeyeballs = ">=2.5.0" +aiosignal = ">=1.4.0" async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" frozenlist = ">=1.1.1" @@ -107,17 +151,17 @@ propcache = ">=0.2.0" yarl = ">=1.17.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] +speedups = ["Brotli (>=1.2)", "aiodns (>=3.3.0)", "backports.zstd", "brotlicffi (>=1.2)"] [[package]] name = "aioresponses" -version = "0.7.7" +version = "0.7.8" description = "Mock out requests made by ClientSession from aiohttp package" optional = false python-versions = "*" files = [ - {file = "aioresponses-0.7.7-py2.py3-none-any.whl", hash = "sha256:6975f31fe5e7f2113a41bd387221f31854f285ecbc05527272cd8ba4c50764a3"}, - {file = "aioresponses-0.7.7.tar.gz", hash = "sha256:66292f1d5c94a3cb984f3336d806446042adb17347d3089f2d3962dd6e5ba55a"}, + {file = "aioresponses-0.7.8-py2.py3-none-any.whl", hash = "sha256:b73bd4400d978855e55004b23a3a84cb0f018183bcf066a85ad392800b5b9a94"}, + {file = "aioresponses-0.7.8.tar.gz", hash = "sha256:b861cdfe5dc58f3b8afac7b0a6973d5d7b2cb608dd0f6253d16b8ee8eaf6df11"}, ] [package.dependencies] @@ -126,17 +170,29 @@ packaging = ">=22.0" [[package]] name = "aiosignal" -version = "1.3.1" +version = "1.4.0" description = "aiosignal: a list of registered asynchronous callbacks" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, + {file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"}, + {file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"}, ] [package.dependencies] frozenlist = ">=1.1.0" +typing-extensions = {version = ">=4.2", markers = "python_version < \"3.13\""} + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] [[package]] name = "asn1crypto" @@ -162,22 +218,25 @@ files = [ [[package]] name = "attrs" -version = "24.2.0" +version = "26.1.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"}, + {file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"}, ] -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +[[package]] +name = "backports-asyncio-runner" +version = "1.2.0" +description = "Backport of asyncio.Runner, a context manager that controls event loop life cycle." +optional = false +python-versions = "<3.11,>=3.8" +files = [ + {file = "backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5"}, + {file = "backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162"}, +] [[package]] name = "bech32" @@ -192,13 +251,13 @@ files = [ [[package]] name = "bip32" -version = "4.0" -description = "Minimalistic implementation of the BIP32 key derivation scheme" +version = "5.0.0" +description = "Minimalistic implementation of BIP32 (Bitcoin HD wallets)" optional = false -python-versions = "*" +python-versions = ">=3.9" files = [ - {file = "bip32-4.0-py3-none-any.whl", hash = "sha256:9728b38336129c00e1f870bbb3e328c9632d51c1bddeef4011fd3115cb3aeff9"}, - {file = "bip32-4.0.tar.gz", hash = "sha256:8035588f252f569bb414bc60df151ae431fc1c6789a19488a32890532ef3a2fc"}, + {file = "bip32-5.0.0-py3-none-any.whl", hash = "sha256:b20872795ae2bb4e5fac351f53ccdf2b998f82e927413922a2c5473a004bd6d0"}, + {file = "bip32-5.0.0.tar.gz", hash = "sha256:4caa1f74eed9f2cd4624b55f34a4094f52542552fe3d0cc52e1179b8d6e9f21e"}, ] [package.dependencies] @@ -206,514 +265,656 @@ coincurve = ">=15.0,<21" [[package]] name = "bitarray" -version = "3.0.0" +version = "3.8.1" description = "efficient arrays of booleans -- C extension" optional = false python-versions = "*" files = [ - {file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ddbf71a97ad1d6252e6e93d2d703b624d0a5b77c153b12f9ea87d83e1250e0c"}, - {file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0e7f24a0b01e6e6a0191c50b06ca8edfdec1988d9d2b264d669d2487f4f4680"}, - {file = "bitarray-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150b7b29c36d9f1a24779aea723fdfc73d1c1c161dc0ea14990da27d4e947092"}, - {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8330912be6cb8e2fbfe8eb69f82dee139d605730cadf8d50882103af9ac83bb4"}, - {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e56ba8be5f17dee0ffa6d6ce85251e062ded2faa3cbd2558659c671e6c3bf96d"}, - {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd94b4803811c738e504a4b499fb2f848b2f7412d71e6b517508217c1d7929d"}, - {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0255bd05ec7165e512c115423a5255a3f301417973d20a80fc5bfc3f3640bcb"}, - {file = "bitarray-3.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe606e728842389943a939258809dc5db2de831b1d2e0118515059e87f7bbc1a"}, - {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e89ea59a3ed86a6eb150d016ed28b1bedf892802d0ed32b5659d3199440f3ced"}, - {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cf0cc2e91dd38122dec2e6541efa99aafb0a62e118179218181eff720b4b8153"}, - {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d9fe3ee51afeb909b68f97e14c6539ace3f4faa99b21012e610bbe7315c388d"}, - {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:37be5482b9df3105bad00fdf7dc65244e449b130867c3879c9db1db7d72e508b"}, - {file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0027b8f3bb2bba914c79115e96a59b9924aafa1a578223a7c4f0a7242d349842"}, - {file = "bitarray-3.0.0-cp310-cp310-win32.whl", hash = "sha256:628f93e9c2c23930bd1cfe21c634d6c84ec30f45f23e69aefe1fcd262186d7bb"}, - {file = "bitarray-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:0b655c3110e315219e266b2732609fddb0857bc69593de29f3c2ba74b7d3f51a"}, - {file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:44c3e78b60070389b824d5a654afa1c893df723153c81904088d4922c3cfb6ac"}, - {file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:545d36332de81e4742a845a80df89530ff193213a50b4cbef937ed5a44c0e5e5"}, - {file = "bitarray-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a9eb510cde3fa78c2e302bece510bf5ed494ec40e6b082dec753d6e22d5d1b1"}, - {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e3727ab63dfb6bde00b281934e2212bb7529ea3006c0031a556a84d2268bea5"}, - {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2055206ed653bee0b56628f6a4d248d53e5660228d355bbec0014bdfa27050ae"}, - {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:147542299f458bdb177f798726e5f7d39ab8491de4182c3c6d9885ed275a3c2b"}, - {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f761184b93092077c7f6b7dad7bd4e671c1620404a76620da7872ceb576a94"}, - {file = "bitarray-3.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e008b7b4ce6c7f7a54b250c45c28d4243cc2a3bbfd5298fa7dac92afda229842"}, - {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dfea514e665af278b2e1d4deb542de1cd4f77413bee83dd15ae16175976ea8d5"}, - {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:66d6134b7bb737b88f1d16478ad0927c571387f6054f4afa5557825a4c1b78e2"}, - {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3cd565253889940b4ec4768d24f101d9fe111cad4606fdb203ea16f9797cf9ed"}, - {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4800c91a14656789d2e67d9513359e23e8a534c8ee1482bb9b517a4cfc845200"}, - {file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c2945e0390d1329c585c584c6b6d78be017d9c6a1288f9c92006fe907f69cc28"}, - {file = "bitarray-3.0.0-cp311-cp311-win32.whl", hash = "sha256:c23286abba0cb509733c6ce8f4013cd951672c332b2e184dbefbd7331cd234c8"}, - {file = "bitarray-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ca79f02a98cbda1472449d440592a2fe2ad96fe55515a0447fa8864a38017cf8"}, - {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:184972c96e1c7e691be60c3792ca1a51dd22b7f25d96ebea502fe3c9b554f25d"}, - {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:787db8da5e9e29be712f7a6bce153c7bc8697ccc2c38633e347bb9c82475d5c9"}, - {file = "bitarray-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2da91ab3633c66999c2a352f0ca9ae064f553e5fc0eca231d28e7e305b83e942"}, - {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7edb83089acbf2c86c8002b96599071931dc4ea5e1513e08306f6f7df879a48b"}, - {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996d1b83eb904589f40974538223eaed1ab0f62be8a5105c280b9bd849e685c4"}, - {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4817d73d995bd2b977d9cde6050be8d407791cf1f84c8047fa0bea88c1b815bc"}, - {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d47bc4ff9b0e1624d613563c6fa7b80aebe7863c56c3df5ab238bb7134e8755"}, - {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aca0a9cd376beaccd9f504961de83e776dd209c2de5a4c78dc87a78edf61839b"}, - {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:572a61fba7e3a710a8324771322fba8488d134034d349dcd036a7aef74723a80"}, - {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a817ad70c1aff217530576b4f037dd9b539eb2926603354fcac605d824082ad1"}, - {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2ac67b658fa5426503e9581a3fb44a26a3b346c1abd17105735f07db572195b3"}, - {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:12f19ede03e685c5c588ab5ed63167999295ffab5e1126c5fe97d12c0718c18f"}, - {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fcef31b062f756ba7eebcd7890c5d5de84b9d64ee877325257bcc9782288564a"}, - {file = "bitarray-3.0.0-cp312-cp312-win32.whl", hash = "sha256:656db7bdf1d81ec3b57b3cad7ec7276765964bcfd0eb81c5d1331f385298169c"}, - {file = "bitarray-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f785af6b7cb07a9b1e5db0dea9ef9e3e8bb3d74874a0a61303eab9c16acc1999"}, - {file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7cb885c043000924554fe2124d13084c8fdae03aec52c4086915cd4cb87fe8be"}, - {file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7814c9924a0b30ecd401f02f082d8697fc5a5be3f8d407efa6e34531ff3c306a"}, - {file = "bitarray-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bcf524a087b143ba736aebbb054bb399d49e77cf7c04ed24c728e411adc82bfa"}, - {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1d5abf1d6d910599ac16afdd9a0ed3e24f3b46af57f3070cf2792f236f36e0b"}, - {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9929051feeaf8d948cc0b1c9ce57748079a941a1a15c89f6014edf18adaade84"}, - {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96cf0898f8060b2d3ae491762ae871b071212ded97ff9e1e3a5229e9fefe544c"}, - {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab37da66a8736ad5a75a58034180e92c41e864da0152b84e71fcc253a2f69cd4"}, - {file = "bitarray-3.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeb79e476d19b91fd6a3439853e4e5ba1b3b475920fa40d62bde719c8af786f"}, - {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f75fc0198c955d840b836059bd43e0993edbf119923029ca60c4fc017cefa54a"}, - {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f12cc7c7638074918cdcc7491aff897df921b092ffd877227892d2686e98f876"}, - {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dbe1084935b942fab206e609fa1ed3f46ad1f2612fb4833e177e9b2a5e006c96"}, - {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ac06dd72ee1e1b6e312504d06f75220b5894af1fb58f0c20643698f5122aea76"}, - {file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:00f9a88c56e373009ac3c73c55205cfbd9683fbd247e2f9a64bae3da78795252"}, - {file = "bitarray-3.0.0-cp313-cp313-win32.whl", hash = "sha256:9c6e52005e91803eb4e08c0a08a481fb55ddce97f926bae1f6fa61b3396b5b61"}, - {file = "bitarray-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:cb98d5b6eac4b2cf2a5a69f60a9c499844b8bea207059e9fc45c752436e6bb49"}, - {file = "bitarray-3.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:eb27c01b747649afd7e1c342961680893df6d8d81f832a6f04d8c8e03a8a54cc"}, - {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4683bff52f5a0fd523fb5d3138161ef87611e63968e1fcb6cf4b0c6a86970fe0"}, - {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb7302dbcfcb676f0b66f15891f091d0233c4fc23e1d4b9dc9b9e958156e347f"}, - {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:153d7c416a70951dcfa73487af05d2f49c632e95602f1620cd9a651fa2033695"}, - {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251cd5bd47f542893b2b61860eded54f34920ea47fd5bff038d85e7a2f7ae99b"}, - {file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fa4b4d9fa90124b33b251ef74e44e737021f253dc7a9174e1b39f097451f7ca"}, - {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:18abdce7ab5d2104437c39670821cba0b32fdb9b2da9e6d17a4ff295362bd9dc"}, - {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:2855cc01ee370f7e6e3ec97eebe44b1453c83fb35080313145e2c8c3c5243afb"}, - {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:0cecaf2981c9cd2054547f651537b4f4939f9fe225d3fc2b77324b597c124e40"}, - {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:22b00f65193fafb13aa644e16012c8b49e7d5cbb6bb72825105ff89aadaa01e3"}, - {file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:20f30373f0af9cb583e4122348cefde93c82865dbcbccc4997108b3d575ece84"}, - {file = "bitarray-3.0.0-cp36-cp36m-win32.whl", hash = "sha256:aef404d5400d95c6ec86664df9924bde667c8865f8e33c9b7bd79823d53b3e5d"}, - {file = "bitarray-3.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ec5b0f2d13da53e0975ac15ecbe8badb463bdb0bebaa09457f4df3320421915c"}, - {file = "bitarray-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:041c889e69c847b8a96346650e50f728b747ae176889199c49a3f31ae1de0e23"}, - {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc83ea003dd75e9ade3291ef0585577dd5524aec0c8c99305c0aaa2a7570d6db"}, - {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c33129b49196aa7965ac0f16fcde7b6ad8614b606caf01669a0277cef1afe1d"}, - {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ef5c787c8263c082a73219a69eb60a500e157a4ac69d1b8515ad836b0e71fb4"}, - {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e15c94d79810c5ab90ddf4d943f71f14332890417be896ca253f21fa3d78d2b1"}, - {file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cd021ada988e73d649289cee00428b75564c46d55fbdcb0e3402e504b0ae5ea"}, - {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7f1c24be7519f16a47b7e2ad1a1ef73023d34d8cbe1a3a59b185fc14baabb132"}, - {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:000df24c183011b5d27c23d79970f49b6762e5bb5aacd25da9c3e9695c693222"}, - {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:42bf1b222c698b467097f58b9f59dc850dfa694dde4e08237407a6a103757aa3"}, - {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:648e7ce794928e8d11343b5da8ecc5b910af75a82ea1a4264d5d0a55c3785faa"}, - {file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f536fc4d1a683025f9caef0bebeafd60384054579ffe0825bb9bd8c59f8c55b8"}, - {file = "bitarray-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:a754c1464e7b946b1cac7300c582c6fba7d66e535cd1dab76d998ad285ac5a37"}, - {file = "bitarray-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e91d46d12781a14ccb8b284566b14933de4e3b29f8bc5e1c17de7a2001ad3b5b"}, - {file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:904c1d5e3bd24f0c0d37a582d2461312033c91436a6a4f3bdeeceb4bea4a899d"}, - {file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47ccf9887bd595d4a0536f2310f0dcf89e17ab83b8befa7dc8727b8017120fda"}, - {file = "bitarray-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:71ad0139c95c9acf4fb62e203b428f9906157b15eecf3f30dc10b55919225896"}, - {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e002ac1073ac70e323a7a4bfa9ab95e7e1a85c79160799e265563f342b1557"}, - {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acc07211a59e2f245e9a06f28fa374d094fb0e71cf5366eef52abbb826ddc81e"}, - {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98a4070ddafabddaee70b2aa7cc6286cf73c37984169ab03af1782da2351059a"}, - {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7d09ef06ba57bea646144c29764bf6b870fb3c5558ca098191e07b6a1d40bf7"}, - {file = "bitarray-3.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce249ed981f428a8b61538ca82d3875847733d579dd40084ab8246549160f8a4"}, - {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea40e98d751ed4b255db4a88fe8fb743374183f78470b9e9305aab186bf28ede"}, - {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:928b8b6dfcd015e1a81334cfdac02815da2a2407854492a80cf8a3a922b04052"}, - {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:fbb645477595ce2a0fbb678d1cfd08d3b896e5d56196d40fb9e114eeab9382b3"}, - {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:dc1937a0ff2671797d35243db4b596329842480d125a65e9fe964bcffaf16dfc"}, - {file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a4f49ac31734fe654a68e2515c0da7f5bbdf2d52755ba09a42ac406f1f08c9d0"}, - {file = "bitarray-3.0.0-cp38-cp38-win32.whl", hash = "sha256:6d2a2ce73f9897268f58857ad6893a1a6680c5a6b28f79d21c7d33285a5ae646"}, - {file = "bitarray-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:b1047999f1797c3ea7b7c85261649249c243308dcf3632840d076d18fa72f142"}, - {file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:39b38a3d45dac39d528c87b700b81dfd5e8dc8e9e1a102503336310ef837c3fd"}, - {file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0e104f9399144fab6a892d379ba1bb4275e56272eb465059beef52a77b4e5ce6"}, - {file = "bitarray-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0879f839ec8f079fa60c3255966c2e1aa7196699a234d4e5b7898fbc321901b5"}, - {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9502c2230d59a4ace2fddfd770dad8e8b414cbd99517e7e56c55c20997c28b8d"}, - {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57d5ef854f8ec434f2ffd9ddcefc25a10848393fe2976e2be2c8c773cf5fef42"}, - {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a3c36b2fcfebe15ad1c10a90c1d52a42bebe960adcbce340fef867203028fbe7"}, - {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66a33a537e781eac3a352397ce6b07eedf3a8380ef4a804f8844f3f45e335544"}, - {file = "bitarray-3.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa54c7e1da8cf4be0aab941ea284ec64033ede5d6de3fd47d75e77cafe986e9d"}, - {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a667ea05ba1ea81b722682276dbef1d36990f8908cf51e570099fd505a89f931"}, - {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d756bfeb62ca4fe65d2af7a39249d442c05070c047d03729ad6cd4c2e9b0f0bd"}, - {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c9e9fef0754867d88e948ce8351c9fd7e507d8514e0f242fd67c907b9cdf98b3"}, - {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:67a0b56dd02f2713f6f52cacb3f251afd67c94c5f0748026d307d87a81a8e15c"}, - {file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d8c36ddc1923bcc4c11b9994c54eaae25034812a42400b7b8a86fe6d242166a2"}, - {file = "bitarray-3.0.0-cp39-cp39-win32.whl", hash = "sha256:1414a7102a3c4986f241480544f5c99f5d32258fb9b85c9c04e84e48c490ab35"}, - {file = "bitarray-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8c9733d2ff9b7838ac04bf1048baea153174753e6a47312be14c83c6a395424b"}, - {file = "bitarray-3.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fef4e3b3f2084b4dae3e5316b44cda72587dcc81f68b4eb2dbda1b8d15261b61"}, - {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e9eee03f187cef1e54a4545124109ee0afc84398628b4b32ebb4852b4a66393"}, - {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb5702dd667f4bb10fed056ffdc4ddaae8193a52cd74cb2cdb54e71f4ef2dd1"}, - {file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:666e44b0458bb2894b64264a29f2cc7b5b2cbcc4c5e9cedfe1fdbde37a8e329a"}, - {file = "bitarray-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c756a92cf1c1abf01e56a4cc40cb89f0ff9147f2a0be5b557ec436a23ff464d8"}, - {file = "bitarray-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e51e7f8289bf6bb631e1ef2a8f5e9ca287985ff518fe666abbdfdb6a848cb26"}, - {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fa5d8e4b28388b337face6ce4029be73585651a44866901513df44be9a491ab"}, - {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3963b80a68aedcd722a9978d261ae53cb9bb6a8129cc29790f0f10ce5aca287a"}, - {file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b555006a7dea53f6bebc616a4d0249cecbf8f1fadf77860120a2e5dbdc2f167"}, - {file = "bitarray-3.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:4ac2027ca650a7302864ed2528220d6cc6921501b383e9917afc7a2424a1e36d"}, - {file = "bitarray-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bf90aba4cff9e72e24ecdefe33bad608f147a23fa5c97790a5bab0e72fe62b6d"}, - {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a199e6d7c3bad5ba9d0e4dc00dde70ee7d111c9dfc521247fa646ef59fa57e"}, - {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43b6c7c4f4a7b80e86e24a76f4c6b9b67d03229ea16d7d403520616535c32196"}, - {file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fc13da3518f14825b239374734fce93c1a9299ed7b558c3ec1d659ec7e4c70"}, - {file = "bitarray-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:369b6d457af94af901d632c7e625ca6caf0a7484110fc91c6290ce26bc4f1478"}, - {file = "bitarray-3.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ee040ad3b7dfa05e459713099f16373c1f2a6f68b43cb0575a66718e7a5daef4"}, - {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dad7ba2af80f9ec1dd988c3aca7992408ec0d0b4c215b65d353d95ab0070b10"}, - {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4839d3b64af51e4b8bb4a602563b98b9faeb34fd6c00ed23d7834e40a9d080fc"}, - {file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f71f24b58e75a889b9915e3197865302467f13e7390efdea5b6afc7424b3a2ea"}, - {file = "bitarray-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:bcf0150ae0bcc4aa97bdfcb231b37bad1a59083c1b5012643b266012bf420e68"}, - {file = "bitarray-3.0.0.tar.gz", hash = "sha256:a2083dc20f0d828a7cdf7a16b20dae56aab0f43dc4f347a3b3039f6577992b03"}, + {file = "bitarray-3.8.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30d42c34da2974a5e2e0b51c57ecf89892c1e83ed67e1084d1e27eefc27add91"}, + {file = "bitarray-3.8.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0793c51d3b1c7410bde1f7254fff71fabff1bc0cdeba1fa51319ac4e7931df3d"}, + {file = "bitarray-3.8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133648c3405564e7fef9103f1768cb018de1b4976f3d8beff09cd4acea73bfe4"}, + {file = "bitarray-3.8.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4fd3399eaf6f1c77ea3132611efbc3d7a8c0eb899793387b3266be221dc75fd"}, + {file = "bitarray-3.8.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3b9790ae107fc8648155f120e80a58ef8e94424efefff5b355de84061de6a18b"}, + {file = "bitarray-3.8.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:af01133e78e5528ee282ceb1cf4bc54aecb937c2001913e751452ad7dffbbeb1"}, + {file = "bitarray-3.8.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2da2ca9495668ab77132a911f6bd530d2bfe686d10467584894efc3b66e9ffb5"}, + {file = "bitarray-3.8.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:72a0e87b2196120523fc6194ca6b580fcffa12d7daa4d57a16d7838e60f82d0e"}, + {file = "bitarray-3.8.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:defa3c12cb06b2fd2066a9e21bf00aab96465be84d9585c8c05195f080510506"}, + {file = "bitarray-3.8.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7eae9e763fbd32f19f2a66dfc2e37906f8422e0c4ad4a6c9dcf9d3246740812e"}, + {file = "bitarray-3.8.1-cp310-cp310-win32.whl", hash = "sha256:3b9358f6437a5fa0c765ffae5810c9830547baf4bcf469438b82845c3f33f998"}, + {file = "bitarray-3.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:6f92d12a46b2a67d56194bb5d226dabf586b386d1f1a5e25be5b745a3080dbba"}, + {file = "bitarray-3.8.1-cp310-cp310-win_arm64.whl", hash = "sha256:8e12d50d4d65c74bd877e15c276992263b878456a7cfcf72521e7205a553557f"}, + {file = "bitarray-3.8.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:660e11b9932f58f10151d0febd11f77d3b0d48d6fa4dd4686d8983f40187101e"}, + {file = "bitarray-3.8.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fb1df55f5700187c6db4b47dbdaf8a0653a111341ac7fccc596b397aa3399e65"}, + {file = "bitarray-3.8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:838fd67b3d00c5a64181073282a2c0bf8f76465da4844d5e79d2dbbc64c987dc"}, + {file = "bitarray-3.8.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5743f532e408cfd716fa16776b5a6447b83ff2cf39021fb5f8d052aa0f331508"}, + {file = "bitarray-3.8.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c8c66f5d8055cb84ad0ea14af57b3579cb0b6db589f2086f5e33f0922cf2354"}, + {file = "bitarray-3.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c3fe25871f1758519a3ad8dcafb1bd95c5d1aaeb122e6492ac739ab11fa5907"}, + {file = "bitarray-3.8.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e9ff57452fcadfd1a379314234657b8f4e9967ae64480ddf7c2fd82139bc8cf8"}, + {file = "bitarray-3.8.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4e34f1cb6cdb036c5f4a839a2b74419f75fa36177a70c4bab2867f48973cbe44"}, + {file = "bitarray-3.8.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:698c37fca3761af69a09a1d39cc0492f7e8cb9e263af39a288dce8f3b8a9e2bc"}, + {file = "bitarray-3.8.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:81ede1f094f26eeaff62e029ff1bc4e84e9d568f20d4669f64dcf7c7b18a28fc"}, + {file = "bitarray-3.8.1-cp311-cp311-win32.whl", hash = "sha256:8a345b5dc8ab8cafdf338e08530d48fe3f73df27f4ff569be793c7a7e7bb6b6b"}, + {file = "bitarray-3.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:ddcd25a1f72b2b545fb27e17882046a6c161f3f24514b2e028c00c58ed73a2dd"}, + {file = "bitarray-3.8.1-cp311-cp311-win_arm64.whl", hash = "sha256:dc2cab92c42991b711132bc52405680e075d1505d4356c4468bc6e9c93d49137"}, + {file = "bitarray-3.8.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4494c599effa16064f2b600f6eb28115182d6826847d795a55691339788d8a4d"}, + {file = "bitarray-3.8.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ff2ca039a161d49a8c713f5380def315c6f793df5fe348b94782b1dbee37a644"}, + {file = "bitarray-3.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df3ffa6ef88166bb36f5d1492e71e664868b9b8b6afd55821e0ac0cb96625441"}, + {file = "bitarray-3.8.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:478b9f0ea86f957624dd2b159066855716f78db94666e9b04babe85fc013e01b"}, + {file = "bitarray-3.8.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e127b2e7fc533728295196f9265d12834530f475bc6cd6f74619df415d04b8b1"}, + {file = "bitarray-3.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6ef49462a615de062dcac8281944d0b036fe1e9c96a6c690bf6cf5e4b5488f0e"}, + {file = "bitarray-3.8.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4da256fc567a57ded2a4aa962fc9e9d430ab740e5c67be9e98a63ef4eb467f2f"}, + {file = "bitarray-3.8.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b46b7aec9272fd81c984e723e599957629a91204120b3e7f0933f138e0792fdf"}, + {file = "bitarray-3.8.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2dc07dab252c63c4f6600e200b26fa05207db6b650d41ae88ab0cec4d6c59459"}, + {file = "bitarray-3.8.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:29c8c10a49d6a9586f592116618b99c3dabcb24d881b7a649e0691ef87f314c4"}, + {file = "bitarray-3.8.1-cp312-cp312-win32.whl", hash = "sha256:67125404d12547443d74113862a80c10310cf875aff8dbfc5548fee1d9737123"}, + {file = "bitarray-3.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba0339d6aa80615a17f47fabc5700485e9469121d658458f95cdd2003288c28b"}, + {file = "bitarray-3.8.1-cp312-cp312-win_arm64.whl", hash = "sha256:c0b367a00e8c88a714b2384c97dedcc85340547b3a54b6037a42fca5554d0576"}, + {file = "bitarray-3.8.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:55f4b105a1686eb486069a9e578d502d1998e890d8144012225de9e0450aeabd"}, + {file = "bitarray-3.8.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b3118ec012a799456f7fca6cc002c078590578b7640fbaab52d8ecb9a651f1c1"}, + {file = "bitarray-3.8.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2762db8049b230520358ac742cbc57bceaacebe34e5d25c096f2b4bc3887a3a8"}, + {file = "bitarray-3.8.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5b67b869f860eb19055e2560844d8c7d0935245938935bdb764b3e683e2014e2"}, + {file = "bitarray-3.8.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0a661f3492462e7adf8a054fb7414a22fc8251f1e18b9d8cbcf008d2dc85f012"}, + {file = "bitarray-3.8.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:300e3026d17ae3328320ba78d3165bdb1c43d0dfdbc461a69ebbdc005d9ce0b3"}, + {file = "bitarray-3.8.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ad5a71c1ef4a2e404c2c888db09226c821d9d14eff8813e1da873572f5fbb89d"}, + {file = "bitarray-3.8.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:78cbda57a2808d994517b53571eaa2d9299359f63aa71cf4bc94210169aad8b1"}, + {file = "bitarray-3.8.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:89c7c125a0913d71ba9cc1fa8e14c7cfe1517b1c1f45416e1f9babcedd3b545d"}, + {file = "bitarray-3.8.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7875abfd90f2ae3aa22d50f3fa1c93bbae456458cc73d3179b838f07bed1fc10"}, + {file = "bitarray-3.8.1-cp313-cp313-win32.whl", hash = "sha256:21add0aa968496a2bd8341d85720d09808e22e0adc7dbefc1e0f8f67c4b83f36"}, + {file = "bitarray-3.8.1-cp313-cp313-win_amd64.whl", hash = "sha256:40d1b57012bf9b4fefd25345aaa95aab3ca510cc693f33c2cb02a4b771d8e51a"}, + {file = "bitarray-3.8.1-cp313-cp313-win_arm64.whl", hash = "sha256:72b32d8c471930c95d49640ec99f7694f9b040ca1342ff03ed69d3aea90f9339"}, + {file = "bitarray-3.8.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fe989bbed9d6f332c1e24d333936f3fa1375f380cd8028da0b985dcdefa6015a"}, + {file = "bitarray-3.8.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:75e33c9187da271d1dbeb2582ab2df2e441346492098f67559b09173ea4edde4"}, + {file = "bitarray-3.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fd7e3158be382f8f140caccc0dc7742a7553ce4bf2978982abe3054d2cedd705"}, + {file = "bitarray-3.8.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9fa5620f7f352f9706924c0e2071a212be36421f09ee064b0fd7e1128289fcdb"}, + {file = "bitarray-3.8.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:190b20cbffc9cd7f308f7a57d406119c3af3ae197613325fd2d92d99c8882ad6"}, + {file = "bitarray-3.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ec3d0a6c37a816ea6e3550697c60d90861c9b0f982a98a40b59ac1f7a360bfa9"}, + {file = "bitarray-3.8.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:746e25f17ba4203b5933773782cf2d30bca5cdb66a9ba5d48a53a6c795aedc57"}, + {file = "bitarray-3.8.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ab363a5baae965fb3438f2137583853ad9c77d7e45f2a62ba63e609a34d792ea"}, + {file = "bitarray-3.8.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5e30d8e399f38ae1ec86aa9be76d20ba15872dd0c41b4b46d1b78905857363b9"}, + {file = "bitarray-3.8.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0f099a4a77daf9bb99787070854894fe588c7d6988ea729f970ba2b3b82c7559"}, + {file = "bitarray-3.8.1-cp314-cp314-win32.whl", hash = "sha256:539880ddf9a8cc54c9e6126e7d072c991563f0c90ef73b3519a783d53df00352"}, + {file = "bitarray-3.8.1-cp314-cp314-win_amd64.whl", hash = "sha256:c08cd5b19c570e1e9e094a6ce70d35bb39d12360e0763474ed9374229f174fcc"}, + {file = "bitarray-3.8.1-cp314-cp314-win_arm64.whl", hash = "sha256:0da5f17bed67ffe1d72f79fbf98403513a6e51a4f9b8293c1ff8a64e121242be"}, + {file = "bitarray-3.8.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:154a19e1dcd430494fdad7d1a0fb36383baaa363e1cb9d5a7b744cd2418c44d2"}, + {file = "bitarray-3.8.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:814bb54db2a016026efc055a3527461e5eb551c0d91b32eeade003829ff84311"}, + {file = "bitarray-3.8.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac49519fcfeb4a7ecdf6b7d0ec6cac409e59f94c1bb54630db577a97893b6e38"}, + {file = "bitarray-3.8.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:329b994944993c45c3845047476ef4f231fe1a53972f18f8d005fd12fac163e1"}, + {file = "bitarray-3.8.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d7b786a1ddd9b8dda17c445060a94a465cba2e113603ae7bdc5364efc1efd11"}, + {file = "bitarray-3.8.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd9b848c17ef034f2ae31b2a1bd9276710c2baf03509f1f3fa4dc4382b0a1b53"}, + {file = "bitarray-3.8.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0a33f8931ac91ebc23ce4decb99ed8fdddba2bafd2af3bb2781bcfd9878d4822"}, + {file = "bitarray-3.8.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:07626f76a248fce5ebbb10fb0d4899d3c7f908ba21cb2fb4f5a7a9daf24c20cd"}, + {file = "bitarray-3.8.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:18f3a2c8908e63a66d3994808254397a5f989b1fb91087c33739f62bf1a1a064"}, + {file = "bitarray-3.8.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ced27af6aee28782260bfa5643797937e96a6489bca972202834017208cf74f5"}, + {file = "bitarray-3.8.1-cp314-cp314t-win32.whl", hash = "sha256:cf99e36c0f6ae5643ecef7ad7e1194aeb4a9798d9cff60b20ac041533fa6db0a"}, + {file = "bitarray-3.8.1-cp314-cp314t-win_amd64.whl", hash = "sha256:9befda0dbd27ed95fba1c26be4bf98a49ba166b3c91beb5fc04364c130ce950c"}, + {file = "bitarray-3.8.1-cp314-cp314t-win_arm64.whl", hash = "sha256:4b7d7d10a1c82050efbb9a83d7a43974f70cf8f021afb86463b42e4ac4e5a46b"}, + {file = "bitarray-3.8.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fd6b5b6df14f98b2e7e474c1c7ea55fc32dcab038b3b34b76a591dec8ba50915"}, + {file = "bitarray-3.8.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eb9fa02b9f5bbdb1d036a0c68999337793fa244528e0ce825e4b97cb7f7db99f"}, + {file = "bitarray-3.8.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6956ef0259a037f10da767741aca82925f6f9978bb6dceb5344e56ce0629ab07"}, + {file = "bitarray-3.8.1-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:78ab0d4166cf35c73054d1e04f224af1edc3cb4d75da8b6f74f4cff7c300f358"}, + {file = "bitarray-3.8.1-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:10c0caabff00ab0631d1e4fd25f56c7a5cf0f068426e5860d28dbbb972b509bf"}, + {file = "bitarray-3.8.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:430fe5150816445c8294a36ce2612360037342d750cea179efe5de38c66670a8"}, + {file = "bitarray-3.8.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c3387c314695f9790dce12fcf44357197ebf773651b6a4195f5e091cf500ae73"}, + {file = "bitarray-3.8.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:a681bbf9f94027d66e15974cd207cec1a2993837b9c45acf5f6b22a67632b1c2"}, + {file = "bitarray-3.8.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:4c7ce072191ba23a4a4876452ccd5f2a67b926e66a248d052d39e9969cd3ab47"}, + {file = "bitarray-3.8.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:03fe327549f177040b32f7faa736dc152be936d8b264d8b84f94c75f1379bfa1"}, + {file = "bitarray-3.8.1-cp38-cp38-win32.whl", hash = "sha256:2b9916867fa1ed815739e3e37dda458f397dee25a0e293b808839cfc2a396ca0"}, + {file = "bitarray-3.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:69c8298e8197b113f765a2ea60f49ceb8e1ea9eb308140b3cdc611e0d1de70b8"}, + {file = "bitarray-3.8.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cac0145491619287ff893853bf3ca4d98d5ef94b617271184a5af68a06ac301a"}, + {file = "bitarray-3.8.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fd68db1a0f5d9374a7b735414efe48d2b3ecbf0adea39299bb48030988f16149"}, + {file = "bitarray-3.8.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9adacf6fdadeeb96e6c902aef08d02d2f45429fdbf0a75b80307e435156066f8"}, + {file = "bitarray-3.8.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d7d5f7f6f80388ce94849775da5f4082ab5e123e259972961970e190d60f5d2b"}, + {file = "bitarray-3.8.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3a5e594b4be2dbfe021cee8d6d7d96e9bb19dee7ed7be351f43bca7a0619b978"}, + {file = "bitarray-3.8.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:190a3482818d69faef176171c7cae10d55cb4dd0c686b5aced7f592b5e5591c1"}, + {file = "bitarray-3.8.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4fb869faf4b484cb213199ced1e2732091559107637d429fc25d0a9731f5f630"}, + {file = "bitarray-3.8.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:70f70ea138e69ec3159e4a38fef52443cb8eb81388aeb241b273265ea16387c5"}, + {file = "bitarray-3.8.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0256d57e294414bfe4fec4f852fd1d9ae361228c71b082332bf81c8b8fc69f80"}, + {file = "bitarray-3.8.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ef123b6aead12e0784f72970e8d94a96ac0d0aa4438c7ab9235e2f8669a0a5ae"}, + {file = "bitarray-3.8.1-cp39-cp39-win32.whl", hash = "sha256:c263ed9922942353a954cfbcd5f81b7626c0e20dc7f3e53d4926e8bc560ab845"}, + {file = "bitarray-3.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c133052737c7c75bfa49f5ba71918166fe988995b26a0d2f263a79bf8fed58a"}, + {file = "bitarray-3.8.1-cp39-cp39-win_arm64.whl", hash = "sha256:20e412527ec1aac7e3a6542b32a9c34bb852c954676b05008f0e3d58c390a0ac"}, + {file = "bitarray-3.8.1.tar.gz", hash = "sha256:f90bb3c680804ec9630bcf8c0965e54b4de84d33b17d7da57c87c30f0c64c6f5"}, ] [[package]] name = "black" -version = "23.12.1" +version = "26.3.1" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.8" -files = [ - {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, - {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, - {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, - {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, - {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, - {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, - {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, - {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, - {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, - {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, - {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, - {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, - {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, - {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, - {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, - {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, - {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, - {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, - {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, - {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, - {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, - {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, +python-versions = ">=3.10" +files = [ + {file = "black-26.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:86a8b5035fce64f5dcd1b794cf8ec4d31fe458cf6ce3986a30deb434df82a1d2"}, + {file = "black-26.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5602bdb96d52d2d0672f24f6ffe5218795736dd34807fd0fd55ccd6bf206168b"}, + {file = "black-26.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c54a4a82e291a1fee5137371ab488866b7c86a3305af4026bdd4dc78642e1ac"}, + {file = "black-26.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:6e131579c243c98f35bce64a7e08e87fb2d610544754675d4a0e73a070a5aa3a"}, + {file = "black-26.3.1-cp310-cp310-win_arm64.whl", hash = "sha256:5ed0ca58586c8d9a487352a96b15272b7fa55d139fc8496b519e78023a8dab0a"}, + {file = "black-26.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:28ef38aee69e4b12fda8dba75e21f9b4f979b490c8ac0baa7cb505369ac9e1ff"}, + {file = "black-26.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bf9bf162ed91a26f1adba8efda0b573bc6924ec1408a52cc6f82cb73ec2b142c"}, + {file = "black-26.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:474c27574d6d7037c1bc875a81d9be0a9a4f9ee95e62800dab3cfaadbf75acd5"}, + {file = "black-26.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:5e9d0d86df21f2e1677cc4bd090cd0e446278bcbbe49bf3659c308c3e402843e"}, + {file = "black-26.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:9a5e9f45e5d5e1c5b5c29b3bd4265dcc90e8b92cf4534520896ed77f791f4da5"}, + {file = "black-26.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e6f89631eb88a7302d416594a32faeee9fb8fb848290da9d0a5f2903519fc1"}, + {file = "black-26.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41cd2012d35b47d589cb8a16faf8a32ef7a336f56356babd9fcf70939ad1897f"}, + {file = "black-26.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f76ff19ec5297dd8e66eb64deda23631e642c9393ab592826fd4bdc97a4bce7"}, + {file = "black-26.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ddb113db38838eb9f043623ba274cfaf7d51d5b0c22ecb30afe58b1bb8322983"}, + {file = "black-26.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:dfdd51fc3e64ea4f35873d1b3fb25326773d55d2329ff8449139ebaad7357efb"}, + {file = "black-26.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:855822d90f884905362f602880ed8b5df1b7e3ee7d0db2502d4388a954cc8c54"}, + {file = "black-26.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8a33d657f3276328ce00e4d37fe70361e1ec7614da5d7b6e78de5426cb56332f"}, + {file = "black-26.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1cd08e99d2f9317292a311dfe578fd2a24b15dbce97792f9c4d752275c1fa56"}, + {file = "black-26.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:c7e72339f841b5a237ff14f7d3880ddd0fc7f98a1199e8c4327f9a4f478c1839"}, + {file = "black-26.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:afc622538b430aa4c8c853f7f63bc582b3b8030fd8c80b70fb5fa5b834e575c2"}, + {file = "black-26.3.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2d6bfaf7fd0993b420bed691f20f9492d53ce9a2bcccea4b797d34e947318a78"}, + {file = "black-26.3.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f89f2ab047c76a9c03f78d0d66ca519e389519902fa27e7a91117ef7611c0568"}, + {file = "black-26.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b07fc0dab849d24a80a29cfab8d8a19187d1c4685d8a5e6385a5ce323c1f015f"}, + {file = "black-26.3.1-cp314-cp314-win_amd64.whl", hash = "sha256:0126ae5b7c09957da2bdbd91a9ba1207453feada9e9fe51992848658c6c8e01c"}, + {file = "black-26.3.1-cp314-cp314-win_arm64.whl", hash = "sha256:92c0ec1f2cc149551a2b7b47efc32c866406b6891b0ee4625e95967c8f4acfb1"}, + {file = "black-26.3.1-py3-none-any.whl", hash = "sha256:2bd5aa94fc267d38bb21a70d7410a89f1a1d318841855f698746f8e7f51acd1b"}, + {file = "black-26.3.1.tar.gz", hash = "sha256:2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07"}, ] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" packaging = ">=22.0" -pathspec = ">=0.9.0" +pathspec = ">=1.0.0" platformdirs = ">=2" +pytokens = ">=0.4.0,<0.5.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] +uvloop = ["uvloop (>=0.15.2)", "winloop (>=0.5.0)"] + +[[package]] +name = "cchecksum" +version = "0.4.3" +description = "An ~18x faster drop-in replacement for eth_utils.to_checksum_address. Raises the exact same Exceptions. Implemented in C." +optional = false +python-versions = "<4,>=3.9" +files = [ + {file = "cchecksum-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4996f5eb19ac804e056dd0f139b411f798a6a5ecd14255eb8545f5b4fb0b4f0"}, + {file = "cchecksum-0.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7917328c0aaf0c97bff39a03d4ee6218683c0876db473fb652c6fb6ce2e8493"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:68141e32941cc78b9f6203e2526abce68984d61701b2bc2eee44c164d65b3647"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c425f2b1a727ab121a2482b00a64c00ded0996005713b4fe1eb6f2c381163cfb"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:23431b154216395ca4518a5e880d0e630250f931ab52cf9c82d623469cc2e216"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e119dab0a0b7ffe35a22a8ba8926f725f32ad0dd07473cd817880241b619577a"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:46a018c82e2aeb6a928b8abe0051b880808e17cd2b4e46b935f0372253ccd44f"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:503c9a852e2557dd79fc4bcf87511cdbb30173fc70ff64c48b8c685efc560a9f"}, + {file = "cchecksum-0.4.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6dc6c7a7dd94d584c337d271448f33cf6331db820234f798142b219bd7a067c"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1fb9a3f3d3b76cc4c0361d7d0774c88b2480f25cd0bcb5c1a4a0428e224b2f46"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:263e1061b2fcfa290c05a0c9610001146221026188c472553b8e5a9539a27a97"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a1be00a1e2d8fd4c0a1ca90a4513b44d93f3485880c9863a0d828e8f1d77ebfe"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5d171cf1f2f7000aedb0d878a0b0bc04e0741e545640265c54adb815bc23deb1"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:521f7c2e8e0b0fdda5d7bf692e5f4427978e9f09a3fa03290803f047d96b2b34"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f6ba5a73dc702e7f95065443b734801cef64c1d742bfc6098254a8b301d383e9"}, + {file = "cchecksum-0.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eb44f5a93dc6c926df90916127270eb8d3bb190eb9b4a8d126ec48efd8820764"}, + {file = "cchecksum-0.4.3-cp310-cp310-win32.whl", hash = "sha256:84167790c5d9c5efa60aae3b4560eb3b9bd7fd2211d30fc4960b10ce791fcb10"}, + {file = "cchecksum-0.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:97edf9cf29423df3fb041d71576493690bf11d9fb65d990d3ff04820b38d9bde"}, + {file = "cchecksum-0.4.3-cp310-cp310-win_arm64.whl", hash = "sha256:b5c22d16bd5f35364636effd3cfaa8c28eeda7ce01b4bac9c3f4ba1c2aafd5db"}, + {file = "cchecksum-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:15cd6b4b04c98a8480f28b610284c5588dbfc6c56c144ee04b921f8867499880"}, + {file = "cchecksum-0.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:689c5e34600b1dd804e403a0e62b355fa3a34bf6e2c40c367a85876380d09e94"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6b505eebd65df57c6c378aefe77350d2d269364366703902d908a201443503dd"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:87d12ecae6ffad195aba28ea4d39e88aaa3b5759fe074ea24855dc62e1e8e941"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ecea6e42de4723153844739c9ec29e8d609cbf439968aca7f070b95f901229ad"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:12dd33ba8fdde81cdc7dc083f72747d823d16c1d651eb2de18ba1ef9949d4d1e"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7f50cbfe8398d032210b84c3ff48a57a3316294b07f07f51bd366c9dc0bfc085"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb8a1613ce90ab56a42d060f72d42f5ea708f7afca0d69ed324f7e78746cfae0"}, + {file = "cchecksum-0.4.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8904031e545a1f6894f4976b37662e407dfcc21a01cfcef10f456bcef827eae"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:867a164bf1bfef44787c2947222dd437c5c7ee0debfb04e798b5e3205ab428f6"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ca7cab0108ec0023a2e69f7b8c1a0ba8f929b1ee372ed50979ac38e75407a12e"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:da549f7b3be2bd4731afba9921a97bde1c66588e9b878218d1c830b534770b39"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:139f46f201e4567a7d803d1cdac516a57ed5e9f832dce61a0be071024d8d3839"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:719d032594e7fc30c2c705b3810bf54dad5dbe008f6adc9180a66fce31050f89"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1c3db3366a3eb9a3c4537e7a4653bfc261a37b75715c0de68206732b94d69a3e"}, + {file = "cchecksum-0.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dff72d939968a334bf1f2fdca993a17823172ea597e6ebd7d70a8b929d9afcb5"}, + {file = "cchecksum-0.4.3-cp311-cp311-win32.whl", hash = "sha256:c4d95843e8c8562825bcc733debe907e24fe472cdd375317058bb8eafa8d7fa5"}, + {file = "cchecksum-0.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:af1a21ba9ee56415c76da81fdc3880ee209762990f6a816a60824c0350c49eef"}, + {file = "cchecksum-0.4.3-cp311-cp311-win_arm64.whl", hash = "sha256:201899fce2ca26d351180f6ad381229f074e318fc3aab13ee54db62e655f4ed9"}, + {file = "cchecksum-0.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9c8c7c087e6b4ababc7f1b5785c99294c131792e7419e9bf9d428a489954b034"}, + {file = "cchecksum-0.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b940e4d391fd0c959c6a65f9fa2b21383ec0c3d78598e91996bc7924acbfebd"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b8031406cd56bbcd502bfc0a0056686ac676cc82ecb9f3b51a2d78c855fee7d0"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:91f0ebd9cd18a17ea3e8d44eb08a040a2f4809317c2e79d386dbf5e6e3009b36"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8b946d7744944c9219919c2f3c04ed6540e74bec4384244adceebac4b406b9a7"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:920a245e17cc9a19533575724c16c5823f1ad7ce6073ab913786cc72fcbda211"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6aefee15cdfca7b4c40f1fcab166cea7643ffed48a7157179331ade0d63a0202"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fd2b1b3f9e8fd7fa9e974de0433c81cdefd44d64035a9f92f378afce7920d7c"}, + {file = "cchecksum-0.4.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d9a0b3622cc33b03a422dbe903ebdd0aa7f3eb2b1a3ad04a7005b20807d09510"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f8b987ca05a4e3f631d31c5f6448bd8b478113c09a80b7e0150044eaac1ac334"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c675010722c4dc015d286943dc8ba66b3678d4f4d4c4590bec244e868ce90108"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e561853619c8d8a53d5257d536a4b43379888d56546793cb1899f8b97b31f425"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4866166d3aee62cff2a6dc00b04225edb76171ceacefd37301e5ae46503e672"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e12a9e9099c906545b3994a2f02d79a64ce16c8bcee6182a4da267ed9606c28e"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:42a75834271192f5f0e6e130ddb54fce639b840528e4388947ac72056ec7fff2"}, + {file = "cchecksum-0.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0e3d920fb5cf101b3f7d49ddc49584928e5f559533b3ac25773a25b032d936ac"}, + {file = "cchecksum-0.4.3-cp312-cp312-win32.whl", hash = "sha256:ca49c552a76c1665a151fee0c60ad2059285ece6c49db5d810390108e44a18da"}, + {file = "cchecksum-0.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:37a58f1cbfec7556b2133a96429dc1b140330455b40f25f33ee56228fba0e234"}, + {file = "cchecksum-0.4.3-cp312-cp312-win_arm64.whl", hash = "sha256:0d4a67b4054c76e900014d48c68915485a97752102ab59d44edaaeafc50d038b"}, + {file = "cchecksum-0.4.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7c0b97d0b1c8e722e04390ff70cd844847aa0d8196a0dd24d07106643cb1f69a"}, + {file = "cchecksum-0.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bb07dd2f9c2d5c26bd8f962ab4a8db2d14c47fd4e58b8fb2aef86c442f967d17"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cab71159e76d71ba78a52ec6ac24a282ed5db0d872da34b0563f9e915b218c0a"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39f38c76c00a404c2d503d83b99de22d0548e0eb6a2ef8ff31bdea7296b7ace6"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8a35eddca4b90565a63730b8a3338add0b6dff8d9b363306c8f3fe9b7185cbbb"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed3393846b5facb5ee10c0605c8aa926803d1a90c4767c80280e158333733e18"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e97e1cfc7eec70d98891eed38b9ef0e313710cba54a00add59892636df66485e"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:868861e436f9f34c6ffcccb83da5b2b1b7dafa11fc2dc6400268d30f546f429b"}, + {file = "cchecksum-0.4.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b5747c78c2a94e4102ba4ab25dce954d0125e846495a4c399253660366e37c9b"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c963a8830bbae4221f6565a31b27607c17973572dfccc193f5bb941d07827e7"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8542571a8a14e562a165b24fccb57e8cd61ecfca410e4a55ecb604bb6ed246b0"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8eebcf27a13a37cbbd308d13cb6106892109e4715965029c61f2798ef2cb873f"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e147cdf99dae3453e9810bd4f9d2859a1da1e2b571e62dd6e50b108ed2fe536"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:24e3fe68d394a0bc09667fe0258daafb416e2cf63328737e81166eed3589d523"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7298910829cfa7680b1bec7dc2831fb50f1ff93f8a49b4a85ddc64051628528f"}, + {file = "cchecksum-0.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fab4c955a05747aa2173fc1dca06e1fb7c9eaed3a158954b42335aa407bf0efa"}, + {file = "cchecksum-0.4.3-cp313-cp313-win32.whl", hash = "sha256:dd7e57541fa8eb72057ce43309edc580b3f60921583afef9f41712c9471d11c9"}, + {file = "cchecksum-0.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:e6e50575434a0a6b0fdcde797f4591105563dda640d5d3263eb58fcdf550bb0f"}, + {file = "cchecksum-0.4.3-cp313-cp313-win_arm64.whl", hash = "sha256:151aca3585ece3a5f2be6f290ce9f7cdf51bb8de3fbaab3829c9adc17d4fe8c8"}, + {file = "cchecksum-0.4.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c8165d65c30ada0364a2519e56e8f1f8571013179ba4e3f46d6bda0b1d9979a6"}, + {file = "cchecksum-0.4.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:166e03720cc537595439a8a14db3eb970345ba729ff03468b5aaa05f161057bb"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:72d14e2aa9365bbc8eb6fd83a9af9f4924a9d892a07d0dd92c1643f9e3185501"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c71e217baaad1a9114f6e43a3d2fb123ac34da1503316b4d0cd8e5104d011ccc"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5ae5f533ca25d9ffb7b395104b439abd16cdb3f32a7d92bb6ecb162c25c75c16"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:db668a9d9751735c0b0d018675b44937284ced515ffb5f546eb4635330403cad"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:91bee20c6a4e82340ec36e36b1f08a56646ed3bc55841e7c11382fcbf58d809e"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b7497cde0f0a100b985306fa6d68f7deecd4dafab7309a49ff33c7737fa6e28"}, + {file = "cchecksum-0.4.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ad621be20bcf2b891c80b740003bbe3698d400fc96199a06e329a86baac7e4fb"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:149d160fea88cabc1113aee00b8a4050d56c8e1d4c69412b28d2a1e930473282"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:3862eef6c73b5680bc5ea686c81f46ba21f2c7eaeabdb7c59a3f1c1d76bc64ae"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:d27460e01b4eced1a0e532f58977c2dc8e9a947e73e7dca224d4c5fa56d3f94a"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f1cf992da5517484941871cd6684326b5a86eb003539ae9e875d5430e8b7e724"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:730a9149d0cbe721be06691196628ec29845f30ec6bca1f4554fc988d368f36b"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:e7417b4f839cd80aedc2abc092c3dce25b7914cf0df3008400289a667fd67554"}, + {file = "cchecksum-0.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:aced38521f45fd5609de7fecddf169af2bc1556bf7603efc6d20d3c202999fb5"}, + {file = "cchecksum-0.4.3-cp314-cp314-win32.whl", hash = "sha256:ece27834b0c7ce865f989186e6952c711713cf0e245afe16736bcfd75288b926"}, + {file = "cchecksum-0.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:9a30294870be3348c0965e61256f81299a0d116c0c465ee7a7fc726a9ff77a1d"}, + {file = "cchecksum-0.4.3-cp314-cp314-win_arm64.whl", hash = "sha256:aba5d62d2f5512d32c4cfcf673ee63e8e9a08ede7cb6c5a85cff3728e25cdc98"}, + {file = "cchecksum-0.4.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eccb357100fc15dea2ca6e7440749dfe0768febaf56384d2f4bbc44e432cfe36"}, + {file = "cchecksum-0.4.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cd39d1a2798b31fb0da708fb812b981394d80e05456c02af1614c4a1c8748b10"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b469167dbbe385c0c7486c058380e2f4ddcf964dc6bd7f09654f82d4fc45d113"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e7f9cbd5eec8e62ffc11d1bb330ce65e83ef3cbfc81918108a63f92e178a8af"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:daae4b802b4739041de46b6f56cd1538fc33ec9b4e769b09ae179f6cb7a59b22"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d52c31c60079ea10a75dcb863a1d95b11a0e87e60e408dff38782d3c68f8262f"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9960d31a8a8cd2c34cb2c7443c6284f62e6493ba5f1278b3e49a0bb6bf92d40f"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff71a8ae2fc76cbd83e6591b9884befc30ed4fbb8ccb8e050f39bea85bbdb286"}, + {file = "cchecksum-0.4.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2e29fb0b0f0d219e4eef716d4499067e81fb81030b99427515abe82e179dc5d3"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c0956cb0ffc091567a95d157391083ad79cbc3e476bb01446bf09717755a9563"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:dc8a72ffbeab9578ba47c2a8957f735503bb686a62c265888ba9e27f15ee49af"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:edd76d7c40547919f0de693f21035fd93ed988bae2c3d65f4cfbfc83eb637cc6"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:75ce2e11403ff0812000a4a6aee7877497749c90e0d9494793d9fd7a3ffdc9db"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d73f9f5757b85fe7a51abedaea88cccd14ca0dd6a8525b4ac10ebe044bfeedb9"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ce7e4ce9c84984754a195aeaa8ae9dd3048b6314c2ac2ad763d6d76fc9653d1f"}, + {file = "cchecksum-0.4.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:738deb8251f4c6c2e1b86181067a5f2550743c55182fd557da37bf524ff312ba"}, + {file = "cchecksum-0.4.3-cp314-cp314t-win32.whl", hash = "sha256:01deaeec02edcd6671e17108d9ac52b29393d30404ab94f17bb995c493ab0f0d"}, + {file = "cchecksum-0.4.3-cp314-cp314t-win_amd64.whl", hash = "sha256:bbd6f83dcb9123267fd0f3eca8317247499ce08a42c856ce8f17fc8162886a5f"}, + {file = "cchecksum-0.4.3-cp314-cp314t-win_arm64.whl", hash = "sha256:7b20920463491244643207c58069da53c2b2d7c5f9fc35c0f780cac12f1f5043"}, + {file = "cchecksum-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:847f8b5400020bcb99710125fbfbfd8cdbba5bff9e38498bece8bbc773509ba3"}, + {file = "cchecksum-0.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e122c2a8dbb9816428451ea55b4899d9010c4cf31e9442c9372c290818af6c08"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0765be77fe086f33246d3c89a4feb21353ba4bdfe68d9c0626b6fdf8e488b2ee"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d80680d8c6736646ffa89c923e43b3280127d90ad867f9fec668044be763222"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6232a46a93b4152927071eb7527b9f808a3f805ad94108b22e9d223a388f11a9"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b02e4343f77aef7c999c0509be03aec8adf7e29c8d2ced1dc2679f12aa1208c"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:734eaefb981cba64d83e94a9fcb413017712865cbca0cfc28d01ba904e187ab1"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2305148d6087ced41ff31cf40fbd46d495d6d3f62e70f809f26a2e521dd9d92b"}, + {file = "cchecksum-0.4.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3740ebf8088e1ef4557f0cb769b544c09893f7946fffbf0b90489c0bc3276898"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5f573842c19c929f96ed37554a5fe7d5daae1c41c58a83255740853717068036"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:e0b4cd0b3e4ff9c65afea2661071ba896b4f6ba270f77faa7070aa5fada0e302"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c3a2e128691e620b41a20a4f83a10b08bdfe52a45d16f6fd57fde59f082ee9c9"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:64d56f9e49ec1b35951d6d779e118f73465e8c48e49bae885a8123fd3a8bcac9"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:6d868e0243b04941bbe0c06898425dc6b3f7e6fb99bf6107e0370a5c362f4f45"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1621fa0bebc3a22c43abcfc67d239b5d0f63d896f5acfccb3bdaaa04e6566e6e"}, + {file = "cchecksum-0.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f8de539fcc3d9865d9b41b5a06ce6eae09b498c00ab4e7666b3883905c90fb63"}, + {file = "cchecksum-0.4.3-cp39-cp39-win32.whl", hash = "sha256:6f0ce4b5cf5e80e1f9dc1184919d2fe5758f1b148c2103908ad3d7ff37aca22d"}, + {file = "cchecksum-0.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:8934fb464a142dde16a565117b3e2b0a3ea3f296a5857a16d9f60ead2bd7369e"}, + {file = "cchecksum-0.4.3-cp39-cp39-win_arm64.whl", hash = "sha256:64bef14bd14b3e280ed92650fd6c1f5163fd385930a1267f6e34f777cc9ab533"}, + {file = "cchecksum-0.4.3.tar.gz", hash = "sha256:c03993303a5486c0850dcc06223fea8a9b5700c51fa3b88ba81c843c75e037c3"}, +] + +[package.dependencies] +eth-hash = "*" +eth-typing = "*" +safe-pysha3 = {version = ">=1.0.0", markers = "python_version >= \"3.9\""} [[package]] name = "certifi" -version = "2024.8.30" +version = "2026.4.22" description = "Python package for providing Mozilla's CA Bundle." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2026.4.22-py3-none-any.whl", hash = "sha256:3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a"}, + {file = "certifi-2026.4.22.tar.gz", hash = "sha256:8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580"}, ] [[package]] name = "cffi" -version = "1.17.1" +version = "2.0.0" description = "Foreign Function Interface for Python calling C code." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, + {file = "cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44"}, + {file = "cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4"}, + {file = "cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5"}, + {file = "cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb"}, + {file = "cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a"}, + {file = "cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739"}, + {file = "cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe"}, + {file = "cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664"}, + {file = "cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414"}, + {file = "cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743"}, + {file = "cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5"}, + {file = "cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5"}, + {file = "cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d"}, + {file = "cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d"}, + {file = "cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037"}, + {file = "cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba"}, + {file = "cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94"}, + {file = "cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187"}, + {file = "cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18"}, + {file = "cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5"}, + {file = "cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6"}, + {file = "cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb"}, + {file = "cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3"}, + {file = "cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26"}, + {file = "cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c"}, + {file = "cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b"}, + {file = "cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27"}, + {file = "cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75"}, + {file = "cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91"}, + {file = "cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5"}, + {file = "cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef"}, + {file = "cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775"}, + {file = "cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205"}, + {file = "cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1"}, + {file = "cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f"}, + {file = "cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25"}, + {file = "cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad"}, + {file = "cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9"}, + {file = "cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc"}, + {file = "cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592"}, + {file = "cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512"}, + {file = "cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4"}, + {file = "cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e"}, + {file = "cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6"}, + {file = "cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9"}, + {file = "cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf"}, + {file = "cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f"}, + {file = "cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65"}, + {file = "cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322"}, + {file = "cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a"}, + {file = "cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9"}, + {file = "cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529"}, ] [package.dependencies] -pycparser = "*" +pycparser = {version = "*", markers = "implementation_name != \"PyPy\""} [[package]] name = "cfgv" -version = "3.4.0" +version = "3.5.0" description = "Validate configuration and produce human readable error messages." optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, + {file = "cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0"}, + {file = "cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132"}, ] [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.7" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +python-versions = ">=3.7" +files = [ + {file = "charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-win32.whl", hash = "sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win32.whl", hash = "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c"}, + {file = "charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d"}, + {file = "charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5"}, ] [[package]] name = "ckzg" -version = "1.0.2" +version = "2.1.7" description = "Python bindings for C-KZG-4844" optional = false python-versions = "*" files = [ - {file = "ckzg-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bdd082bc0f2a595e3546658ecbe1ff78fe65b0ab7e619a8197a62d94f46b5b46"}, - {file = "ckzg-1.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50ca4af4e2f1a1e8b0a7e97b3aef39dedbb0d52d90866ece424f13f8df1b5972"}, - {file = "ckzg-1.0.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e9dc671b0a307ea65d0a216ca496c272dd3c1ed890ddc2a306da49b0d8ffc83"}, - {file = "ckzg-1.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d95e97a0d0f7758119bb905fb5688222b1556de465035614883c42fe4a047d1f"}, - {file = "ckzg-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27261672154cbd477d84d289845b0022fbdbe2ba45b7a2a2051c345fa04c8334"}, - {file = "ckzg-1.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c16d5ee1ddbbbad0367ff970b3ec9f6d1879e9f928023beda59ae9e16ad99e4c"}, - {file = "ckzg-1.0.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:09043738b029bdf4fdc82041b395cfc6f5b5cf63435e5d4d685d24fd14c834d3"}, - {file = "ckzg-1.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3c0afa232d2312e3101aaddb6971b486b0038a0f9171500bc23143f5749eff55"}, - {file = "ckzg-1.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:96e8281b6d58cf91b9559e1bd38132161d63467500838753364c68e825df2e2c"}, - {file = "ckzg-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b874167de1d6de72890a2ad5bd9aa7adbddc41c3409923b59cf4ef27f83f79da"}, - {file = "ckzg-1.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3d2ccd68b0743e20e853e31a08da490a8d38c7f12b9a0c4ee63ef5afa0dc2427"}, - {file = "ckzg-1.0.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e8d534ddbe785c44cf1cd62ee32d78b4310d66dd70e42851f5468af655b81f5"}, - {file = "ckzg-1.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c732cda00c76b326f39ae97edfc6773dd231b7c77288b38282584a7aee77c3a7"}, - {file = "ckzg-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc5a27284db479ead4c053ff086d6e222914f1b0aa08b80eabfa116dbed4f7a"}, - {file = "ckzg-1.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e6bd5006cb3e802744309450183087a6594d50554814eee19065f7064dff7b05"}, - {file = "ckzg-1.0.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3594470134eda7adf2813ad3f1da55ced98c8a393262f47ce3890c5afa05b23e"}, - {file = "ckzg-1.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fea56f39e48b60c1ff6f751c47489e353d1bd95cae65c429cf5f87735d794431"}, - {file = "ckzg-1.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:f769eb2e1056ca396462460079f6849c778f58884bb24b638ff7028dd2120b65"}, - {file = "ckzg-1.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e3cb2f8c767aee57e88944f90848e8689ce43993b9ff21589cfb97a562208fe7"}, - {file = "ckzg-1.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b29889f5bc5db530f766871c0ff4133e7270ecf63aaa3ca756d3b2731980802"}, - {file = "ckzg-1.0.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfcc70fb76b3d36125d646110d5001f2aa89c1c09ff5537a4550cdb7951f44d4"}, - {file = "ckzg-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ca8a256cdd56d06bc5ef24caac64845240dbabca402c5a1966d519b2514b4ec"}, - {file = "ckzg-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ea91b0236384f93ad1df01d530672f09e254bd8c3cf097ebf486aebb97f6c8c"}, - {file = "ckzg-1.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:65311e72780105f239d1d66512629a9f468b7c9f2609b8567fc68963ac638ef9"}, - {file = "ckzg-1.0.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0d7600ce7a73ac41d348712d0c1fe5e4cb6caa329377064cfa3a6fd8fbffb410"}, - {file = "ckzg-1.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:19893ee7bd7da8688382cb134cb9ee7bce5c38e3a9386e3ed99bb010487d2d17"}, - {file = "ckzg-1.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:c3e1a9a72695e777497e95bb2213316a1138f82d1bb5d67b9c029a522d24908e"}, - {file = "ckzg-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2f59da9cb82b6a4be615f2561a255731eededa7ecd6ba4b2f2dedfc918ef137"}, - {file = "ckzg-1.0.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c915e1f2ef51657c3255d8b1e2aea6e0b93348ae316b2b79eaadfb17ad8f514e"}, - {file = "ckzg-1.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcc0d2031fcabc4be37e9e602c926ef9347238d2f58c1b07e0c147f60b9e760b"}, - {file = "ckzg-1.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cdaad2745425d7708e76e8e56a52fdaf5c5cc1cfefd5129d24ff8dbe06a012d"}, - {file = "ckzg-1.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:1ec775649daade1b93041aac9c1660c2ad9828b57ccd2eeb5a3074d8f05e544a"}, - {file = "ckzg-1.0.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:02f9cc3e38b3702ec5895a1ebf927fd02b8f5c2f93c7cb9e438581b5b74472c8"}, - {file = "ckzg-1.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:0e816af31951b5e94e6bc069f21fe783427c190526e0437e16c4488a34ddcacc"}, - {file = "ckzg-1.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:651ba33ee2d7fefff14ca519a72996b733402f8b043fbfef12d5fe2a442d86d8"}, - {file = "ckzg-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:489763ad92e2175fb6ab455411f03ec104c630470d483e11578bf2e00608f283"}, - {file = "ckzg-1.0.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69e1376284e9a5094d7c4d3e552202d6b32a67c5acc461b0b35718d8ec5c7363"}, - {file = "ckzg-1.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb9d0b09ca1bdb5955b626d6645f811424ae0fcab47699a1a938a3ce0438c25f"}, - {file = "ckzg-1.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d87a121ace8feb6c9386f247e7e36ef55e584fc8a6b1bc2c60757a59c1efe364"}, - {file = "ckzg-1.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:97c27153fab853f017fed159333b27beeb2e0da834c92c9ecdc26d0e5c3983b3"}, - {file = "ckzg-1.0.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b26799907257c39471cb3665f66f7630797140131606085c2c94a7094ab6ddf2"}, - {file = "ckzg-1.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:283a40c625222560fda3dcb912b666f7d50f9502587b73c4358979f519f1c961"}, - {file = "ckzg-1.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:5f029822d27c52b9c3dbe5706408b099da779f10929be0422a09a34aa026a872"}, - {file = "ckzg-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edaea8fb50b01c6c19768d9305ad365639a8cd804754277d5108dcae4808f00b"}, - {file = "ckzg-1.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:27be65c88d5d773a30e6f198719cefede7e25cad807384c3d65a09c11616fc9d"}, - {file = "ckzg-1.0.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9ac729c5c6f3d2c030c0bc8c9e10edc253e36f002cfe227292035009965d349"}, - {file = "ckzg-1.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1528bc2b95aac6d184a90b023602c40d7b11b577235848c1b5593c00cf51d37"}, - {file = "ckzg-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:071dc7fc179316ce1bfabaa056156e4e84f312c4560ab7b9529a3b9a84019df3"}, - {file = "ckzg-1.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:895044069de7010be6c7ee703f03fd7548267a0823cf60b9dd26ec50267dd9e8"}, - {file = "ckzg-1.0.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ed8c99cd3d9af596470e0481fd58931007288951719bad026f0dd486dd0ec11"}, - {file = "ckzg-1.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:74d87eafe561d4bfb544a4f3419d26c56ad7de00f39789ef0fdb09515544d12e"}, - {file = "ckzg-1.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:54d71e5ca416bd51c543f9f51e426e6792f8a0280b83aef92faad1b826f401ea"}, - {file = "ckzg-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:da2d9988781a09a4577ee7ea8f51fe4a94b4422789a523164f5ba3118566ad41"}, - {file = "ckzg-1.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d9e030af7d6acdcb356fddfb095048bc8e880fe4cd70ff2206c64f33bf384a0d"}, - {file = "ckzg-1.0.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:145ae31c3d499d1950567bd636dc5b24292b600296b9deb5523bc20d8f7b51c3"}, - {file = "ckzg-1.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d81e68e84d80084da298471ad5eaddfcc1cf73545cb24e9453550c8186870982"}, - {file = "ckzg-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c67064bbbeba1a6892c9c80b3d0c2a540ff48a5ca5356fdb2a8d998b264e43e6"}, - {file = "ckzg-1.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:99694917eb6decefc0d330d9887a89ea770824b2fa76eb830bab5fe57ea5c20c"}, - {file = "ckzg-1.0.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fca227ce0ce3427254a113fdb3aed5ecd99c1fc670cb0c60cc8a2154793678e4"}, - {file = "ckzg-1.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a66a690d3d1801085d11de6825df47a99b465ff32dbe90be4a3c9f43c577da96"}, - {file = "ckzg-1.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:272adfe471380d10e4a0e1639d877e504555079a60233dd82249c799b15be81e"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f37be0054ebb4b8ac6e6d5267290b239b09e7ddc611776051b4c3c4032d161ba"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:611c03a170f0f746180eeb0cc28cdc6f954561b8eb9013605a046de86520ee6b"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75b2f0ab341f3c33702ce64e1c101116c7462a25686d0b1a0193ca654ad4f96e"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab29fc61fbd32096b82b02e6b18ae0d7423048d3540b7b90805b16ae10bdb769"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e43741e7453262aa3ba1754623d7864250b33751bd850dd548e3ed6bd1911093"}, - {file = "ckzg-1.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:155eacc237cb28c9eafda1c47a89e6e4550f1c2e711f2eee21e0bb2f4df75546"}, - {file = "ckzg-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31d7fbe396a51f43375e38c31bc3a96c7996882582f95f3fcfd54acfa7b3ce6"}, - {file = "ckzg-1.0.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d3d049186c9966e9140de39a9979d7adcfe22f8b02d2852c94d3c363235cc18"}, - {file = "ckzg-1.0.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88728fbd410d61bd5d655ac50b842714c38bc34ff717f73592132d28911fc88e"}, - {file = "ckzg-1.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:052d302058d72431acc9dd4a9c76854c8dfce10c698deef5252884e32a1ac7bf"}, - {file = "ckzg-1.0.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:633110a9431231664be2ad32baf10971547f18289d33967654581b9ae9c94a7e"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f439c9e5297ae29a700f6d55de1525e2e295dbbb7366f0974c8702fca9e536b9"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:94f7eb080c00c0ccbd4fafad69f0b35b624a6a229a28e11d365b60b58a072832"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f876783ec654b7b9525503c2a0a1b086e5d4f52ff65cac7e8747769b0c2e5468"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7e039800e50592580171830e788ef4a1d6bb54300d074ae9f9119e92aefc568"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a8cccf0070a29bc01493179db2e61220ee1a6cb17f8ea41c68a2f043ace87f"}, - {file = "ckzg-1.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f86cef801d7b0838e17b6ee2f2c9e747447d91ad1220a701baccdf7ef11a3c8"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2433a89af4158beddebbdd66fae95b34d40f2467bee8dc40df0333de5e616b5f"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c49d5dc0918ad912777720035f9820bdbb6c7e7d1898e12506d44ab3c938d525"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:331d49bc72430a3f85ea6ecb55a0d0d65f66a21d61af5783b465906a741366d5"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86627bc33bc63b8de869d7d5bfa9868619a4f3e4e7082103935c52f56c66b5"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab6a2ba2706b5eaa1ce6bc7c4e72970bf9587e2e0e482e5fb4df1996bccb7a40"}, - {file = "ckzg-1.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8bca5e7c38d913fabc24ad09545f78ba23cfc13e1ac8250644231729ca908549"}, - {file = "ckzg-1.0.2.tar.gz", hash = "sha256:4295acc380f8d42ebea4a4a0a68c424a322bb335a33bad05c72ead8cbb28d118"}, + {file = "ckzg-2.1.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:21fbb7f5689413994d224046c0c06cb8385fb8de33c5171b2c057151710cffed"}, + {file = "ckzg-2.1.7-cp310-cp310-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:83f56b03c54fd9a610aeefd9fd241bb2af960cb703f208c7806b37ccc9fb7fb8"}, + {file = "ckzg-2.1.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8bfa41d97ee31a2053d0b2f2a53793f67745bfa694f48b6d091ae499a04c272f"}, + {file = "ckzg-2.1.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:244acf422fb727dbc376a082f71d66f6f2787b570ec27d17d20c3c3b85aef6fb"}, + {file = "ckzg-2.1.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8705f73a7efe0f01b8ce67677320be99c7d7c7077311d255bbf2d4e55fdc6a9b"}, + {file = "ckzg-2.1.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c6b29572b2a4f678991a1edc2426f1802e9190eb763510cf1e9bafe797f004ba"}, + {file = "ckzg-2.1.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6ce04e32c1c459afae80edd32304956340a1dc5464a9f732f115f1119e3ec51d"}, + {file = "ckzg-2.1.7-cp310-cp310-win_amd64.whl", hash = "sha256:f537529bebfc58de21a6326100ad33e7d7ee98b0d49e44ee7f53d17ef899dfd5"}, + {file = "ckzg-2.1.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9172f571ac7ec6d90207ad1903d921c38e48482bc028f723d6908720af1add6"}, + {file = "ckzg-2.1.7-cp311-cp311-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:c5494f39edeffedfa085fe85614a1c05ddd895ceb9d6c1800dc5355f9132a8f9"}, + {file = "ckzg-2.1.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb67250207b93d2df7f694bb74bd6b4a15fb2bb67d6a78977ae8ff431678c7e7"}, + {file = "ckzg-2.1.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7828cb549e2e8368e966c9dab87f3a51456647f1a3e79bdac9194e17bbc4d54"}, + {file = "ckzg-2.1.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23eacac20c6d3be2c87e592c11d02e4a1912e799d77e2559502455e85113e7b4"}, + {file = "ckzg-2.1.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4dd2afdc41f063e57eb569034b81088ba724240d3247ca78ea6591a1e04df50d"}, + {file = "ckzg-2.1.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3af91c230982d59afe6f42c9c2a4c74412424a566bd09a42ffdfb451872335a"}, + {file = "ckzg-2.1.7-cp311-cp311-win_amd64.whl", hash = "sha256:f959a3bbc6d7aa7a653946e67dadaa78c0c79828aaa93b125a26f171a602b8fa"}, + {file = "ckzg-2.1.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:126050ffb23b504c34c4c2073c54bd8b42f4a3034798a631c9e85911e26caf47"}, + {file = "ckzg-2.1.7-cp312-cp312-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:936b4bffc1a6fa2bf261eb5e673f4fcc59feaf70c6c07aac1b02e3e1f942fdb6"}, + {file = "ckzg-2.1.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:902c03b689d13684cd8b61c8e1b7a65528fdd5e1ab9d76338ddb2e902b5fd1ea"}, + {file = "ckzg-2.1.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e635e5e1f6ff8ffc05d2961ccfc4b3e8c95e50c87d9765b2dfe09e32474c402"}, + {file = "ckzg-2.1.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cbedb5e4732d37c87fe45a2b25891d00f434d4e0f4dd612daa034fe2011e5939"}, + {file = "ckzg-2.1.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:665d0094466b576e390b4a5e1caf199f1165841e99bf7b3cc65117f12ba4ea74"}, + {file = "ckzg-2.1.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f5d4d1fb20eda15b901fc393a4bfd39b1be661008218f9f0db47d4e143d25d62"}, + {file = "ckzg-2.1.7-cp312-cp312-win_amd64.whl", hash = "sha256:b580f65e61f3d89a99bfeeac0e256cf68c63d29df1c1e5e788785085083a303b"}, + {file = "ckzg-2.1.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e23e10b227209bfae11f6f1f88ff2a8b0a2232248f985321e5e844c9dd7a4c5f"}, + {file = "ckzg-2.1.7-cp313-cp313-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:382c015860e7159b1ec5a85642127d4b55f6b36eef5f73d664fc409d26a3b367"}, + {file = "ckzg-2.1.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6666801e925d2f1d7c045fe943c1265c39b90444f88288735cc1245c4fa8018a"}, + {file = "ckzg-2.1.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e823de2fd4103abc4b51512d27aa3e14107e84718e11a596eefcddc6f313b25"}, + {file = "ckzg-2.1.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a65c7be0bb72a159c5a4b98cc3c759b868274697de11d8248f5dde32f2400776"}, + {file = "ckzg-2.1.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62523b275f74f2729fc788d02b26e447dabfd7706ffe8882ee96d776db54b920"}, + {file = "ckzg-2.1.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5d998cd6d0f8e37e969c96315ac8c1e87fcf581cf27ab970bd33e62dc1c43357"}, + {file = "ckzg-2.1.7-cp313-cp313-win_amd64.whl", hash = "sha256:d48b75fca9e928b2ea288fc079b0522fb91af5742b5eb4f2fdea4fc33a1b7b4e"}, + {file = "ckzg-2.1.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c19b98f29f4459587e1ec4cce3e2e10963a6974293cf3143d13ce43c30542806"}, + {file = "ckzg-2.1.7-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:d31583a24cf8166d81c36f1e424de1f343c1d604dbc8c68d938a908236ae11a3"}, + {file = "ckzg-2.1.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:baf6ac696e6a40b33ddb57aa0729d5e39230bd13fa4f1e40fe9236e8920d83fe"}, + {file = "ckzg-2.1.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bbdf89f9327e442415a810beca692729c35664e154a6830296124a5c6f05470"}, + {file = "ckzg-2.1.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:716c2dde0a91c0095797b843f78a6425e20a3d8945ecb4f90550b5c681b6be05"}, + {file = "ckzg-2.1.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:2a9f1a05ed44512b80581e47918b1f4546974e8e924ee0e8de84ab32de197326"}, + {file = "ckzg-2.1.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:42005c188e37c2f65d44f3a2585e89de18e0e229bc667a600d8716808ea2c33b"}, + {file = "ckzg-2.1.7-cp314-cp314-win_amd64.whl", hash = "sha256:14fbc642b1e81893df76a1636fddc169173da5dcdb55fc08a030658cd186150e"}, + {file = "ckzg-2.1.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:da1a07e25ecaeb341ad4caf583fdec12c6af1ef3642289bb7dfcad2ca1b73dd3"}, + {file = "ckzg-2.1.7-cp314-cp314t-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:c657892f93eb70e3295b4f385e25380644c40f8bfebfcd55659f5017257c5b8c"}, + {file = "ckzg-2.1.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03af4cf053be82c22a893c8ef971d17687182dd2e75bcc2fab320bc27a62b7cb"}, + {file = "ckzg-2.1.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6ecd9c44427a0035a8a9cb3dc18b4b3c72347f7be7c9f6866b8eddd6598bf0a9"}, + {file = "ckzg-2.1.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:16e313e6029e88a564724217dd8eddd6226fbf0a0c07bf65a210bf3512c7b8ad"}, + {file = "ckzg-2.1.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:8461ec7d69ccb450d4a4d031494a86dc6c15ad54b671967d4a8bdcd8158155b2"}, + {file = "ckzg-2.1.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:53f420a3fa55a92265e23394caa2aac5b0e1e63ee6489d414cafeb0accde9a9e"}, + {file = "ckzg-2.1.7-cp314-cp314t-win_amd64.whl", hash = "sha256:2cdcc023d842900564d6070e397cab0d04fd393e6af07d60bdd1c97dc3ff09fd"}, + {file = "ckzg-2.1.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ab6ec526c6c727dd0f97f169f40c96124904db84718bb33965844e9952072eee"}, + {file = "ckzg-2.1.7-cp38-cp38-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:774abe2a20efd4c6050e6d80fbe382158aa3732349f4a8a74c18f41db53bfecf"}, + {file = "ckzg-2.1.7-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e5ee64fe3c67d894ea76e8df2be549ea82921c9f5a762ab03cc9be7b0f74be"}, + {file = "ckzg-2.1.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d79a024ffde956ee958d912542c96981308fe1948443d6a52bba5fa25a8c6368"}, + {file = "ckzg-2.1.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:aac001a1832f6c93c7ee656379b070230fa1f0111229b4e3e794b901caa0e6b6"}, + {file = "ckzg-2.1.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:0838dc176b405b1bf4ea3c098bb3e4e6affd135bbdb3ae13f78f499d23a0fc8c"}, + {file = "ckzg-2.1.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9513b1779765dc1e7c47c45c3f63f02119685a91f689c7ff57173388a172bcbb"}, + {file = "ckzg-2.1.7-cp38-cp38-win_amd64.whl", hash = "sha256:55db86ada15ed542168e33dc0693bd1566258c4ca376bddef135e420c7f75b40"}, + {file = "ckzg-2.1.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6a8fe05d77f4f8373cb67929d9f2538bb19fa137de3e9170092ae20daab64ffe"}, + {file = "ckzg-2.1.7-cp39-cp39-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:8af45d2f296ed9aa21a128a2d605020e63a0ea4a642e32ffedfccf743aa51531"}, + {file = "ckzg-2.1.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8c2aaad1b4d5c1b7da0f1bab9840ee09f5dfe1c903547a276a79cac86f56390"}, + {file = "ckzg-2.1.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0584b6011fc8c9e4b09bc090b36e9a9c1f4917bd216e0a064d0135c809e6c0ee"}, + {file = "ckzg-2.1.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:76f332442680d30ab7d7659ae566a7e17adfbdda6ef8aa5bffff62f4dc584d03"}, + {file = "ckzg-2.1.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9e6cd0c5c73da94d6ee88a5396e1c1b65f87f03f5299f624d3f62ce361a0b9d3"}, + {file = "ckzg-2.1.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6398bc0632682e7ff3b0835bbd79032e161c32a312adb2baa8a9bebe78eebc46"}, + {file = "ckzg-2.1.7-cp39-cp39-win_amd64.whl", hash = "sha256:043e76201346987e6370b0c21bd08f93bbc8e26607d110c998c8faa6005be50f"}, + {file = "ckzg-2.1.7.tar.gz", hash = "sha256:a0c61c5fd573af0267bcb435ef0f499911289ceb05e863480779ea284a3bb928"}, ] [[package]] name = "click" -version = "8.1.7" +version = "8.3.3" description = "Composable command line interface toolkit" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.3.3-py3-none-any.whl", hash = "sha256:a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613"}, + {file = "click-8.3.3.tar.gz", hash = "sha256:398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2"}, ] [package.dependencies] @@ -798,73 +999,117 @@ files = [ [[package]] name = "coverage" -version = "7.6.9" +version = "7.13.5" description = "Code coverage measurement for Python" optional = false -python-versions = ">=3.9" -files = [ - {file = "coverage-7.6.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85d9636f72e8991a1706b2b55b06c27545448baf9f6dbf51c4004609aacd7dcb"}, - {file = "coverage-7.6.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:608a7fd78c67bee8936378299a6cb9f5149bb80238c7a566fc3e6717a4e68710"}, - {file = "coverage-7.6.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96d636c77af18b5cb664ddf12dab9b15a0cfe9c0bde715da38698c8cea748bfa"}, - {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75cded8a3cff93da9edc31446872d2997e327921d8eed86641efafd350e1df1"}, - {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7b15f589593110ae767ce997775d645b47e5cbbf54fd322f8ebea6277466cec"}, - {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:44349150f6811b44b25574839b39ae35291f6496eb795b7366fef3bd3cf112d3"}, - {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d891c136b5b310d0e702e186d70cd16d1119ea8927347045124cb286b29297e5"}, - {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:db1dab894cc139f67822a92910466531de5ea6034ddfd2b11c0d4c6257168073"}, - {file = "coverage-7.6.9-cp310-cp310-win32.whl", hash = "sha256:41ff7b0da5af71a51b53f501a3bac65fb0ec311ebed1632e58fc6107f03b9198"}, - {file = "coverage-7.6.9-cp310-cp310-win_amd64.whl", hash = "sha256:35371f8438028fdccfaf3570b31d98e8d9eda8bb1d6ab9473f5a390969e98717"}, - {file = "coverage-7.6.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:932fc826442132dde42ee52cf66d941f581c685a6313feebed358411238f60f9"}, - {file = "coverage-7.6.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:085161be5f3b30fd9b3e7b9a8c301f935c8313dcf928a07b116324abea2c1c2c"}, - {file = "coverage-7.6.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccc660a77e1c2bf24ddbce969af9447a9474790160cfb23de6be4fa88e3951c7"}, - {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c69e42c892c018cd3c8d90da61d845f50a8243062b19d228189b0224150018a9"}, - {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0824a28ec542a0be22f60c6ac36d679e0e262e5353203bea81d44ee81fe9c6d4"}, - {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4401ae5fc52ad8d26d2a5d8a7428b0f0c72431683f8e63e42e70606374c311a1"}, - {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:98caba4476a6c8d59ec1eb00c7dd862ba9beca34085642d46ed503cc2d440d4b"}, - {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ee5defd1733fd6ec08b168bd4f5387d5b322f45ca9e0e6c817ea6c4cd36313e3"}, - {file = "coverage-7.6.9-cp311-cp311-win32.whl", hash = "sha256:f2d1ec60d6d256bdf298cb86b78dd715980828f50c46701abc3b0a2b3f8a0dc0"}, - {file = "coverage-7.6.9-cp311-cp311-win_amd64.whl", hash = "sha256:0d59fd927b1f04de57a2ba0137166d31c1a6dd9e764ad4af552912d70428c92b"}, - {file = "coverage-7.6.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e266ae0b5d15f1ca8d278a668df6f51cc4b854513daab5cae695ed7b721cf8"}, - {file = "coverage-7.6.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9901d36492009a0a9b94b20e52ebfc8453bf49bb2b27bca2c9706f8b4f5a554a"}, - {file = "coverage-7.6.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd3e72dd5b97e3af4246cdada7738ef0e608168de952b837b8dd7e90341f015"}, - {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff74026a461eb0660366fb01c650c1d00f833a086b336bdad7ab00cc952072b3"}, - {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65dad5a248823a4996724a88eb51d4b31587aa7aa428562dbe459c684e5787ae"}, - {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22be16571504c9ccea919fcedb459d5ab20d41172056206eb2994e2ff06118a4"}, - {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f957943bc718b87144ecaee70762bc2bc3f1a7a53c7b861103546d3a403f0a6"}, - {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ae1387db4aecb1f485fb70a6c0148c6cdaebb6038f1d40089b1fc84a5db556f"}, - {file = "coverage-7.6.9-cp312-cp312-win32.whl", hash = "sha256:1a330812d9cc7ac2182586f6d41b4d0fadf9be9049f350e0efb275c8ee8eb692"}, - {file = "coverage-7.6.9-cp312-cp312-win_amd64.whl", hash = "sha256:b12c6b18269ca471eedd41c1b6a1065b2f7827508edb9a7ed5555e9a56dcfc97"}, - {file = "coverage-7.6.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:899b8cd4781c400454f2f64f7776a5d87bbd7b3e7f7bda0cb18f857bb1334664"}, - {file = "coverage-7.6.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61f70dc68bd36810972e55bbbe83674ea073dd1dcc121040a08cdf3416c5349c"}, - {file = "coverage-7.6.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a289d23d4c46f1a82d5db4abeb40b9b5be91731ee19a379d15790e53031c014"}, - {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e216d8044a356fc0337c7a2a0536d6de07888d7bcda76febcb8adc50bdbbd00"}, - {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c026eb44f744acaa2bda7493dad903aa5bf5fc4f2554293a798d5606710055d"}, - {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e77363e8425325384f9d49272c54045bbed2f478e9dd698dbc65dbc37860eb0a"}, - {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:777abfab476cf83b5177b84d7486497e034eb9eaea0d746ce0c1268c71652077"}, - {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:447af20e25fdbe16f26e84eb714ba21d98868705cb138252d28bc400381f6ffb"}, - {file = "coverage-7.6.9-cp313-cp313-win32.whl", hash = "sha256:d872ec5aeb086cbea771c573600d47944eea2dcba8be5f3ee649bfe3cb8dc9ba"}, - {file = "coverage-7.6.9-cp313-cp313-win_amd64.whl", hash = "sha256:fd1213c86e48dfdc5a0cc676551db467495a95a662d2396ecd58e719191446e1"}, - {file = "coverage-7.6.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9e7484d286cd5a43744e5f47b0b3fb457865baf07bafc6bee91896364e1419"}, - {file = "coverage-7.6.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e5ea1cf0872ee455c03e5674b5bca5e3e68e159379c1af0903e89f5eba9ccc3a"}, - {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d10e07aa2b91835d6abec555ec8b2733347956991901eea6ffac295f83a30e4"}, - {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13a9e2d3ee855db3dd6ea1ba5203316a1b1fd8eaeffc37c5b54987e61e4194ae"}, - {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c38bf15a40ccf5619fa2fe8f26106c7e8e080d7760aeccb3722664c8656b030"}, - {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d5275455b3e4627c8e7154feaf7ee0743c2e7af82f6e3b561967b1cca755a0be"}, - {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8f8770dfc6e2c6a2d4569f411015c8d751c980d17a14b0530da2d7f27ffdd88e"}, - {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8d2dfa71665a29b153a9681edb1c8d9c1ea50dfc2375fb4dac99ea7e21a0bcd9"}, - {file = "coverage-7.6.9-cp313-cp313t-win32.whl", hash = "sha256:5e6b86b5847a016d0fbd31ffe1001b63355ed309651851295315031ea7eb5a9b"}, - {file = "coverage-7.6.9-cp313-cp313t-win_amd64.whl", hash = "sha256:97ddc94d46088304772d21b060041c97fc16bdda13c6c7f9d8fcd8d5ae0d8611"}, - {file = "coverage-7.6.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:adb697c0bd35100dc690de83154627fbab1f4f3c0386df266dded865fc50a902"}, - {file = "coverage-7.6.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:be57b6d56e49c2739cdf776839a92330e933dd5e5d929966fbbd380c77f060be"}, - {file = "coverage-7.6.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1592791f8204ae9166de22ba7e6705fa4ebd02936c09436a1bb85aabca3e599"}, - {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e12ae8cc979cf83d258acb5e1f1cf2f3f83524d1564a49d20b8bec14b637f08"}, - {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb5555cff66c4d3d6213a296b360f9e1a8e323e74e0426b6c10ed7f4d021e464"}, - {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9389a429e0e5142e69d5bf4a435dd688c14478a19bb901735cdf75e57b13845"}, - {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:592ac539812e9b46046620341498caf09ca21023c41c893e1eb9dbda00a70cbf"}, - {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a27801adef24cc30871da98a105f77995e13a25a505a0161911f6aafbd66e678"}, - {file = "coverage-7.6.9-cp39-cp39-win32.whl", hash = "sha256:8e3c3e38930cfb729cb8137d7f055e5a473ddaf1217966aa6238c88bd9fd50e6"}, - {file = "coverage-7.6.9-cp39-cp39-win_amd64.whl", hash = "sha256:e28bf44afa2b187cc9f41749138a64435bf340adfcacb5b2290c070ce99839d4"}, - {file = "coverage-7.6.9-pp39.pp310-none-any.whl", hash = "sha256:f3ca78518bc6bc92828cd11867b121891d75cae4ea9e908d72030609b996db1b"}, - {file = "coverage-7.6.9.tar.gz", hash = "sha256:4a8d8977b0c6ef5aeadcb644da9e69ae0dcfe66ec7f368c89c72e058bd71164d"}, +python-versions = ">=3.10" +files = [ + {file = "coverage-7.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0723d2c96324561b9aa76fb982406e11d93cdb388a7a7da2b16e04719cf7ca5"}, + {file = "coverage-7.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52f444e86475992506b32d4e5ca55c24fc88d73bcbda0e9745095b28ef4dc0cf"}, + {file = "coverage-7.13.5-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:704de6328e3d612a8f6c07000a878ff38181ec3263d5a11da1db294fa6a9bdf8"}, + {file = "coverage-7.13.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a1a6d79a14e1ec1832cabc833898636ad5f3754a678ef8bb4908515208bf84f4"}, + {file = "coverage-7.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79060214983769c7ba3f0cee10b54c97609dca4d478fa1aa32b914480fd5738d"}, + {file = "coverage-7.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:356e76b46783a98c2a2fe81ec79df4883a1e62895ea952968fb253c114e7f930"}, + {file = "coverage-7.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0cef0cdec915d11254a7f549c1170afecce708d30610c6abdded1f74e581666d"}, + {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc022073d063b25a402454e5712ef9e007113e3a676b96c5f29b2bda29352f40"}, + {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9b74db26dfea4f4e50d48a4602207cd1e78be33182bc9cbf22da94f332f99878"}, + {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ad146744ca4fd09b50c482650e3c1b1f4dfa1d4792e0a04a369c7f23336f0400"}, + {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c555b48be1853fe3997c11c4bd521cdd9a9612352de01fa4508f16ec341e6fe0"}, + {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7034b5c56a58ae5e85f23949d52c14aca2cfc6848a31764995b7de88f13a1ea0"}, + {file = "coverage-7.13.5-cp310-cp310-win32.whl", hash = "sha256:eb7fdf1ef130660e7415e0253a01a7d5a88c9c4d158bcf75cbbd922fd65a5b58"}, + {file = "coverage-7.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:3e1bb5f6c78feeb1be3475789b14a0f0a5b47d505bfc7267126ccbd50289999e"}, + {file = "coverage-7.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66a80c616f80181f4d643b0f9e709d97bcea413ecd9631e1dedc7401c8e6695d"}, + {file = "coverage-7.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:145ede53ccbafb297c1c9287f788d1bc3efd6c900da23bf6931b09eafc931587"}, + {file = "coverage-7.13.5-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0672854dc733c342fa3e957e0605256d2bf5934feeac328da9e0b5449634a642"}, + {file = "coverage-7.13.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ec10e2a42b41c923c2209b846126c6582db5e43a33157e9870ba9fb70dc7854b"}, + {file = "coverage-7.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be3d4bbad9d4b037791794ddeedd7d64a56f5933a2c1373e18e9e568b9141686"}, + {file = "coverage-7.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d2afbc5cc54d286bfb54541aa50b64cdb07a718227168c87b9e2fb8f25e1743"}, + {file = "coverage-7.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3ad050321264c49c2fa67bb599100456fc51d004b82534f379d16445da40fb75"}, + {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7300c8a6d13335b29bb76d7651c66af6bd8658517c43499f110ddc6717bfc209"}, + {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:eb07647a5738b89baab047f14edd18ded523de60f3b30e75c2acc826f79c839a"}, + {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9adb6688e3b53adffefd4a52d72cbd8b02602bfb8f74dcd862337182fd4d1a4e"}, + {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7c8d4bc913dd70b93488d6c496c77f3aff5ea99a07e36a18f865bca55adef8bd"}, + {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0e3c426ffc4cd952f54ee9ffbdd10345709ecc78a3ecfd796a57236bfad0b9b8"}, + {file = "coverage-7.13.5-cp311-cp311-win32.whl", hash = "sha256:259b69bb83ad9894c4b25be2528139eecba9a82646ebdda2d9db1ba28424a6bf"}, + {file = "coverage-7.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:258354455f4e86e3e9d0d17571d522e13b4e1e19bf0f8596bcf9476d61e7d8a9"}, + {file = "coverage-7.13.5-cp311-cp311-win_arm64.whl", hash = "sha256:bff95879c33ec8da99fc9b6fe345ddb5be6414b41d6d1ad1c8f188d26f36e028"}, + {file = "coverage-7.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:460cf0114c5016fa841214ff5564aa4864f11948da9440bc97e21ad1f4ba1e01"}, + {file = "coverage-7.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e223ce4b4ed47f065bfb123687686512e37629be25cc63728557ae7db261422"}, + {file = "coverage-7.13.5-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6e3370441f4513c6252bf042b9c36d22491142385049243253c7e48398a15a9f"}, + {file = "coverage-7.13.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:03ccc709a17a1de074fb1d11f217342fb0d2b1582ed544f554fc9fc3f07e95f5"}, + {file = "coverage-7.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f4818d065964db3c1c66dc0fbdac5ac692ecbc875555e13374fdbe7eedb4376"}, + {file = "coverage-7.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:012d5319e66e9d5a218834642d6c35d265515a62f01157a45bcc036ecf947256"}, + {file = "coverage-7.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8dd02af98971bdb956363e4827d34425cb3df19ee550ef92855b0acb9c7ce51c"}, + {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f08fd75c50a760c7eb068ae823777268daaf16a80b918fa58eea888f8e3919f5"}, + {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:843ea8643cf967d1ac7e8ecd4bb00c99135adf4816c0c0593fdcc47b597fcf09"}, + {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9d44d7aa963820b1b971dbecd90bfe5fe8f81cff79787eb6cca15750bd2f79b9"}, + {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7132bed4bd7b836200c591410ae7d97bf7ae8be6fc87d160b2bd881df929e7bf"}, + {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a698e363641b98843c517817db75373c83254781426e94ada3197cabbc2c919c"}, + {file = "coverage-7.13.5-cp312-cp312-win32.whl", hash = "sha256:bdba0a6b8812e8c7df002d908a9a2ea3c36e92611b5708633c50869e6d922fdf"}, + {file = "coverage-7.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:d2c87e0c473a10bffe991502eac389220533024c8082ec1ce849f4218dded810"}, + {file = "coverage-7.13.5-cp312-cp312-win_arm64.whl", hash = "sha256:bf69236a9a81bdca3bff53796237aab096cdbf8d78a66ad61e992d9dac7eb2de"}, + {file = "coverage-7.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ec4af212df513e399cf11610cc27063f1586419e814755ab362e50a85ea69c1"}, + {file = "coverage-7.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:941617e518602e2d64942c88ec8499f7fbd49d3f6c4327d3a71d43a1973032f3"}, + {file = "coverage-7.13.5-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:da305e9937617ee95c2e39d8ff9f040e0487cbf1ac174f777ed5eddd7a7c1f26"}, + {file = "coverage-7.13.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:78e696e1cc714e57e8b25760b33a8b1026b7048d270140d25dafe1b0a1ee05a3"}, + {file = "coverage-7.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02ca0eed225b2ff301c474aeeeae27d26e2537942aa0f87491d3e147e784a82b"}, + {file = "coverage-7.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:04690832cbea4e4663d9149e05dba142546ca05cb1848816760e7f58285c970a"}, + {file = "coverage-7.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0590e44dd2745c696a778f7bab6aa95256de2cbc8b8cff4f7db8ff09813d6969"}, + {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d7cfad2d6d81dd298ab6b89fe72c3b7b05ec7544bdda3b707ddaecff8d25c161"}, + {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e092b9499de38ae0fbfbc603a74660eb6ff3e869e507b50d85a13b6db9863e15"}, + {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:48c39bc4a04d983a54a705a6389512883d4a3b9862991b3617d547940e9f52b1"}, + {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2d3807015f138ffea1ed9afeeb8624fd781703f2858b62a8dd8da5a0994c57b6"}, + {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ee2aa19e03161671ec964004fb74b2257805d9710bf14a5c704558b9d8dbaf17"}, + {file = "coverage-7.13.5-cp313-cp313-win32.whl", hash = "sha256:ce1998c0483007608c8382f4ff50164bfc5bd07a2246dd272aa4043b75e61e85"}, + {file = "coverage-7.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:631efb83f01569670a5e866ceb80fe483e7c159fac6f167e6571522636104a0b"}, + {file = "coverage-7.13.5-cp313-cp313-win_arm64.whl", hash = "sha256:f4cd16206ad171cbc2470dbea9103cf9a7607d5fe8c242fdf1edf36174020664"}, + {file = "coverage-7.13.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0428cbef5783ad91fe240f673cc1f76b25e74bbfe1a13115e4aa30d3f538162d"}, + {file = "coverage-7.13.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e0b216a19534b2427cc201a26c25da4a48633f29a487c61258643e89d28200c0"}, + {file = "coverage-7.13.5-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:972a9cd27894afe4bc2b1480107054e062df08e671df7c2f18c205e805ccd806"}, + {file = "coverage-7.13.5-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4b59148601efcd2bac8c4dbf1f0ad6391693ccf7a74b8205781751637076aee3"}, + {file = "coverage-7.13.5-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:505d7083c8b0c87a8fa8c07370c285847c1f77739b22e299ad75a6af6c32c5c9"}, + {file = "coverage-7.13.5-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:60365289c3741e4db327e7baff2a4aaacf22f788e80fa4683393891b70a89fbd"}, + {file = "coverage-7.13.5-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1b88c69c8ef5d4b6fe7dea66d6636056a0f6a7527c440e890cf9259011f5e606"}, + {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5b13955d31d1633cf9376908089b7cebe7d15ddad7aeaabcbe969a595a97e95e"}, + {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:f70c9ab2595c56f81a89620e22899eea8b212a4041bd728ac6f4a28bf5d3ddd0"}, + {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:084b84a8c63e8d6fc7e3931b316a9bcafca1458d753c539db82d31ed20091a87"}, + {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ad14385487393e386e2ea988b09d62dd42c397662ac2dabc3832d71253eee479"}, + {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7f2c47b36fe7709a6e83bfadf4eefb90bd25fbe4014d715224c4316f808e59a2"}, + {file = "coverage-7.13.5-cp313-cp313t-win32.whl", hash = "sha256:67e9bc5449801fad0e5dff329499fb090ba4c5800b86805c80617b4e29809b2a"}, + {file = "coverage-7.13.5-cp313-cp313t-win_amd64.whl", hash = "sha256:da86cdcf10d2519e10cabb8ac2de03da1bcb6e4853790b7fbd48523332e3a819"}, + {file = "coverage-7.13.5-cp313-cp313t-win_arm64.whl", hash = "sha256:0ecf12ecb326fe2c339d93fc131816f3a7367d223db37817208905c89bded911"}, + {file = "coverage-7.13.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fbabfaceaeb587e16f7008f7795cd80d20ec548dc7f94fbb0d4ec2e038ce563f"}, + {file = "coverage-7.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9bb2a28101a443669a423b665939381084412b81c3f8c0fcfbac57f4e30b5b8e"}, + {file = "coverage-7.13.5-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bd3a2fbc1c6cccb3c5106140d87cc6a8715110373ef42b63cf5aea29df8c217a"}, + {file = "coverage-7.13.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6c36ddb64ed9d7e496028d1d00dfec3e428e0aabf4006583bb1839958d280510"}, + {file = "coverage-7.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:380e8e9084d8eb38db3a9176a1a4f3c0082c3806fa0dc882d1d87abc3c789247"}, + {file = "coverage-7.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e808af52a0513762df4d945ea164a24b37f2f518cbe97e03deaa0ee66139b4d6"}, + {file = "coverage-7.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e301d30dd7e95ae068671d746ba8c34e945a82682e62918e41b2679acd2051a0"}, + {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:800bc829053c80d240a687ceeb927a94fd108bbdc68dfbe505d0d75ab578a882"}, + {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:0b67af5492adb31940ee418a5a655c28e48165da5afab8c7fa6fd72a142f8740"}, + {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c9136ff29c3a91e25b1d1552b5308e53a1e0653a23e53b6366d7c2dcbbaf8a16"}, + {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:cff784eef7f0b8f6cb28804fbddcfa99f89efe4cc35fb5627e3ac58f91ed3ac0"}, + {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:68a4953be99b17ac3c23b6efbc8a38330d99680c9458927491d18700ef23ded0"}, + {file = "coverage-7.13.5-cp314-cp314-win32.whl", hash = "sha256:35a31f2b1578185fbe6aa2e74cea1b1d0bbf4c552774247d9160d29b80ed56cc"}, + {file = "coverage-7.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:2aa055ae1857258f9e0045be26a6d62bdb47a72448b62d7b55f4820f361a2633"}, + {file = "coverage-7.13.5-cp314-cp314-win_arm64.whl", hash = "sha256:1b11eef33edeae9d142f9b4358edb76273b3bfd30bc3df9a4f95d0e49caf94e8"}, + {file = "coverage-7.13.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:10a0c37f0b646eaff7cce1874c31d1f1ccb297688d4c747291f4f4c70741cc8b"}, + {file = "coverage-7.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b5db73ba3c41c7008037fa731ad5459fc3944cb7452fc0aa9f822ad3533c583c"}, + {file = "coverage-7.13.5-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:750db93a81e3e5a9831b534be7b1229df848b2e125a604fe6651e48aa070e5f9"}, + {file = "coverage-7.13.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ddb4f4a5479f2539644be484da179b653273bca1a323947d48ab107b3ed1f29"}, + {file = "coverage-7.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8a7a2049c14f413163e2bdabd37e41179b1d1ccb10ffc6ccc4b7a718429c607"}, + {file = "coverage-7.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1c85e0b6c05c592ea6d8768a66a254bfb3874b53774b12d4c89c481eb78cb90"}, + {file = "coverage-7.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:777c4d1eff1b67876139d24288aaf1817f6c03d6bae9c5cc8d27b83bcfe38fe3"}, + {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6697e29b93707167687543480a40f0db8f356e86d9f67ddf2e37e2dfd91a9dab"}, + {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:8fdf453a942c3e4d99bd80088141c4c6960bb232c409d9c3558e2dbaa3998562"}, + {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:32ca0c0114c9834a43f045a87dcebd69d108d8ffb666957ea65aa132f50332e2"}, + {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:8769751c10f339021e2638cd354e13adeac54004d1941119b2c96fe5276d45ea"}, + {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cec2d83125531bd153175354055cdb7a09987af08a9430bd173c937c6d0fba2a"}, + {file = "coverage-7.13.5-cp314-cp314t-win32.whl", hash = "sha256:0cd9ed7a8b181775459296e402ca4fb27db1279740a24e93b3b41942ebe4b215"}, + {file = "coverage-7.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:301e3b7dfefecaca37c9f1aa6f0049b7d4ab8dd933742b607765d757aca77d43"}, + {file = "coverage-7.13.5-cp314-cp314t-win_arm64.whl", hash = "sha256:9dacc2ad679b292709e0f5fc1ac74a6d4d5562e424058962c7bb0c658ad25e45"}, + {file = "coverage-7.13.5-py3-none-any.whl", hash = "sha256:34b02417cf070e173989b3db962f7ed56d2f644307b2cf9d5a0f258e13084a61"}, + {file = "coverage-7.13.5.tar.gz", hash = "sha256:c81f6515c4c40141f83f502b07bbfa5c240ba25bbe73da7b33f1e5b6120ff179"}, ] [package.dependencies] @@ -875,136 +1120,213 @@ toml = ["tomli"] [[package]] name = "cytoolz" -version = "1.0.0" +version = "1.1.0" description = "Cython implementation of Toolz: High performance functional utilities" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "cytoolz-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ecf5a887acb8f079ab1b81612b1c889bcbe6611aa7804fd2df46ed310aa5a345"}, - {file = "cytoolz-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ef0ef30c1e091d4d59d14d8108a16d50bd227be5d52a47da891da5019ac2f8e4"}, - {file = "cytoolz-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7df2dfd679f0517a96ced1cdd22f5c6c6aeeed28d928a82a02bf4c3fd6fd7ac4"}, - {file = "cytoolz-1.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c51452c938e610f57551aa96e34924169c9100c0448bac88c2fb395cbd3538c"}, - {file = "cytoolz-1.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6433f03910c5e5345d82d6299457c26bf33821224ebb837c6b09d9cdbc414a6c"}, - {file = "cytoolz-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:389ec328bb535f09e71dfe658bf0041f17194ca4cedaacd39bafe7893497a819"}, - {file = "cytoolz-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c64658e1209517ce4b54c1c9269a508b289d8d55fc742760e4b8579eacf09a33"}, - {file = "cytoolz-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6039a9bd5bb988762458b9ca82b39e60ca5e5baae2ba93913990dcc5d19fa88"}, - {file = "cytoolz-1.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:85c9c8c4465ed1b2c8d67003809aec9627b129cb531d2f6cf0bbfe39952e7e4d"}, - {file = "cytoolz-1.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:49375aad431d76650f94877afb92f09f58b6ff9055079ef4f2cd55313f5a1b39"}, - {file = "cytoolz-1.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:4c45106171c824a61e755355520b646cb35a1987b34bbf5789443823ee137f63"}, - {file = "cytoolz-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3b319a7f0fed5db07d189db4046162ebc183c108df3562a65ba6ebe862d1f634"}, - {file = "cytoolz-1.0.0-cp310-cp310-win32.whl", hash = "sha256:9770e1b09748ad0d751853d994991e2592a9f8c464a87014365f80dac2e83faa"}, - {file = "cytoolz-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:20194dd02954c00c1f0755e636be75a20781f91a4ac9270c7f747e82d3c7f5a5"}, - {file = "cytoolz-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dffc22fd2c91be64dbdbc462d0786f8e8ac9a275cfa1869a1084d1867d4f67e0"}, - {file = "cytoolz-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a99e7e29274e293f4ffe20e07f76c2ac753a78f1b40c1828dfc54b2981b2f6c4"}, - {file = "cytoolz-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c507a3e0a45c41d66b43f96797290d75d1e7a8549aa03a4a6b8854fdf3f7b8d8"}, - {file = "cytoolz-1.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:643a593ec272ef7429099e1182a22f64ec2696c00d295d2a5be390db1b7ff176"}, - {file = "cytoolz-1.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ce38e2e42cbae30446190c59b92a8a9029e1806fd79eaf88f48b0fe33003893"}, - {file = "cytoolz-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:810a6a168b8c5ecb412fbae3dd6f7ed6c6253a63caf4174ee9794ebd29b2224f"}, - {file = "cytoolz-1.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ce8a2a85c0741c1b19b16e6782c4a5abc54c3caecda66793447112ab2fa9884"}, - {file = "cytoolz-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ea4ac72e6b830861035c4c7999af8e55813f57c6d1913a3d93cc4a6babc27bf7"}, - {file = "cytoolz-1.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a09cdfb21dfb38aa04df43e7546a41f673377eb5485da88ceb784e327ec7603b"}, - {file = "cytoolz-1.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:658dd85deb375ff7af990a674e5c9058cef1c9d1f5dc89bc87b77be499348144"}, - {file = "cytoolz-1.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9715d1ff5576919d10b68f17241375f6a1eec8961c25b78a83e6ef1487053f39"}, - {file = "cytoolz-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f370a1f1f1afc5c1c8cc5edc1cfe0ba444263a0772af7ce094be8e734f41769d"}, - {file = "cytoolz-1.0.0-cp311-cp311-win32.whl", hash = "sha256:dbb2ec1177dca700f3db2127e572da20de280c214fc587b2a11c717fc421af56"}, - {file = "cytoolz-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:0983eee73df86e54bb4a79fcc4996aa8b8368fdbf43897f02f9c3bf39c4dc4fb"}, - {file = "cytoolz-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:10e3986066dc379e30e225b230754d9f5996aa8d84c2accc69c473c21d261e46"}, - {file = "cytoolz-1.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:16576f1bb143ee2cb9f719fcc4b845879fb121f9075c7c5e8a5ff4854bd02fc6"}, - {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3faa25a1840b984315e8b3ae517312375f4273ffc9a2f035f548b7f916884f37"}, - {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:781fce70a277b20fd95dc66811d1a97bb07b611ceea9bda8b7dd3c6a4b05d59a"}, - {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a562c25338eb24d419d1e80a7ae12133844ce6fdeb4ab54459daf250088a1b2"}, - {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f29d8330aaf070304f7cd5cb7e73e198753624eb0aec278557cccd460c699b5b"}, - {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98a96c54aa55ed9c7cdb23c2f0df39a7b4ee518ac54888480b5bdb5ef69c7ef0"}, - {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:287d6d7f475882c2ddcbedf8da9a9b37d85b77690779a2d1cdceb5ae3998d52e"}, - {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:05a871688df749b982839239fcd3f8ec3b3b4853775d575ff9cd335fa7c75035"}, - {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:28bb88e1e2f7d6d4b8e0890b06d292c568984d717de3e8381f2ca1dd12af6470"}, - {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:576a4f1fc73d8836b10458b583f915849da6e4f7914f4ecb623ad95c2508cad5"}, - {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:509ed3799c47e4ada14f63e41e8f540ac6e2dab97d5d7298934e6abb9d3830ec"}, - {file = "cytoolz-1.0.0-cp312-cp312-win32.whl", hash = "sha256:9ce25f02b910630f6dc2540dd1e26c9326027ddde6c59f8cab07c56acc70714c"}, - {file = "cytoolz-1.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:7e53cfcce87e05b7f0ae2fb2b3e5820048cd0bb7b701e92bd8f75c9fbb7c9ae9"}, - {file = "cytoolz-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7d56569dfe67a39ce74ffff0dc12cf0a3d1aae709667a303fe8f2dd5fd004fdf"}, - {file = "cytoolz-1.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:035c8bb4706dcf93a89fb35feadff67e9301935bf6bb864cd2366923b69d9a29"}, - {file = "cytoolz-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27c684799708bdc7ee7acfaf464836e1b4dec0996815c1d5efd6a92a4356a562"}, - {file = "cytoolz-1.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44ab57cfc922b15d94899f980d76759ef9e0256912dfab70bf2561bea9cd5b19"}, - {file = "cytoolz-1.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:478af5ecc066da093d7660b23d0b465a7f44179739937afbded8af00af412eb6"}, - {file = "cytoolz-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da1f82a7828a42468ea2820a25b6e56461361390c29dcd4d68beccfa1b71066b"}, - {file = "cytoolz-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c371b3114d38ee717780b239179e88d5d358fe759a00dcf07691b8922bbc762"}, - {file = "cytoolz-1.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:90b343b2f3b3e77c3832ba19b0b17e95412a5b2e715b05c23a55ba525d1fca49"}, - {file = "cytoolz-1.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89a554a9ba112403232a54e15e46ff218b33020f3f45c4baf6520ab198b7ad93"}, - {file = "cytoolz-1.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:0d603f5e2b1072166745ecdd81384a75757a96a704a5642231eb51969f919d5f"}, - {file = "cytoolz-1.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:122ef2425bd3c0419e6e5260d0b18cd25cf74de589cd0184e4a63b24a4641e2e"}, - {file = "cytoolz-1.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8819f1f97ebe36efcaf4b550e21677c46ac8a41bed482cf66845f377dd20700d"}, - {file = "cytoolz-1.0.0-cp38-cp38-win32.whl", hash = "sha256:fcddbb853770dd6e270d89ea8742f0aa42c255a274b9e1620eb04e019b79785e"}, - {file = "cytoolz-1.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:ca526905a014a38cc23ae78635dc51d0462c5c24425b22c08beed9ff2ee03845"}, - {file = "cytoolz-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:05df5ff1cdd198fb57e7368623662578c950be0b14883cadfb9ee4098415e1e5"}, - {file = "cytoolz-1.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04a84778f48ebddb26948971dc60948907c876ba33b13f9cbb014fe65b341fc2"}, - {file = "cytoolz-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f65283b618b4c4df759f57bcf8483865a73f7f268e6d76886c743407c8d26c1c"}, - {file = "cytoolz-1.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388cd07ee9a9e504c735a0a933e53c98586a1c301a64af81f7aa7ff40c747520"}, - {file = "cytoolz-1.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06d09e9569cfdfc5c082806d4b4582db8023a3ce034097008622bcbac7236f38"}, - {file = "cytoolz-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9502bd9e37779cc9893cbab515a474c2ab6af61ed22ac2f7e16033db18fcaa85"}, - {file = "cytoolz-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:364c2fda148def38003b2c86e8adde1d2aab12411dd50872c244a815262e2fda"}, - {file = "cytoolz-1.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9b2e945617325242687189966335e785dc0fae316f4c1825baacf56e5a97e65f"}, - {file = "cytoolz-1.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0f16907fdc724c55b16776bdb7e629deae81d500fe48cfc3861231753b271355"}, - {file = "cytoolz-1.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d3206c81ca3ba2d7b8fe78f2e116e3028e721148be753308e88dcbbc370bca52"}, - {file = "cytoolz-1.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:becce4b13e110b5ac6b23753dcd0c977f4fdccffa31898296e13fd1109e517e3"}, - {file = "cytoolz-1.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:69a7e5e98fd446079b8b8ec5987aec9a31ec3570a6f494baefa6800b783eaf22"}, - {file = "cytoolz-1.0.0-cp39-cp39-win32.whl", hash = "sha256:b1707b6c3a91676ac83a28a231a14b337dbb4436b937e6b3e4fd44209852a48b"}, - {file = "cytoolz-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:11d48b8521ef5fe92e099f4fc00717b5d0789c3c90d5d84031b6d3b17dee1700"}, - {file = "cytoolz-1.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e672712d5dc3094afc6fb346dd4e9c18c1f3c69608ddb8cf3b9f8428f9c26a5c"}, - {file = "cytoolz-1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86fb208bfb7420e1d0d20065d661310e4a8a6884851d4044f47d37ed4cd7410e"}, - {file = "cytoolz-1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6dbe5fe3b835859fc559eb59bf2775b5a108f7f2cfab0966f3202859d787d8fd"}, - {file = "cytoolz-1.0.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cace092dfda174eed09ed871793beb5b65633963bcda5b1632c73a5aceea1ce"}, - {file = "cytoolz-1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f7a9d816af3be9725c70efe0a6e4352a45d3877751b395014b8eb2f79d7d8d9d"}, - {file = "cytoolz-1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:caa7ef840847a23b379e6146760e3a22f15f445656af97e55a435c592125cfa5"}, - {file = "cytoolz-1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:921082fff09ff6e40c12c87b49be044492b2d6bb01d47783995813b76680c7b2"}, - {file = "cytoolz-1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a32f1356f3b64dda883583383966948604ac69ca0b7fbcf5f28856e5f9133b4e"}, - {file = "cytoolz-1.0.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af793b1738e4191d15a92e1793f1ffea9f6461022c7b2442f3cb1ea0a4f758a"}, - {file = "cytoolz-1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:51dfda3983fcc59075c534ce54ca041bb3c80e827ada5d4f25ff7b4049777f94"}, - {file = "cytoolz-1.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:acfb8780c04d29423d14aaab74cd1b7b4beaba32f676e7ace02c9acfbf532aba"}, - {file = "cytoolz-1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99f39dcc46416dca3eb23664b73187b77fb52cd8ba2ddd8020a292d8f449db67"}, - {file = "cytoolz-1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0d56b3721977806dcf1a68b0ecd56feb382fdb0f632af1a9fc5ab9b662b32c6"}, - {file = "cytoolz-1.0.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d346620abc8c83ae634136e700432ad6202faffcc24c5ab70b87392dcda8a1"}, - {file = "cytoolz-1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:df0c81197fc130de94c09fc6f024a6a19c98ba8fe55c17f1e45ebba2e9229079"}, - {file = "cytoolz-1.0.0.tar.gz", hash = "sha256:eb453b30182152f9917a5189b7d99046b6ce90cdf8aeb0feff4b2683e600defd"}, + {file = "cytoolz-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:72d7043a88ea5e61ba9d17ea0d1c1eff10f645d7edfcc4e56a31ef78be287644"}, + {file = "cytoolz-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d759e9ed421bacfeb456d47af8d734c057b9912b5f2441f95b27ca35e5efab07"}, + {file = "cytoolz-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fdb5be8fbcc0396141189022724155a4c1c93712ac4aef8c03829af0c2a816d7"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c8c0a513dc89bc05cc72893609118815bced5ef201f1a317b4cc3423b3a0e750"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce94db4f8ebe842c30c0ece42ff5de977c47859088c2c363dede5a68f6906484"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b622d4f54e370c853ded94a668f94fe72c6d70e06ac102f17a2746661c27ab52"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:375a65baa5a5b4ff6a0c5ff17e170cf23312e4c710755771ca966144c24216b5"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c0d51bcdb3203a062a78f66bbe33db5e3123048e24a5f0e1402422d79df8ee2d"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1010869529bb05dc9802b6d776a34ca1b6d48b9deec70ad5e2918ae175be5c2f"}, + {file = "cytoolz-1.1.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:11a8f2e83295bdb33f35454d6bafcb7845b03b5881dcaed66ecbd726c7f16772"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0499c5e0a8e688ed367a2e51cc13792ae8f08226c15f7d168589fc44b9b9cada"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:87d44e6033d4c5e95a7d39ba59b8e105ba1c29b1ccd1d215f26477cc1d64be39"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a68cef396a7de237f7b97422a6a450dfb111722296ba217ba5b34551832f1f6e"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:06ad4c95b258141f138a93ebfdc1d76ac087afc1a82f1401100a1f44b44ba656"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:ada59a4b3c59d4ac7162e0ed08667ffa78abf48e975c8a9f9d5b9bc50720f4fd"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a8957bcaea1ba01327a9b219d2adb84144377684f51444253890dab500ca171f"}, + {file = "cytoolz-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6d8cdc299d67eb0f3b9ecdafeeb55eb3b7b7470e2d950ac34b05ed4c7a5572b8"}, + {file = "cytoolz-1.1.0-cp310-cp310-win32.whl", hash = "sha256:d8e08464c5cdea4f6df31e84b11ed6bfd79cedb99fbcbfdc15eb9361a6053c5a"}, + {file = "cytoolz-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:7e49922a7ed54262d41960bf3b835a7700327bf79cff1e9bfc73d79021132ff8"}, + {file = "cytoolz-1.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:943a662d2e72ffc4438d43ab5a1de8d852237775a423236594a3b3e381b8032c"}, + {file = "cytoolz-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dba8e5a8c6e3c789d27b0eb5e7ce5ed7d032a7a9aae17ca4ba5147b871f6e327"}, + {file = "cytoolz-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:44b31c05addb0889167a720123b3b497b28dd86f8a0aeaf3ae4ffa11e2c85d55"}, + {file = "cytoolz-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:653cb18c4fc5d8a8cfce2bce650aabcbe82957cd0536827367d10810566d5294"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:853a5b4806915020c890e1ce70cc056bbc1dd8bc44f2d74d555cccfd7aefba7d"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7b44e9de86bea013fe84fd8c399d6016bbb96c37c5290769e5c99460b9c53e5"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:098d628a801dc142e9740126be5624eb7aef1d732bc7a5719f60a2095547b485"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:779ee4096ed7a82cffab89372ffc339631c285079dbf33dbe7aff1f6174985df"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f2ce18dd99533d077e9712f9faa852f389f560351b1efd2f2bdb193a95eddde2"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac266a34437812cf841cecbfe19f355ab9c3dd1ef231afc60415d40ff12a76e4"}, + {file = "cytoolz-1.1.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1920b9b9c13d60d0bb6cd14594b3bce0870022eccb430618c37156da5f2b7a55"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47caa376dafd2bdc29f8a250acf59c810ec9105cd6f7680b9a9d070aae8490ec"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5ab2c97d8aaa522b038cca9187b1153347af22309e7c998b14750c6fdec7b1cb"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4bce006121b120e8b359244ee140bb0b1093908efc8b739db8dbaa3f8fb42139"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fc0f1e4e9bb384d26e73c6657bbc26abdae4ff66a95933c00f3d578be89181b"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:dd3f894ff972da1994d06ac6157d74e40dda19eb31fe5e9b7863ca4278c3a167"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0846f49cf8a4496bd42659040e68bd0484ce6af819709cae234938e039203ba0"}, + {file = "cytoolz-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:16a3af394ade1973226d64bb2f9eb3336adbdea03ed5b134c1bbec5a3b20028e"}, + {file = "cytoolz-1.1.0-cp311-cp311-win32.whl", hash = "sha256:b786c9c8aeab76cc2f76011e986f7321a23a56d985b77d14f155d5e5514ea781"}, + {file = "cytoolz-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:ebf06d1c5344fb22fee71bf664234733e55db72d74988f2ecb7294b05e4db30c"}, + {file = "cytoolz-1.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:b63f5f025fac893393b186e132e3e242de8ee7265d0cd3f5bdd4dda93f6616c9"}, + {file = "cytoolz-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:99f8e134c9be11649342853ec8c90837af4089fc8ff1e8f9a024a57d1fa08514"}, + {file = "cytoolz-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a6f44cf9319c30feb9a50aa513d777ef51efec16f31c404409e7deb8063df64"}, + {file = "cytoolz-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:945580dc158c557172fca899a35a99a16fbcebf6db0c77cb6621084bc82189f9"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:257905ec050d04f2f856854620d1e25556fd735064cebd81b460f54939b9f9d5"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:82779049f352fb3ab5e8c993ab45edbb6e02efb1f17f0b50f4972c706cc51d76"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7d3e405e435320e08c5a1633afaf285a392e2d9cef35c925d91e2a31dfd7a688"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:923df8f5591e0d20543060c29909c149ab1963a7267037b39eee03a83dbc50a8"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:25db9e4862f22ea0ae2e56c8bec9fc9fd756b655ae13e8c7b5625d7ed1c582d4"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7a98deb11ccd8e5d9f9441ef2ff3352aab52226a2b7d04756caaa53cd612363"}, + {file = "cytoolz-1.1.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dce4ee9fc99104bc77efdea80f32ca5a650cd653bcc8a1d984a931153d3d9b58"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80d6da158f7d20c15819701bbda1c041f0944ede2f564f5c739b1bc80a9ffb8b"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3b5c5a192abda123ad45ef716ec9082b4cf7d95e9ada8291c5c2cc5558be858b"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5b399ce7d967b1cb6280250818b786be652aa8ddffd3c0bb5c48c6220d945ab5"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e7e29a1a03f00b4322196cfe8e2c38da9a6c8d573566052c586df83aacc5663c"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5291b117d71652a817ec164e7011f18e6a51f8a352cc9a70ed5b976c51102fda"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8caef62f846a9011676c51bda9189ae394cdd6bb17f2946ecaedc23243268320"}, + {file = "cytoolz-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:de425c5a8e3be7bb3a195e19191d28d9eb3c2038046064a92edc4505033ec9cb"}, + {file = "cytoolz-1.1.0-cp312-cp312-win32.whl", hash = "sha256:296440a870e8d1f2e1d1edf98f60f1532b9d3ab8dfbd4b25ec08cd76311e79e5"}, + {file = "cytoolz-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:07156987f224c6dac59aa18fb8bf91e1412f5463961862716a3381bf429c8699"}, + {file = "cytoolz-1.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:23e616b38f5b3160c7bb45b0f84a8f3deb4bd26b29fb2dfc716f241c738e27b8"}, + {file = "cytoolz-1.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:76c9b58555300be6dde87a41faf1f97966d79b9a678b7a526fcff75d28ef4945"}, + {file = "cytoolz-1.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d1d638b10d3144795655e9395566ce35807df09219fd7cacd9e6acbdef67946a"}, + {file = "cytoolz-1.1.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:26801c1a165e84786a99e03c9c9973356caaca002d66727b761fb1042878ef06"}, + {file = "cytoolz-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2a9a464542912d3272f6dccc5142df057c71c6a5cbd30439389a732df401afb7"}, + {file = "cytoolz-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ed6104fa942aa5784bf54f339563de637557e3443b105760bc4de8f16a7fc79b"}, + {file = "cytoolz-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56161f0ab60dc4159ec343509abaf809dc88e85c7e420e354442c62e3e7cbb77"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:832bd36cc9123535f1945acf6921f8a2a15acc19cfe4065b1c9b985a28671886"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1842636b6e034f229bf084c2bcdcfd36c8437e752eefd2c74ce9e2f10415cb6e"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:823df012ab90d2f2a0f92fea453528539bf71ac1879e518524cd0c86aa6df7b9"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2f1fcf9e7e7b3487883ff3f815abc35b89dcc45c4cf81c72b7ee457aa72d197b"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4cdb3fa1772116827f263f25b0cdd44c663b6701346a56411960534a06c082de"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1b5c95041741b81430454db65183e133976f45ac3c03454cfa8147952568529"}, + {file = "cytoolz-1.1.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b2079fd9f1a65f4c61e6278c8a6d4f85edf30c606df8d5b32f1add88cbbe2286"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a92a320d72bef1c7e2d4c6d875125cf57fc38be45feb3fac1bfa64ea401f54a4"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06d1c79aa51e6a92a90b0e456ebce2288f03dd6a76c7f582bfaa3eda7692e8a5"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e1d7be25f6971e986a52b6d3a0da28e1941850985417c35528f6823aef2cfec5"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:964b248edc31efc50a65e9eaa0c845718503823439d2fa5f8d2c7e974c2b5409"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c9ff2b3c57c79b65cb5be14a18c6fd4a06d5036fb3f33e973a9f70e9ac13ca28"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:22290b73086af600042d99f5ce52a43d4ad9872c382610413176e19fc1d4fd2d"}, + {file = "cytoolz-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a2ade74fccd080ea793382968913ee38d7a35c921df435bbf0a6aeecf0d17574"}, + {file = "cytoolz-1.1.0-cp313-cp313-win32.whl", hash = "sha256:db5dbcfda1c00e937426cbf9bdc63c24ebbc358c3263bfcbc1ab4a88dc52aa8e"}, + {file = "cytoolz-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9e2d3fe3b45c3eb7233746f7aca37789be3dceec3e07dcc406d3e045ea0f7bdc"}, + {file = "cytoolz-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:32c559f95ff44a9ebcbd934acaa1e6dc8f3e6ffce4762a79a88528064873d6d5"}, + {file = "cytoolz-1.1.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9e2cd93b28f667c5870a070ab2b8bb4397470a85c4b204f2454b0ad001cd1ca3"}, + {file = "cytoolz-1.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f494124e141a9361f31d79875fe7ea459a3be2b9dadd90480427c0c52a0943d4"}, + {file = "cytoolz-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:53a3262bf221f19437ed544bf8c0e1980c81ac8e2a53d87a9bc075dba943d36f"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:47663e57d3f3f124921f38055e86a1022d0844c444ede2e8f090d3bbf80deb65"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a5a8755c4104ee4e3d5ba434c543b5f85fdee6a1f1df33d93f518294da793a60"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4d96ff3d381423af1b105295f97de86d1db51732c9566eb37378bab6670c5010"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0ec96b3d537cdf47d4e76ded199f7440715f4c71029b45445cff92c1248808c2"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:208e2f2ef90a32b0acbff3303d90d89b13570a228d491d2e622a7883a3c68148"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d416a81bb0bd517558668e49d30a7475b5445f9bbafaab7dcf066f1e9adba36"}, + {file = "cytoolz-1.1.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f32e94c91ffe49af04835ee713ebd8e005c85ebe83e7e1fdcc00f27164c2d636"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15d0c6405efc040499c46df44056a5c382f551a7624a41cf3e4c84a96b988a15"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:bf069c5381d757debae891401b88b3a346ba3a28ca45ba9251103b282463fad8"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7d5cf15892e63411ec1bd67deff0e84317d974e6ab2cdfefdd4a7cea2989df66"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3e3872c21170f8341656f8692f8939e8800dcee6549ad2474d4c817bdefd62cd"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b9ddeff8e8fd65eb1fcefa61018100b2b627e759ea6ad275d2e2a93ffac147bf"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:02feeeda93e1fa3b33414eb57c2b0aefd1db8f558dd33fdfcce664a0f86056e4"}, + {file = "cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d08154ad45349162b6c37f12d5d1b2e6eef338e657b85e1621e4e6a4a69d64cb"}, + {file = "cytoolz-1.1.0-cp313-cp313t-win32.whl", hash = "sha256:10ae4718a056948d73ca3e1bb9ab1f95f897ec1e362f829b9d37cc29ab566c60"}, + {file = "cytoolz-1.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:1bb77bc6197e5cb19784b6a42bb0f8427e81737a630d9d7dda62ed31733f9e6c"}, + {file = "cytoolz-1.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:563dda652c6ff52d215704fbe6b491879b78d7bbbb3a9524ec8e763483cb459f"}, + {file = "cytoolz-1.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d542cee7c7882d2a914a33dec4d3600416fb336734df979473249d4c53d207a1"}, + {file = "cytoolz-1.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31922849b701b0f24bb62e56eb2488dcd3aa6ae3057694bd6b3b7c4c2bc27c2f"}, + {file = "cytoolz-1.1.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:e68308d32afd31943314735c1335e4ab5696110e96b405f6bdb8f2a8dc771a16"}, + {file = "cytoolz-1.1.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fc4bb48b3b866e1867f7c6411a4229e5b44be3989060663713e10efc24c9bd5f"}, + {file = "cytoolz-1.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:456f77207d1445025d7ef262b8370a05492dcb1490cb428b0f3bf1bd744a89b0"}, + {file = "cytoolz-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:174ebc71ebb20a9baeffce6ee07ee2cd913754325c93f99d767380d8317930f7"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8b3604fef602bcd53415055a4f68468339192fd17be39e687ae24f476d23d56e"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3604b959a01f64c366e7d10ec7634d5f5cfe10301e27a8f090f6eb3b2a628a18"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6db2127a3c1bc2f59f08010d2ae53a760771a9de2f67423ad8d400e9ba4276e8"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56584745ac647993a016a21bc76399113b7595e312f8d0a1b140c9fcf9b58a27"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db2c4c3a7f7bd7e03bb1a236a125c8feb86c75802f4ecda6ecfaf946610b2930"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48cb8a692111a285d2b9acd16d185428176bfbffa8a7c274308525fccd01dd42"}, + {file = "cytoolz-1.1.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d2f344ba5eb17dcf38ee37fdde726f69053f54927db8f8a1bed6ac61e5b1890d"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:abf76b1c1abd031f098f293b6d90ee08bdaa45f8b5678430e331d991b82684b1"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:ddf9a38a5b686091265ff45b53d142e44a538cd6c2e70610d3bc6be094219032"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:946786755274f07bb2be0400f28adb31d7d85a7c7001873c0a8e24a503428fb3"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:d5b8f78b9fed79cf185ad4ddec099abeef45951bdcb416c5835ba05f0a1242c7"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fccde6efefdbc02e676ccb352a2ccc8a8e929f59a1c6d3d60bb78e923a49ca44"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:717b7775313da5f51b0fbf50d865aa9c39cb241bd4cb605df3cf2246d6567397"}, + {file = "cytoolz-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5158744a09d0e0e4a4f82225e3a3c4ebf38f9ae74467aaa905467270e52f2794"}, + {file = "cytoolz-1.1.0-cp314-cp314-win32.whl", hash = "sha256:1ed534bdbbf063b2bb28fca7d0f6723a3e5a72b086e7c7fe6d74ae8c3e4d00e2"}, + {file = "cytoolz-1.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:472c1c9a085f5ad973ec0ad7f0b9ba0969faea6f96c9e397f6293d386f3a25ec"}, + {file = "cytoolz-1.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:a7ad7ca3386fa86bd301be3fa36e7f0acb024f412f665937955acfc8eb42deff"}, + {file = "cytoolz-1.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:64b63ed4b71b1ba813300ad0f06b8aff19a12cf51116e0e4f1ed837cea4debcf"}, + {file = "cytoolz-1.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a60ba6f2ed9eb0003a737e1ee1e9fa2258e749da6477946008d4324efa25149f"}, + {file = "cytoolz-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1aa58e2434d732241f7f051e6f17657e969a89971025e24578b5cbc6f1346485"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6965af3fc7214645970e312deb9bd35a213a1eaabcfef4f39115e60bf2f76867"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ddd2863f321d67527d3b67a93000a378ad6f967056f68c06467fe011278a6d0e"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4e6b428e9eb5126053c2ae0efa62512ff4b38ed3951f4d0888ca7005d63e56f5"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d758e5ef311d2671e0ae8c214c52e44617cf1e58bef8f022b547b9802a5a7f30"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a95416eca473e6c1179b48d86adcf528b59c63ce78f4cb9934f2e413afa9b56b"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36c8ede93525cf11e2cc787b7156e5cecd7340193ef800b816a16f1404a8dc6d"}, + {file = "cytoolz-1.1.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c949755b6d8a649c5fbc888bc30915926f1b09fe42fea9f289e297c2f6ddd3"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e1b6d37545816905a76d9ed59fa4e332f929e879f062a39ea0f6f620405cdc27"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:05332112d4087904842b36954cd1d3fc0e463a2f4a7ef9477bd241427c593c3b"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:31538ca2fad2d688cbd962ccc3f1da847329e2258a52940f10a2ac0719e526be"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:747562aa70abf219ea16f07d50ac0157db856d447f7f498f592e097cbc77df0b"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:3dc15c48b20c0f467e15e341e102896c8422dccf8efc6322def5c1b02f074629"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3c03137ee6103ba92d5d6ad6a510e86fded69cd67050bd8a1843f15283be17ac"}, + {file = "cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:be8e298d88f88bd172b59912240558be3b7a04959375646e7fd4996401452941"}, + {file = "cytoolz-1.1.0-cp314-cp314t-win32.whl", hash = "sha256:3d407140f5604a89578285d4aac7b18b8eafa055cf776e781aabb89c48738fad"}, + {file = "cytoolz-1.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:56e5afb69eb6e1b3ffc34716ee5f92ffbdb5cb003b3a5ca4d4b0fe700e217162"}, + {file = "cytoolz-1.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:27b19b4a286b3ff52040efa42dbe403730aebe5fdfd2def704eb285e2125c63e"}, + {file = "cytoolz-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08a63935c66488511b7b29b06233be0be5f4123622fc8fd488f28dc1b7e4c164"}, + {file = "cytoolz-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:93bd0afcc4cc05794507084afaefb161c3639f283ee629bd0e8654b5c0327ba8"}, + {file = "cytoolz-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f3d4da470cfd5cf44f6d682c6eb01363066e0af53ebe111225e44a618f9453d"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ba6c12d0e6a67399f4102b4980f4f1bebdbf226ed0a68e84617709d4009b4e71"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b557071405b4aeeaa7cbec1a95d15d6c8f37622fe3f4b595311e0e226ce772c"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:cdb406001474726a47fbe903f3aba0de86f5c0b9c9861f55c09c366368225ae0"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b6072876ba56446d9ac29d349983677d6f44c6d1c6c1c6be44e66e377c57c767"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c3784c965c9a6822d315d099c3a85b0884ac648952815891c667b469116f1d0"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cc537ad78981df1a827773069fd3b7774f4478db43f518b1616efaf87d7d8f9"}, + {file = "cytoolz-1.1.0-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:574ee9dfdc632db8bf9237f27f2a687d1a0b90d29d5e96cab2b21fd2b419c17d"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6594efbaea72dc58b368b53e745ad902c8d8cc41286f00b3743ceac464d5ef3f"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:7c849f9ddaf3c7faba938440f9c849235a2908b303063d49da3092a93acd695b"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1fef0296fb3577d0a08ad9b70344ee418f728f1ec21a768ffe774437d67ac859"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:1dce1e66fdf72cc474367bd7a7f2b90ec67bb8197dc3fe8ecd08f4ce3ab950a1"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:202fe9975efaec0085cab14a6a6050418bc041f5316f2cf098c0cd2aced4c50e"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:528349434601b9d55e65c6a495494de0001c9a06b431547fea4c60b5edc7d5b3"}, + {file = "cytoolz-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3e248cdbf2a54bafdadf4486ddd32e8352f816d3caa2014e44de99f8c525d4a8"}, + {file = "cytoolz-1.1.0-cp39-cp39-win32.whl", hash = "sha256:e63f2b70f4654648a5c6a176ae80897c0de6401f385540dce8e365019e800cfe"}, + {file = "cytoolz-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:f731c53ed29959f105ae622b62e39603c207ed8e8cb2a40cd4accb63d9f92901"}, + {file = "cytoolz-1.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:5a2120bf9e6e8f25e1b32748424a5571e319ef03a995a8fde663fd2feec1a696"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f32e93a55681d782fc6af939f6df36509d65122423cbc930be39b141064adff8"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:5d9bc596751cbda8073e65be02ca11706f00029768fbbbc81e11a8c290bb41aa"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9b16660d01c3931951fab49db422c627897c38c1a1f0393a97582004019a4887"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b7de5718e2113d4efccea3f06055758cdbc17388ecc3341ba4d1d812837d7c1a"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a12a2a1a6bc44099491c05a12039efa08cc33a3d0f8c7b0566185e085e139283"}, + {file = "cytoolz-1.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:047defa7f5f9a32f82373dbc3957289562e8a3fa58ae02ec8e4dca4f43a33a21"}, + {file = "cytoolz-1.1.0.tar.gz", hash = "sha256:13a7bf254c3c0d28b12e2290b82aed0f0977a4c2a2bf84854fcdc7796a29f3b0"}, ] [package.dependencies] toolz = ">=0.8.0" [package.extras] -cython = ["cython"] - -[[package]] -name = "dataclassy" -version = "0.11.1" -description = "A fast and flexible reimplementation of data classes" -optional = false -python-versions = ">=3.6" -files = [ - {file = "dataclassy-0.11.1-py3-none-any.whl", hash = "sha256:bcb030d3d700cf9b1597042bbc8375b92773e6f68f65675a7071862c0ddb87f5"}, - {file = "dataclassy-0.11.1.tar.gz", hash = "sha256:ad6622cb91e644d13f68768558983fbc22c90a8ff7e355638485d18b9baf1198"}, -] +cython = ["cython (>=0.29)"] +test = ["pytest"] [[package]] name = "distlib" -version = "0.3.9" +version = "0.4.0" description = "Distribution utilities" optional = false python-versions = "*" files = [ - {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, - {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, + {file = "distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16"}, + {file = "distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d"}, ] [[package]] name = "ecdsa" -version = "0.19.0" +version = "0.19.2" description = "ECDSA cryptographic signature library (pure python)" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.6" files = [ - {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"}, - {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"}, + {file = "ecdsa-0.19.2-py2.py3-none-any.whl", hash = "sha256:840f5dc5e375c68f36c1a7a5b9caad28f95daa65185c9253c0c08dd952bb7399"}, + {file = "ecdsa-0.19.2.tar.gz", hash = "sha256:62635b0ac1ca2e027f82122b5b81cb706edc38cd91c63dda28e4f3455a2bf930"}, ] [package.dependencies] @@ -1016,50 +1338,30 @@ gmpy2 = ["gmpy2"] [[package]] name = "eip712" -version = "0.2.10" +version = "0.3.3" description = "eip712: Message classes for typed structured data hashing and signing in Ethereum" optional = false -python-versions = "<4,>=3.9" +python-versions = "<4,>=3.10" files = [ - {file = "eip712-0.2.10-py3-none-any.whl", hash = "sha256:5e8cbf092b1943d787c97b91116791b14f3d4b122bc3aab198ba599ff3256a67"}, - {file = "eip712-0.2.10.tar.gz", hash = "sha256:fed8caaab859fb342e4b9b2f1c84f4cb3145144645985177cb9cdf457edbf911"}, + {file = "eip712-0.3.3-py3-none-any.whl", hash = "sha256:45113f0d9aa85d5ef8b415957f962b58f47c5f9343998865ec831ad6c604aa21"}, + {file = "eip712-0.3.3.tar.gz", hash = "sha256:a27a4ba832ad9e2838e779170148478f271f7f093a603dd33e2a7bbf86aae7cd"}, ] [package.dependencies] -dataclassy = ">=0.11.1,<1" -eth-abi = ">=5.1.0,<6" eth-account = ">=0.11.3,<0.14" -eth-typing = ">=3.5.2,<6" +eth-pydantic-types = ">=0.2.4,<0.3" eth-utils = ">=2.3.1,<6" -hexbytes = ">=0.3.1,<2" - -[package.extras] -dev = ["IPython", "Sphinx (>=5.3.0,<6)", "black (>=24.4.2,<25)", "commitizen (>=2.42,<3)", "flake8 (>=7.0.0,<8)", "hypothesis (>=6.70.0,<7)", "ipdb", "isort (>=5.12.0,<6)", "mdformat (>=0.7.17,<0.8)", "mdformat-frontmatter (>=0.4.1,<0.5)", "mdformat-gfm (>=0.3.5,<0.4)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.10.0,<2)", "myst-parser (>=0.18.1,<0.19)", "pre-commit", "pytest (>=6.0,<8)", "pytest-cov", "pytest-watch", "pytest-xdist", "setuptools", "sphinx-rtd-theme (>=1.2.0,<2)", "sphinxcontrib-napoleon (>=0.7)", "twine", "types-setuptools", "wheel"] -doc = ["Sphinx (>=5.3.0,<6)", "myst-parser (>=0.18.1,<0.19)", "sphinx-rtd-theme (>=1.2.0,<2)", "sphinxcontrib-napoleon (>=0.7)"] -lint = ["black (>=24.4.2,<25)", "flake8 (>=7.0.0,<8)", "isort (>=5.12.0,<6)", "mdformat (>=0.7.17,<0.8)", "mdformat-frontmatter (>=0.4.1,<0.5)", "mdformat-gfm (>=0.3.5,<0.4)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.10.0,<2)", "types-setuptools"] -release = ["setuptools", "twine", "wheel"] -test = ["hypothesis (>=6.70.0,<7)", "pytest (>=6.0,<8)", "pytest-cov", "pytest-xdist"] - -[[package]] -name = "entrypoints" -version = "0.4" -description = "Discover and load entry points from installed packages." -optional = false -python-versions = ">=3.6" -files = [ - {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"}, - {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"}, -] +pydantic = ">=2,<3" [[package]] name = "eth-abi" -version = "5.1.0" +version = "5.2.0" description = "eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding" optional = false python-versions = "<4,>=3.8" files = [ - {file = "eth_abi-5.1.0-py3-none-any.whl", hash = "sha256:84cac2626a7db8b7d9ebe62b0fdca676ab1014cc7f777189e3c0cd721a4c16d8"}, - {file = "eth_abi-5.1.0.tar.gz", hash = "sha256:33ddd756206e90f7ddff1330cc8cac4aa411a824fe779314a0a52abea2c8fc14"}, + {file = "eth_abi-5.2.0-py3-none-any.whl", hash = "sha256:17abe47560ad753f18054f5b3089fcb588f3e3a092136a416b6c1502cb7e8877"}, + {file = "eth_abi-5.2.0.tar.gz", hash = "sha256:178703fa98c07d8eecd5ae569e7e8d159e493ebb6eeb534a8fe973fbc4e40ef0"}, ] [package.dependencies] @@ -1068,55 +1370,56 @@ eth-utils = ">=2.0.0" parsimonious = ">=0.10.0,<0.11.0" [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -test = ["eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)"] -tools = ["hypothesis (>=4.18.2,<5.0.0)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "eth-hash[pycryptodome]", "hypothesis (>=6.22.0,<6.108.7)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] +test = ["eth-hash[pycryptodome]", "hypothesis (>=6.22.0,<6.108.7)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-timeout (>=2.0.0)", "pytest-xdist (>=2.4.0)"] +tools = ["hypothesis (>=6.22.0,<6.108.7)"] [[package]] name = "eth-account" -version = "0.11.3" +version = "0.13.7" description = "eth-account: Sign Ethereum transactions and messages with local private keys" optional = false python-versions = "<4,>=3.8" files = [ - {file = "eth_account-0.11.3-py3-none-any.whl", hash = "sha256:16cf58aabc65171fc206489899b7e5546e3215e1a4debc12dbd55345c979081e"}, - {file = "eth_account-0.11.3.tar.gz", hash = "sha256:a712a9534638a7cfaa4cc069f1b9d5cefeee70362cfc3a7b0a2534ee61ce76c9"}, + {file = "eth_account-0.13.7-py3-none-any.whl", hash = "sha256:39727de8c94d004ff61d10da7587509c04d2dc7eac71e04830135300bdfc6d24"}, + {file = "eth_account-0.13.7.tar.gz", hash = "sha256:5853ecbcbb22e65411176f121f5f24b8afeeaf13492359d254b16d8b18c77a46"}, ] [package.dependencies] bitarray = ">=2.4.0" -ckzg = ">=0.4.3,<2" +ckzg = ">=2.0.0" eth-abi = ">=4.0.0-b.2" -eth-keyfile = ">=0.6.0" +eth-keyfile = ">=0.7.0,<0.9.0" eth-keys = ">=0.4.0" -eth-rlp = ">=0.3.0" +eth-rlp = ">=2.1.0" eth-utils = ">=2.0.0" -hexbytes = ">=0.1.0,<0.4.0" +hexbytes = ">=1.2.0" +pydantic = ">=2.0.0" rlp = ">=1.0.0" [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "coverage", "hypothesis (>=4.18.0,<5)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -test = ["coverage", "hypothesis (>=4.18.0,<5)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "coverage", "hypothesis (>=6.22.0,<6.108.7)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] +test = ["coverage", "hypothesis (>=6.22.0,<6.108.7)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-hash" -version = "0.7.0" +version = "0.8.0" description = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3" optional = false -python-versions = ">=3.8, <4" +python-versions = "<4,>=3.10" files = [ - {file = "eth-hash-0.7.0.tar.gz", hash = "sha256:bacdc705bfd85dadd055ecd35fd1b4f846b671add101427e089a4ca2e8db310a"}, - {file = "eth_hash-0.7.0-py3-none-any.whl", hash = "sha256:b8d5a230a2b251f4a291e3164a23a14057c4a6de4b0aa4a16fa4dc9161b57e2f"}, + {file = "eth_hash-0.8.0-py3-none-any.whl", hash = "sha256:523718a51b369ab89866b929a5c93c52978cd866ea309192ad980dd8271f9fac"}, + {file = "eth_hash-0.8.0.tar.gz", hash = "sha256:b009752b620da2e9c7668014849d1f5fadbe4f138603f1871cc5d4ca706896b1"}, ] [package.dependencies] pycryptodome = {version = ">=3.6.6,<4", optional = true, markers = "extra == \"pycryptodome\""} [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "ipython", "mypy (==1.18.2)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel (>=0.38.1)"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] pycryptodome = ["pycryptodome (>=3.6.6,<4)"] pysha3 = ["pysha3 (>=1.0.0,<2.0.0)", "safe-pysha3 (>=1.0.0)"] test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] @@ -1144,13 +1447,13 @@ test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-keys" -version = "0.6.0" +version = "0.7.0" description = "eth-keys: Common API for Ethereum key operations" optional = false python-versions = "<4,>=3.8" files = [ - {file = "eth_keys-0.6.0-py3-none-any.whl", hash = "sha256:b396fdfe048a5bba3ef3990739aec64901eb99901c03921caa774be668b1db6e"}, - {file = "eth_keys-0.6.0.tar.gz", hash = "sha256:ba33230f851d02c894e83989185b21d76152c49b37e35b61b1d8a6d9f1d20430"}, + {file = "eth_keys-0.7.0-py3-none-any.whl", hash = "sha256:b0cdda8ffe8e5ba69c7c5ca33f153828edcace844f67aabd4542d7de38b159cf"}, + {file = "eth_keys-0.7.0.tar.gz", hash = "sha256:79d24fd876201df67741de3e3fefb3f4dbcbb6ace66e47e6fe662851a4547814"}, ] [package.dependencies] @@ -1158,376 +1461,399 @@ eth-typing = ">=3" eth-utils = ">=2" [package.extras] -coincurve = ["coincurve (>=12.0.0)"] -dev = ["asn1tools (>=0.146.2)", "build (>=0.9.0)", "bumpversion (>=0.5.3)", "coincurve (>=12.0.0)", "eth-hash[pysha3]", "factory-boy (>=3.0.1)", "hypothesis (>=5.10.3)", "ipython", "pre-commit (>=3.4.0)", "pyasn1 (>=0.4.5)", "pytest (>=7.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["towncrier (>=21,<22)"] +coincurve = ["coincurve (>=17.0.0)"] +dev = ["asn1tools (>=0.146.2)", "build (>=0.9.0)", "bump_my_version (>=0.19.0)", "coincurve (>=17.0.0)", "eth-hash[pysha3]", "factory-boy (>=3.0.1)", "hypothesis (>=5.10.3)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pyasn1 (>=0.4.5)", "pytest (>=7.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["towncrier (>=24,<25)"] test = ["asn1tools (>=0.146.2)", "eth-hash[pysha3]", "factory-boy (>=3.0.1)", "hypothesis (>=5.10.3)", "pyasn1 (>=0.4.5)", "pytest (>=7.0.0)"] +[[package]] +name = "eth-pydantic-types" +version = "0.2.6" +description = "Pydantic Types for Ethereum" +optional = false +python-versions = "<4,>=3.10" +files = [ + {file = "eth_pydantic_types-0.2.6-py3-none-any.whl", hash = "sha256:1675dd4982d856368a9de4397509008c0d1a1afd9a040f5e442f0bd67e97c2df"}, + {file = "eth_pydantic_types-0.2.6.tar.gz", hash = "sha256:5442ab4d036b8d28b3c6a381612b2654c6074a056d7b8b90bf81b71fa7d66efc"}, +] + +[package.dependencies] +cchecksum = ">=0.0.3,<1" +eth-typing = ">=3.5.2,<6" +eth-utils = ">=2.3.1,<6" +hexbytes = ">=0.3.1,<2" +pydantic = ">=2.5.2,<3" +typing_extensions = ">=4.8.0,<5" + [[package]] name = "eth-rlp" -version = "1.0.1" +version = "2.2.0" description = "eth-rlp: RLP definitions for common Ethereum objects in Python" optional = false -python-versions = ">=3.8, <4" +python-versions = "<4,>=3.8" files = [ - {file = "eth-rlp-1.0.1.tar.gz", hash = "sha256:d61dbda892ee1220f28fb3663c08f6383c305db9f1f5624dc585c9cd05115027"}, - {file = "eth_rlp-1.0.1-py3-none-any.whl", hash = "sha256:dd76515d71654277377d48876b88e839d61553aaf56952e580bb7cebef2b1517"}, + {file = "eth_rlp-2.2.0-py3-none-any.whl", hash = "sha256:5692d595a741fbaef1203db6a2fedffbd2506d31455a6ad378c8449ee5985c47"}, + {file = "eth_rlp-2.2.0.tar.gz", hash = "sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d"}, ] [package.dependencies] eth-utils = ">=2.0.0" -hexbytes = ">=0.1.0,<1" +hexbytes = ">=1.2.0" rlp = ">=0.6.0" -typing-extensions = {version = ">=4.0.1", markers = "python_version <= \"3.11\""} +typing_extensions = {version = ">=4.0.1", markers = "python_version <= \"3.10\""} [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "eth-hash[pycryptodome]", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] test = ["eth-hash[pycryptodome]", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-typing" -version = "4.4.0" +version = "5.2.1" description = "eth-typing: Common type annotations for ethereum python packages" optional = false python-versions = "<4,>=3.8" files = [ - {file = "eth_typing-4.4.0-py3-none-any.whl", hash = "sha256:a5e30a6e69edda7b1d1e96e9d71bab48b9bb988a77909d8d1666242c5562f841"}, - {file = "eth_typing-4.4.0.tar.gz", hash = "sha256:93848083ac6bb4c20cc209ea9153a08b0a528be23337c889f89e1e5ffbe9807d"}, + {file = "eth_typing-5.2.1-py3-none-any.whl", hash = "sha256:b0c2812ff978267563b80e9d701f487dd926f1d376d674f3b535cfe28b665d3d"}, + {file = "eth_typing-5.2.1.tar.gz", hash = "sha256:7557300dbf02a93c70fa44af352b5c4a58f94e997a0fd6797fb7d1c29d9538ee"}, ] [package.dependencies] -typing-extensions = ">=4.5.0" +typing_extensions = ">=4.5.0" [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-utils" -version = "4.1.1" +version = "5.3.1" description = "eth-utils: Common utility functions for python code that interacts with Ethereum" optional = false python-versions = "<4,>=3.8" files = [ - {file = "eth_utils-4.1.1-py3-none-any.whl", hash = "sha256:ccbbac68a6d65cb6e294c5bcb6c6a5cec79a241c56dc5d9c345ed788c30f8534"}, - {file = "eth_utils-4.1.1.tar.gz", hash = "sha256:71c8d10dec7494aeed20fa7a4d52ec2ce4a2e52fdce80aab4f5c3c19f3648b25"}, + {file = "eth_utils-5.3.1-py3-none-any.whl", hash = "sha256:1f5476d8f29588d25b8ae4987e1ffdfae6d4c09026e476c4aad13b32dda3ead0"}, + {file = "eth_utils-5.3.1.tar.gz", hash = "sha256:c94e2d2abd024a9a42023b4ddc1c645814ff3d6a737b33d5cfd890ebf159c2d1"}, ] [package.dependencies] cytoolz = {version = ">=0.10.1", markers = "implementation_name == \"cpython\""} eth-hash = ">=0.3.1" -eth-typing = ">=3.0.0" +eth-typing = ">=5.0.0" +pydantic = ">=2.0.0,<3" toolz = {version = ">0.8.2", markers = "implementation_name == \"pypy\""} [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "hypothesis (>=4.43.0)", "ipython", "mypy (==1.5.1)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -test = ["hypothesis (>=4.43.0)", "mypy (==1.5.1)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "eth-hash[pycryptodome]", "hypothesis (>=4.43.0)", "ipython", "mypy (==1.10.0)", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] +test = ["hypothesis (>=4.43.0)", "mypy (==1.10.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "exceptiongroup" -version = "1.2.2" +version = "1.3.1" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, + {file = "exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598"}, + {file = "exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} + [package.extras] test = ["pytest (>=6)"] [[package]] name = "filelock" -version = "3.16.1" +version = "3.29.0" description = "A platform independent file lock." optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + {file = "filelock-3.29.0-py3-none-any.whl", hash = "sha256:96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258"}, + {file = "filelock-3.29.0.tar.gz", hash = "sha256:69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90"}, ] -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] - -[[package]] -name = "flake8" -version = "4.0.1" -description = "the modular source code checker: pep8 pyflakes and co" -optional = false -python-versions = ">=3.6" -files = [ - {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, - {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, -] - -[package.dependencies] -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.8.0,<2.9.0" -pyflakes = ">=2.4.0,<2.5.0" - -[[package]] -name = "flakeheaven" -version = "3.3.0" -description = "FlakeHeaven is a [Flake8](https://gitlab.com/pycqa/flake8) wrapper to make it cool." -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "flakeheaven-3.3.0-py3-none-any.whl", hash = "sha256:ae246197a178845b30b63fc03023f7ba925cc84cc96314ec19807dafcd6b39a3"}, - {file = "flakeheaven-3.3.0.tar.gz", hash = "sha256:eb07860e028ff8dd56cce742c4766624a37a4ce397fd34300254ab623d13047b"}, -] - -[package.dependencies] -colorama = "*" -entrypoints = "*" -flake8 = ">=4.0.1,<5.0.0" -pygments = "*" -toml = "*" -urllib3 = "*" - -[package.extras] -docs = ["alabaster", "myst-parser (>=0.18.0,<0.19.0)", "pygments-github-lexers", "sphinx"] - [[package]] name = "frozenlist" -version = "1.5.0" +version = "1.8.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, + {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"}, + {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"}, + {file = "frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7"}, + {file = "frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a"}, + {file = "frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6"}, + {file = "frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967"}, + {file = "frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25"}, + {file = "frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b"}, + {file = "frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa"}, + {file = "frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf"}, + {file = "frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746"}, + {file = "frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed"}, + {file = "frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496"}, + {file = "frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231"}, + {file = "frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7"}, + {file = "frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806"}, + {file = "frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0"}, + {file = "frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda"}, + {file = "frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087"}, + {file = "frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a"}, + {file = "frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103"}, + {file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"}, + {file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"}, ] [[package]] name = "grpcio" -version = "1.68.1" +version = "1.80.0" description = "HTTP/2-based RPC framework" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "grpcio-1.68.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:d35740e3f45f60f3c37b1e6f2f4702c23867b9ce21c6410254c9c682237da68d"}, - {file = "grpcio-1.68.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d99abcd61760ebb34bdff37e5a3ba333c5cc09feda8c1ad42547bea0416ada78"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f8261fa2a5f679abeb2a0a93ad056d765cdca1c47745eda3f2d87f874ff4b8c9"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0feb02205a27caca128627bd1df4ee7212db051019a9afa76f4bb6a1a80ca95e"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:919d7f18f63bcad3a0f81146188e90274fde800a94e35d42ffe9eadf6a9a6330"}, - {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:963cc8d7d79b12c56008aabd8b457f400952dbea8997dd185f155e2f228db079"}, - {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ccf2ebd2de2d6661e2520dae293298a3803a98ebfc099275f113ce1f6c2a80f1"}, - {file = "grpcio-1.68.1-cp310-cp310-win32.whl", hash = "sha256:2cc1fd04af8399971bcd4f43bd98c22d01029ea2e56e69c34daf2bf8470e47f5"}, - {file = "grpcio-1.68.1-cp310-cp310-win_amd64.whl", hash = "sha256:ee2e743e51cb964b4975de572aa8fb95b633f496f9fcb5e257893df3be854746"}, - {file = "grpcio-1.68.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:55857c71641064f01ff0541a1776bfe04a59db5558e82897d35a7793e525774c"}, - {file = "grpcio-1.68.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4b177f5547f1b995826ef529d2eef89cca2f830dd8b2c99ffd5fde4da734ba73"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:3522c77d7e6606d6665ec8d50e867f13f946a4e00c7df46768f1c85089eae515"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d1fae6bbf0816415b81db1e82fb3bf56f7857273c84dcbe68cbe046e58e1ccd"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298ee7f80e26f9483f0b6f94cc0a046caf54400a11b644713bb5b3d8eb387600"}, - {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cbb5780e2e740b6b4f2d208e90453591036ff80c02cc605fea1af8e6fc6b1bbe"}, - {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ddda1aa22495d8acd9dfbafff2866438d12faec4d024ebc2e656784d96328ad0"}, - {file = "grpcio-1.68.1-cp311-cp311-win32.whl", hash = "sha256:b33bd114fa5a83f03ec6b7b262ef9f5cac549d4126f1dc702078767b10c46ed9"}, - {file = "grpcio-1.68.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f20ebec257af55694d8f993e162ddf0d36bd82d4e57f74b31c67b3c6d63d8b2"}, - {file = "grpcio-1.68.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8829924fffb25386995a31998ccbbeaa7367223e647e0122043dfc485a87c666"}, - {file = "grpcio-1.68.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3aed6544e4d523cd6b3119b0916cef3d15ef2da51e088211e4d1eb91a6c7f4f1"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:4efac5481c696d5cb124ff1c119a78bddbfdd13fc499e3bc0ca81e95fc573684"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ab2d912ca39c51f46baf2a0d92aa265aa96b2443266fc50d234fa88bf877d8e"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c87ce2a97434dffe7327a4071839ab8e8bffd0054cc74cbe971fba98aedd60"}, - {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e4842e4872ae4ae0f5497bf60a0498fa778c192cc7a9e87877abd2814aca9475"}, - {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:255b1635b0ed81e9f91da4fcc8d43b7ea5520090b9a9ad9340d147066d1d3613"}, - {file = "grpcio-1.68.1-cp312-cp312-win32.whl", hash = "sha256:7dfc914cc31c906297b30463dde0b9be48e36939575eaf2a0a22a8096e69afe5"}, - {file = "grpcio-1.68.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0c8ddabef9c8f41617f213e527254c41e8b96ea9d387c632af878d05db9229c"}, - {file = "grpcio-1.68.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:a47faedc9ea2e7a3b6569795c040aae5895a19dde0c728a48d3c5d7995fda385"}, - {file = "grpcio-1.68.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:390eee4225a661c5cd133c09f5da1ee3c84498dc265fd292a6912b65c421c78c"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:66a24f3d45c33550703f0abb8b656515b0ab777970fa275693a2f6dc8e35f1c1"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c08079b4934b0bf0a8847f42c197b1d12cba6495a3d43febd7e99ecd1cdc8d54"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8720c25cd9ac25dd04ee02b69256d0ce35bf8a0f29e20577427355272230965a"}, - {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:04cfd68bf4f38f5bb959ee2361a7546916bd9a50f78617a346b3aeb2b42e2161"}, - {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c28848761a6520c5c6071d2904a18d339a796ebe6b800adc8b3f474c5ce3c3ad"}, - {file = "grpcio-1.68.1-cp313-cp313-win32.whl", hash = "sha256:77d65165fc35cff6e954e7fd4229e05ec76102d4406d4576528d3a3635fc6172"}, - {file = "grpcio-1.68.1-cp313-cp313-win_amd64.whl", hash = "sha256:a8040f85dcb9830d8bbb033ae66d272614cec6faceee88d37a88a9bd1a7a704e"}, - {file = "grpcio-1.68.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:eeb38ff04ab6e5756a2aef6ad8d94e89bb4a51ef96e20f45c44ba190fa0bcaad"}, - {file = "grpcio-1.68.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a3869a6661ec8f81d93f4597da50336718bde9eb13267a699ac7e0a1d6d0bea"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2c4cec6177bf325eb6faa6bd834d2ff6aa8bb3b29012cceb4937b86f8b74323c"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12941d533f3cd45d46f202e3667be8ebf6bcb3573629c7ec12c3e211d99cfccf"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80af6f1e69c5e68a2be529990684abdd31ed6622e988bf18850075c81bb1ad6e"}, - {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e8dbe3e00771bfe3d04feed8210fc6617006d06d9a2679b74605b9fed3e8362c"}, - {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:83bbf5807dc3ee94ce1de2dfe8a356e1d74101e4b9d7aa8c720cc4818a34aded"}, - {file = "grpcio-1.68.1-cp38-cp38-win32.whl", hash = "sha256:8cb620037a2fd9eeee97b4531880e439ebfcd6d7d78f2e7dcc3726428ab5ef63"}, - {file = "grpcio-1.68.1-cp38-cp38-win_amd64.whl", hash = "sha256:52fbf85aa71263380d330f4fce9f013c0798242e31ede05fcee7fbe40ccfc20d"}, - {file = "grpcio-1.68.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:cb400138e73969eb5e0535d1d06cae6a6f7a15f2cc74add320e2130b8179211a"}, - {file = "grpcio-1.68.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a1b988b40f2fd9de5c820f3a701a43339d8dcf2cb2f1ca137e2c02671cc83ac1"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:96f473cdacfdd506008a5d7579c9f6a7ff245a9ade92c3c0265eb76cc591914f"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:37ea3be171f3cf3e7b7e412a98b77685eba9d4fd67421f4a34686a63a65d99f9"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ceb56c4285754e33bb3c2fa777d055e96e6932351a3082ce3559be47f8024f0"}, - {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:dffd29a2961f3263a16d73945b57cd44a8fd0b235740cb14056f0612329b345e"}, - {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:025f790c056815b3bf53da850dd70ebb849fd755a4b1ac822cb65cd631e37d43"}, - {file = "grpcio-1.68.1-cp39-cp39-win32.whl", hash = "sha256:1098f03dedc3b9810810568060dea4ac0822b4062f537b0f53aa015269be0a76"}, - {file = "grpcio-1.68.1-cp39-cp39-win_amd64.whl", hash = "sha256:334ab917792904245a028f10e803fcd5b6f36a7b2173a820c0b5b076555825e1"}, - {file = "grpcio-1.68.1.tar.gz", hash = "sha256:44a8502dd5de653ae6a73e2de50a401d84184f0331d0ac3daeb044e66d5c5054"}, + {file = "grpcio-1.80.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:886457a7768e408cdce226ad1ca67d2958917d306523a0e21e1a2fdaa75c9c9c"}, + {file = "grpcio-1.80.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:7b641fc3f1dc647bfd80bd713addc68f6d145956f64677e56d9ebafc0bd72388"}, + {file = "grpcio-1.80.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:33eb763f18f006dc7fee1e69831d38d23f5eccd15b2e0f92a13ee1d9242e5e02"}, + {file = "grpcio-1.80.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:52d143637e3872633fc7dd7c3c6a1c84e396b359f3a72e215f8bf69fd82084fc"}, + {file = "grpcio-1.80.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c51bf8ac4575af2e0678bccfb07e47321fc7acb5049b4482832c5c195e04e13a"}, + {file = "grpcio-1.80.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:50a9871536d71c4fba24ee856abc03a87764570f0c457dd8db0b4018f379fed9"}, + {file = "grpcio-1.80.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a72d84ad0514db063e21887fbacd1fd7acb4d494a564cae22227cd45c7fbf199"}, + {file = "grpcio-1.80.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f7691a6788ad9196872f95716df5bc643ebba13c97140b7a5ee5c8e75d1dea81"}, + {file = "grpcio-1.80.0-cp310-cp310-win32.whl", hash = "sha256:46c2390b59d67f84e882694d489f5b45707c657832d7934859ceb8c33f467069"}, + {file = "grpcio-1.80.0-cp310-cp310-win_amd64.whl", hash = "sha256:dc053420fc75749c961e2a4c906398d7c15725d36ccc04ae6d16093167223b58"}, + {file = "grpcio-1.80.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:dfab85db094068ff42e2a3563f60ab3dddcc9d6488a35abf0132daec13209c8a"}, + {file = "grpcio-1.80.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:5c07e82e822e1161354e32da2662f741a4944ea955f9f580ec8fb409dd6f6060"}, + {file = "grpcio-1.80.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba0915d51fd4ced2db5ff719f84e270afe0e2d4c45a7bdb1e8d036e4502928c2"}, + {file = "grpcio-1.80.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3cb8130ba457d2aa09fa6b7c3ed6b6e4e6a2685fce63cb803d479576c4d80e21"}, + {file = "grpcio-1.80.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:09e5e478b3d14afd23f12e49e8b44c8684ac3c5f08561c43a5b9691c54d136ab"}, + {file = "grpcio-1.80.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:00168469238b022500e486c1c33916acf2f2a9b2c022202cf8a1885d2e3073c1"}, + {file = "grpcio-1.80.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8502122a3cc1714038e39a0b071acb1207ca7844208d5ea0d091317555ee7106"}, + {file = "grpcio-1.80.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ce1794f4ea6cc3ca29463f42d665c32ba1b964b48958a66497917fe9069f26e6"}, + {file = "grpcio-1.80.0-cp311-cp311-win32.whl", hash = "sha256:51b4a7189b0bef2aa30adce3c78f09c83526cf3dddb24c6a96555e3b97340440"}, + {file = "grpcio-1.80.0-cp311-cp311-win_amd64.whl", hash = "sha256:02e64bb0bb2da14d947a49e6f120a75e947250aebe65f9629b62bb1f5c14e6e9"}, + {file = "grpcio-1.80.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:c624cc9f1008361014378c9d776de7182b11fe8b2e5a81bc69f23a295f2a1ad0"}, + {file = "grpcio-1.80.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:f49eddcac43c3bf350c0385366a58f36bed8cc2c0ec35ef7b74b49e56552c0c2"}, + {file = "grpcio-1.80.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d334591df610ab94714048e0d5b4f3dd5ad1bee74dfec11eee344220077a79de"}, + {file = "grpcio-1.80.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0cb517eb1d0d0aaf1d87af7cc5b801d686557c1d88b2619f5e31fab3c2315921"}, + {file = "grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e78c4ac0d97dc2e569b2f4bcbbb447491167cb358d1a389fc4af71ab6f70411"}, + {file = "grpcio-1.80.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2ed770b4c06984f3b47eb0517b1c69ad0b84ef3f40128f51448433be904634cd"}, + {file = "grpcio-1.80.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:256507e2f524092f1473071a05e65a5b10d84b82e3ff24c5b571513cfaa61e2f"}, + {file = "grpcio-1.80.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a6284a5d907c37db53350645567c522be314bac859a64a7a5ca63b77bb7958f"}, + {file = "grpcio-1.80.0-cp312-cp312-win32.whl", hash = "sha256:c71309cfce2f22be26aa4a847357c502db6c621f1a49825ae98aa0907595b193"}, + {file = "grpcio-1.80.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe648599c0e37594c4809d81a9e77bd138cc82eb8baa71b6a86af65426723ff"}, + {file = "grpcio-1.80.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:e9e408fc016dffd20661f0126c53d8a31c2821b5c13c5d67a0f5ed5de93319ad"}, + {file = "grpcio-1.80.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:92d787312e613754d4d8b9ca6d3297e69994a7912a32fa38c4c4e01c272974b0"}, + {file = "grpcio-1.80.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac393b58aa16991a2f1144ec578084d544038c12242da3a215966b512904d0f"}, + {file = "grpcio-1.80.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:68e5851ac4b9afe07e7f84483803ad167852570d65326b34d54ca560bfa53fb6"}, + {file = "grpcio-1.80.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:873ff5d17d68992ef6605330127425d2fc4e77e612fa3c3e0ed4e668685e3140"}, + {file = "grpcio-1.80.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2bea16af2750fd0a899bf1abd9022244418b55d1f37da2202249ba4ba673838d"}, + {file = "grpcio-1.80.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba0db34f7e1d803a878284cd70e4c63cb6ae2510ba51937bf8f45ba997cefcf7"}, + {file = "grpcio-1.80.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8eb613f02d34721f1acf3626dfdb3545bd3c8505b0e52bf8b5710a28d02e8aa7"}, + {file = "grpcio-1.80.0-cp313-cp313-win32.whl", hash = "sha256:93b6f823810720912fd131f561f91f5fed0fda372b6b7028a2681b8194d5d294"}, + {file = "grpcio-1.80.0-cp313-cp313-win_amd64.whl", hash = "sha256:e172cf795a3ba5246d3529e4d34c53db70e888fa582a8ffebd2e6e48bc0cba50"}, + {file = "grpcio-1.80.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:3d4147a97c8344d065d01bbf8b6acec2cf86fb0400d40696c8bdad34a64ffc0e"}, + {file = "grpcio-1.80.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:d8e11f167935b3eb089ac9038e1a063e6d7dbe995c0bb4a661e614583352e76f"}, + {file = "grpcio-1.80.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f14b618fc30de822681ee986cfdcc2d9327229dc4c98aed16896761cacd468b9"}, + {file = "grpcio-1.80.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4ed39fbdcf9b87370f6e8df4e39ca7b38b3e5e9d1b0013c7b6be9639d6578d14"}, + {file = "grpcio-1.80.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2dcc70e9f0ba987526e8e8603a610fb4f460e42899e74e7a518bf3c68fe1bf05"}, + {file = "grpcio-1.80.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:448c884b668b868562b1bda833c5fce6272d26e1926ec46747cda05741d302c1"}, + {file = "grpcio-1.80.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a1dc80fe55685b4a543555e6eef975303b36c8db1023b1599b094b92aa77965f"}, + {file = "grpcio-1.80.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:31b9ac4ad1aa28ffee5503821fafd09e4da0a261ce1c1281c6c8da0423c83b6e"}, + {file = "grpcio-1.80.0-cp314-cp314-win32.whl", hash = "sha256:367ce30ba67d05e0592470428f0ec1c31714cab9ef19b8f2e37be1f4c7d32fae"}, + {file = "grpcio-1.80.0-cp314-cp314-win_amd64.whl", hash = "sha256:3b01e1f5464c583d2f567b2e46ff0d516ef979978f72091fd81f5ab7fa6e2e7f"}, + {file = "grpcio-1.80.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:aacdfb4ed3eb919ca997504d27e03d5dba403c85130b8ed450308590a738f7a4"}, + {file = "grpcio-1.80.0-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:a361c20ec1ccd3c3953d20fb6d7b4125093bdd10dff44c5e2bbb39e58917cedc"}, + {file = "grpcio-1.80.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:43168871f170d1e4ed16ae03d10cd21efa29f190e710a624cee7e5ae07da6f4f"}, + {file = "grpcio-1.80.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1b97cd29a8eda100b559b455331c487a80915b6ea6bd91cf3e89836c4ee8d957"}, + {file = "grpcio-1.80.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bac1d573dfa84ce59a5547073e28fa7326d53352adda6912e362da0b917fcef4"}, + {file = "grpcio-1.80.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4560cf0e86514595dbbd330cd65b7afad4b5c4b8c4905c041cfffa138d45e6fd"}, + {file = "grpcio-1.80.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec0a592e926071b4abad50c1495cd0d0d513324b3ff5e7267067c33ba27506e4"}, + {file = "grpcio-1.80.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:deb10a1528473c11f72a0939eed36d83e847d7cbb63e8cc5611fb7a912d38614"}, + {file = "grpcio-1.80.0-cp39-cp39-win32.whl", hash = "sha256:627fb7312171cdc52828bd6fac8d7028ff2a64b89f1957b6f3416caa2218d141"}, + {file = "grpcio-1.80.0-cp39-cp39-win_amd64.whl", hash = "sha256:05d55e1798756282cddd52d56c896b3e7d673e3a8798c2f1cd05ba249a3bb4de"}, + {file = "grpcio-1.80.0.tar.gz", hash = "sha256:29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257"}, ] +[package.dependencies] +typing-extensions = ">=4.12,<5.0" + [package.extras] -protobuf = ["grpcio-tools (>=1.68.1)"] +protobuf = ["grpcio-tools (>=1.80.0)"] [[package]] name = "grpcio-tools" -version = "1.68.1" +version = "1.71.2" description = "Protobuf code generator for gRPC" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "grpcio_tools-1.68.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:3a93ea324c5cbccdff55110777410d026dc1e69c3d47684ac97f57f7a77b9c70"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:94cbfb9482cfd7bdb5f081b94fa137a16e4fe031daa57a2cd85d8cb4e18dce25"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:bbe7e1641859c858d0f4631f7f7c09e7302433f1aa037028d2419c1410945fac"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55c0f91c4294c5807796ed26af42509f3d68497942a92d9ee9f43b08768d6c3c"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85adc798fd3b57ab3e998b5897c5daab6840211ac16cdf3ba99901cb9b90094a"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f0bdccb00709bf6180a80a353a99fa844cc0bb2d450cdf7fc6ab22c988bb6b4c"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2465e4d347b35dc0c007e074c79d5ded0a89c3aa26651e690f83593e0cc28af8"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-win32.whl", hash = "sha256:83c124a1776c1027da7d36584c8044cfed7a9f10e90f08dafde8d2a4cb822319"}, - {file = "grpcio_tools-1.68.1-cp310-cp310-win_amd64.whl", hash = "sha256:283fd1359d619d42c3346f1d8f0a70636a036a421178803a1ab8083fa4228a38"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:02f04de42834129eb54bb12469160ab631a0395d6a2b77975381c02b994086c3"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:92b6aab37095879ef9ee428dd171740ff794f4c7a66bc1cc7280cd0051f8cd96"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:1f0ac6ac5e1e33b998511981b3ef36489501833413354f3597b97a3452d7d7ba"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28e0bca3a262af86557f30e30ddf2fadc2324ee05cd7352716924cc7f83541f1"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12239cf5ca6b7b4937103953cf35c49683d935e32e98596fe52dd35168aa86e6"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8e48d8884fcf6b182c73d0560a183404458e30a0f479918b88ca8fbd48b8b05f"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e4e8059469847441855322da16fa2c0f9787b996c237a98778210e31188a8652"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-win32.whl", hash = "sha256:21815d54a83effbd2600d16382a7897298cfeffe578557fc9a47b642cc8ddafe"}, - {file = "grpcio_tools-1.68.1-cp311-cp311-win_amd64.whl", hash = "sha256:2114528723d9f12d3e24af3d433ec6f140deea1dd64d3bb1b4ebced217f1867c"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:d67a9d1ad22ff0d22715dba1d5f8f23ebd47cea84ccd20c90bf4690d988adc5b"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c7f1e704ff73eb01afac51b63b74868a35aaa5d6f791fc63bd41af44a51aa232"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:e9f69988bd77db014795511c498e89a0db24bd47877e65921364114f88de3bee"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8585ec7d11fcc2bb635b39605a4466ca9fa28dbae0c184fe58f456da72cb9031"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c81d0be6c46fcbcd2cd126804060a95531cdf6d779436b2fbc68c8b4a7db2dc1"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6efdb02e75baf289935b5dad665f0e0f7c3311d86aae0cd2c709e2a8a34bb620"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8ea367639e771e5a05f7320eb4ae2b27e09d2ec3baeae9819d1c590cc7eaaa08"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-win32.whl", hash = "sha256:a5b1021c9942bba7eca1555061e2d308f506198088a3a539fcb3633499c6635f"}, - {file = "grpcio_tools-1.68.1-cp312-cp312-win_amd64.whl", hash = "sha256:315ad9c28940c95e85e57aeca309d298113175c2d5e8221501a05a51072f5477"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:67e49b5ede0cc8a0f988f41f7b72f6bc03180aecdb5213bd985bc1bbfd9ffdac"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b78e38f953062d45ff92ec940da292dc9bfbf26de492c8dc44e12b13493a8e80"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:8ebe9df5bab4121e8f51e013a379be2027179a0c8013e89d686a1e5800e9c205"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be553e3ea7447ed9e2e2d089f3b0a77000e86d2681b3c77498c98dddffc62d22"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4877f3eabb6185b5691f5218fedc86a84a833734847a294048862ec910a2854"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:b98173e536e8f2779eff84a03409cca6497dc1fad3d10a47c8d881b2cb36259b"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:5b64035dcd0df70acf3af972c3f103b0ce141d29732fd94eaa8b38cf7c8e62fe"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-win32.whl", hash = "sha256:573f3ed3276df20c308797ae834ac6c5595b1dd2953b243eedadbcd986a287d7"}, - {file = "grpcio_tools-1.68.1-cp313-cp313-win_amd64.whl", hash = "sha256:c4539c6231015c40db879fbc0feaaf03adb4275c1bd2b4dd26e2323f2a13655a"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:3e0fc6dbc64efc7bb0fe23ce46587e0cbeb512142d543834c2bc9100c8f255ff"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:79337ac1b19610b99f93aa52ae05e5fbf96adbe60d54ecf192af44cc69118d19"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:eb7cae5f0232aba9057f26a45ef6b0a5633d36627fe49442c0985b6f44b67822"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25fe1bcbb558a477c525bec9d67e1469d47dddc9430e6e5c0d11f67f08cfc810"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce901f42037d1ebc7724e721180d03e33163d5acf0a62c52728e6c36117c5e9"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3c213c2208c42dce2a5fc7cfb2b952a3c22ef019812f9f27bd54c6e00ee0720e"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ff6ae5031a03ab90e9c508d12914438b73efd44b5eed9946bf8974c453d0ed57"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-win32.whl", hash = "sha256:41e631e72b6b94eb6f3d9cd533c682249f82fc58007c7561f6e521b884a6347e"}, - {file = "grpcio_tools-1.68.1-cp38-cp38-win_amd64.whl", hash = "sha256:69fb93761f116a5b063fb4f6150023c4d785304b37adcebf561b95018f9b40ae"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:31c703dba465956acb83adc105d61297459d0d14b512441d827f6c040cbffe2b"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1093f441751689d225916e3fe02daf98d2becab688b9e167bd2c38454ec50906"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:3543b9205e5b88d2280493aa9b55d35ce9cc45b7a0891c9d84c200652802e22a"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79d575cc5a522b9920d9a07387976fc02d162bdf97ba51cf91fabdca8dfdb491"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d546e4a506288d6227acc0eb625039c5e1ad96218c8cfe9ecf661a41e15e442e"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:aced9c7a4edbf6eff73720bfa6fefd9053ae294535a488dfb92a372913eda10d"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3c08d1a244b5025ba3f8ef81d0885b431b93cc20bc4560add4cdfcf38c1bfad"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-win32.whl", hash = "sha256:049f05a3f227e9f696059a20b2858e6d7c1cd6037d8471306d7ab7627b1a4ce4"}, - {file = "grpcio_tools-1.68.1-cp39-cp39-win_amd64.whl", hash = "sha256:4c3599c75b1157e6bda24cdbdadb023bf0fe1085aa1e0047a1f35a8778f9b56e"}, - {file = "grpcio_tools-1.68.1.tar.gz", hash = "sha256:2413a17ad16c9c821b36e4a67fc64c37b9e4636ab1c3a07778018801378739ba"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-linux_armv7l.whl", hash = "sha256:ab8a28c2e795520d6dc6ffd7efaef4565026dbf9b4f5270de2f3dd1ce61d2318"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-macosx_10_14_universal2.whl", hash = "sha256:654ecb284a592d39a85556098b8c5125163435472a20ead79b805cf91814b99e"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:b49aded2b6c890ff690d960e4399a336c652315c6342232c27bd601b3705739e"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7811a6fc1c4b4e5438e5eb98dbd52c2dc4a69d1009001c13356e6636322d41a"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393a9c80596aa2b3f05af854e23336ea8c295593bbb35d9adae3d8d7943672bd"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:823e1f23c12da00f318404c4a834bb77cd150d14387dee9789ec21b335249e46"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9bfbea79d6aec60f2587133ba766ede3dc3e229641d1a1e61d790d742a3d19eb"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:32f3a67b10728835b5ffb63fbdbe696d00e19a27561b9cf5153e72dbb93021ba"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-win32.whl", hash = "sha256:7fcf9d92c710bfc93a1c0115f25e7d49a65032ff662b38b2f704668ce0a938df"}, + {file = "grpcio_tools-1.71.2-cp310-cp310-win_amd64.whl", hash = "sha256:914b4275be810290266e62349f2d020bb7cc6ecf9edb81da3c5cddb61a95721b"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-linux_armv7l.whl", hash = "sha256:0acb8151ea866be5b35233877fbee6445c36644c0aa77e230c9d1b46bf34b18b"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:b28f8606f4123edb4e6da281547465d6e449e89f0c943c376d1732dc65e6d8b3"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:cbae6f849ad2d1f5e26cd55448b9828e678cb947fa32c8729d01998238266a6a"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4d1027615cfb1e9b1f31f2f384251c847d68c2f3e025697e5f5c72e26ed1316"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bac95662dc69338edb9eb727cc3dd92342131b84b12b3e8ec6abe973d4cbf1b"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c50250c7248055040f89eb29ecad39d3a260a4b6d3696af1575945f7a8d5dcdc"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6ab1ad955e69027ef12ace4d700c5fc36341bdc2f420e87881e9d6d02af3d7b8"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dd75dde575781262b6b96cc6d0b2ac6002b2f50882bf5e06713f1bf364ee6e09"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-win32.whl", hash = "sha256:9a3cb244d2bfe0d187f858c5408d17cb0e76ca60ec9a274c8fd94cc81457c7fc"}, + {file = "grpcio_tools-1.71.2-cp311-cp311-win_amd64.whl", hash = "sha256:00eb909997fd359a39b789342b476cbe291f4dd9c01ae9887a474f35972a257e"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:bfc0b5d289e383bc7d317f0e64c9dfb59dc4bef078ecd23afa1a816358fb1473"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:b4669827716355fa913b1376b1b985855d5cfdb63443f8d18faf210180199006"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:d4071f9b44564e3f75cdf0f05b10b3e8c7ea0ca5220acbf4dc50b148552eef2f"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a28eda8137d587eb30081384c256f5e5de7feda34776f89848b846da64e4be35"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b19c083198f5eb15cc69c0a2f2c415540cbc636bfe76cea268e5894f34023b40"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:784c284acda0d925052be19053d35afbf78300f4d025836d424cf632404f676a"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:381e684d29a5d052194e095546eef067201f5af30fd99b07b5d94766f44bf1ae"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3e4b4801fabd0427fc61d50d09588a01b1cfab0ec5e8a5f5d515fbdd0891fd11"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-win32.whl", hash = "sha256:84ad86332c44572305138eafa4cc30040c9a5e81826993eae8227863b700b490"}, + {file = "grpcio_tools-1.71.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e1108d37eecc73b1c4a27350a6ed921b5dda25091700c1da17cfe30761cd462"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-linux_armv7l.whl", hash = "sha256:b0f0a8611614949c906e25c225e3360551b488d10a366c96d89856bcef09f729"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:7931783ea7ac42ac57f94c5047d00a504f72fbd96118bf7df911bb0e0435fc0f"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:d188dc28e069aa96bb48cb11b1338e47ebdf2e2306afa58a8162cc210172d7a8"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f36c4b3cc42ad6ef67430639174aaf4a862d236c03c4552c4521501422bfaa26"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bd9ed12ce93b310f0cef304176049d0bc3b9f825e9c8c6a23e35867fed6affd"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7ce27e76dd61011182d39abca38bae55d8a277e9b7fe30f6d5466255baccb579"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:dcc17bf59b85c3676818f2219deacac0156492f32ca165e048427d2d3e6e1157"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:706360c71bdd722682927a1fb517c276ccb816f1e30cb71f33553e5817dc4031"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-win32.whl", hash = "sha256:bcf751d5a81c918c26adb2d6abcef71035c77d6eb9dd16afaf176ee096e22c1d"}, + {file = "grpcio_tools-1.71.2-cp313-cp313-win_amd64.whl", hash = "sha256:b1581a1133552aba96a730178bc44f6f1a071f0eb81c5b6bc4c0f89f5314e2b8"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-linux_armv7l.whl", hash = "sha256:344aa8973850bc36fd0ce81aa6443bd5ab41dc3a25903b36cd1e70f71ceb53c9"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:4d32450a4c8a97567b32154379d97398b7eba090bce756aff57aef5d80d8c953"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f596dbc1e46f9e739e09af553bf3c3321be3d603e579f38ffa9f2e0e4a25f4f7"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7723ff599104188cb870d01406b65e67e2493578347cc13d50e9dc372db36ef"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b018b6b69641b10864a3f19dd3c2b7ca3dfce4460eb836ab28b058e7deb3e"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0dd058c06ce95a99f78851c05db30af507227878013d46a8339e44fb24855ff7"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b3312bdd5952bba2ef8e4314b2e2f886fa23b2f6d605cd56097605ae65d30515"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:085de63843946b967ae561e7dd832fa03147f01282f462a0a0cbe1571d9ee986"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-win32.whl", hash = "sha256:c1ff5f79f49768d4c561508b62878f27198b3420a87390e0c51969b8dbfcfca8"}, + {file = "grpcio_tools-1.71.2-cp39-cp39-win_amd64.whl", hash = "sha256:c3e02b345cf96673dcf77599a61482f68c318a62c9cde20a5ae0882619ff8c98"}, + {file = "grpcio_tools-1.71.2.tar.gz", hash = "sha256:b5304d65c7569b21270b568e404a5a843cf027c66552a6a0978b23f137679c09"}, ] [package.dependencies] -grpcio = ">=1.68.1" +grpcio = ">=1.71.2" protobuf = ">=5.26.1,<6.0dev" setuptools = "*" @@ -1547,30 +1873,29 @@ ecdsa = ">=0.14.0" [[package]] name = "hexbytes" -version = "0.3.1" +version = "1.3.1" description = "hexbytes: Python `bytes` subclass that decodes hex, with a readable console output" optional = false -python-versions = ">=3.7, <4" +python-versions = "<4,>=3.8" files = [ - {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, - {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, + {file = "hexbytes-1.3.1-py3-none-any.whl", hash = "sha256:da01ff24a1a9a2b1881c4b85f0e9f9b0f51b526b379ffa23832ae7899d29c2c7"}, + {file = "hexbytes-1.3.1.tar.gz", hash = "sha256:a657eebebdfe27254336f98d8af6e2236f3f83aed164b87466b6cf6c5f5a4765"}, ] [package.extras] -dev = ["black (>=22)", "bumpversion (>=0.5.3)", "eth-utils (>=1.0.1,<3)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "hypothesis (>=3.44.24,<=6.31.6)", "ipython", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=5.0.0)", "pytest (>=7.0.0)", "pytest-watch (>=4.1.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -doc = ["sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -lint = ["black (>=22)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=5.0.0)"] -test = ["eth-utils (>=1.0.1,<3)", "hypothesis (>=3.44.24,<=6.31.6)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "eth_utils (>=2.0.0)", "hypothesis (>=3.44.24)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] +test = ["eth_utils (>=2.0.0)", "hypothesis (>=3.44.24)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "identify" -version = "2.6.3" +version = "2.6.19" description = "File identification library for Python" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd"}, - {file = "identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02"}, + {file = "identify-2.6.19-py2.py3-none-any.whl", hash = "sha256:20e6a87f786f768c092a721ad107fc9df0eb89347be9396cadf3f4abbd1fb78a"}, + {file = "identify-2.6.19.tar.gz", hash = "sha256:6be5020c38fcb07da56c53733538a3081ea5aa70d36a156f83044bfbf9173842"}, ] [package.extras] @@ -1578,200 +1903,27 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.10" +version = "3.13" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-metadata" -version = "4.13.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, + {file = "idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3"}, + {file = "idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242"}, ] -[package.dependencies] -zipp = ">=0.5" - [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] -perf = ["ipython"] -testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] +all = ["mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.3.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "jsonschema" -version = "4.23.0" -description = "An implementation of JSON Schema validation for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, - {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -jsonschema-specifications = ">=2023.03.6" -referencing = ">=0.28.4" -rpds-py = ">=0.7.1" - -[package.extras] -format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] - -[[package]] -name = "jsonschema-specifications" -version = "2024.10.1" -description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -optional = false -python-versions = ">=3.9" -files = [ - {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, - {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, -] - -[package.dependencies] -referencing = ">=0.31.0" - -[[package]] -name = "lru-dict" -version = "1.2.0" -description = "An Dict like LRU container." -optional = false -python-versions = "*" -files = [ - {file = "lru-dict-1.2.0.tar.gz", hash = "sha256:13c56782f19d68ddf4d8db0170041192859616514c706b126d0df2ec72a11bd7"}, - {file = "lru_dict-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:de906e5486b5c053d15b7731583c25e3c9147c288ac8152a6d1f9bccdec72641"}, - {file = "lru_dict-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604d07c7604b20b3130405d137cae61579578b0e8377daae4125098feebcb970"}, - {file = "lru_dict-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:203b3e78d03d88f491fa134f85a42919020686b6e6f2d09759b2f5517260c651"}, - {file = "lru_dict-1.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:020b93870f8c7195774cbd94f033b96c14f51c57537969965c3af300331724fe"}, - {file = "lru_dict-1.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1184d91cfebd5d1e659d47f17a60185bbf621635ca56dcdc46c6a1745d25df5c"}, - {file = "lru_dict-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fc42882b554a86e564e0b662da47b8a4b32fa966920bd165e27bb8079a323bc1"}, - {file = "lru_dict-1.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:18ee88ada65bd2ffd483023be0fa1c0a6a051ef666d1cd89e921dcce134149f2"}, - {file = "lru_dict-1.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:756230c22257597b7557eaef7f90484c489e9ba78e5bb6ab5a5bcfb6b03cb075"}, - {file = "lru_dict-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c4da599af36618881748b5db457d937955bb2b4800db891647d46767d636c408"}, - {file = "lru_dict-1.2.0-cp310-cp310-win32.whl", hash = "sha256:35a142a7d1a4fd5d5799cc4f8ab2fff50a598d8cee1d1c611f50722b3e27874f"}, - {file = "lru_dict-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:6da5b8099766c4da3bf1ed6e7d7f5eff1681aff6b5987d1258a13bd2ed54f0c9"}, - {file = "lru_dict-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b20b7c9beb481e92e07368ebfaa363ed7ef61e65ffe6e0edbdbaceb33e134124"}, - {file = "lru_dict-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22147367b296be31cc858bf167c448af02435cac44806b228c9be8117f1bfce4"}, - {file = "lru_dict-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34a3091abeb95e707f381a8b5b7dc8e4ee016316c659c49b726857b0d6d1bd7a"}, - {file = "lru_dict-1.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:877801a20f05c467126b55338a4e9fa30e2a141eb7b0b740794571b7d619ee11"}, - {file = "lru_dict-1.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d3336e901acec897bcd318c42c2b93d5f1d038e67688f497045fc6bad2c0be7"}, - {file = "lru_dict-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8dafc481d2defb381f19b22cc51837e8a42631e98e34b9e0892245cc96593deb"}, - {file = "lru_dict-1.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:87bbad3f5c3de8897b8c1263a9af73bbb6469fb90e7b57225dad89b8ef62cd8d"}, - {file = "lru_dict-1.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:25f9e0bc2fe8f41c2711ccefd2871f8a5f50a39e6293b68c3dec576112937aad"}, - {file = "lru_dict-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ae301c282a499dc1968dd633cfef8771dd84228ae9d40002a3ea990e4ff0c469"}, - {file = "lru_dict-1.2.0-cp311-cp311-win32.whl", hash = "sha256:c9617583173a29048e11397f165501edc5ae223504a404b2532a212a71ecc9ed"}, - {file = "lru_dict-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6b7a031e47421d4b7aa626b8c91c180a9f037f89e5d0a71c4bb7afcf4036c774"}, - {file = "lru_dict-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:ea2ac3f7a7a2f32f194c84d82a034e66780057fd908b421becd2f173504d040e"}, - {file = "lru_dict-1.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd46c94966f631a81ffe33eee928db58e9fbee15baba5923d284aeadc0e0fa76"}, - {file = "lru_dict-1.2.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:086ce993414f0b28530ded7e004c77dc57c5748fa6da488602aa6e7f79e6210e"}, - {file = "lru_dict-1.2.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df25a426446197488a6702954dcc1de511deee20c9db730499a2aa83fddf0df1"}, - {file = "lru_dict-1.2.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c53b12b89bd7a6c79f0536ff0d0a84fdf4ab5f6252d94b24b9b753bd9ada2ddf"}, - {file = "lru_dict-1.2.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f9484016e6765bd295708cccc9def49f708ce07ac003808f69efa386633affb9"}, - {file = "lru_dict-1.2.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d0f7ec902a0097ac39f1922c89be9eaccf00eb87751e28915320b4f72912d057"}, - {file = "lru_dict-1.2.0-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:981ef3edc82da38d39eb60eae225b88a538d47b90cce2e5808846fd2cf64384b"}, - {file = "lru_dict-1.2.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e25b2e90a032dc248213af7f3f3e975e1934b204f3b16aeeaeaff27a3b65e128"}, - {file = "lru_dict-1.2.0-cp36-cp36m-win32.whl", hash = "sha256:59f3df78e94e07959f17764e7fa7ca6b54e9296953d2626a112eab08e1beb2db"}, - {file = "lru_dict-1.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:de24b47159e07833aeab517d9cb1c3c5c2d6445cc378b1c2f1d8d15fb4841d63"}, - {file = "lru_dict-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d0dd4cd58220351233002f910e35cc01d30337696b55c6578f71318b137770f9"}, - {file = "lru_dict-1.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a87bdc291718bbdf9ea4be12ae7af26cbf0706fa62c2ac332748e3116c5510a7"}, - {file = "lru_dict-1.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05fb8744f91f58479cbe07ed80ada6696ec7df21ea1740891d4107a8dd99a970"}, - {file = "lru_dict-1.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00f6e8a3fc91481b40395316a14c94daa0f0a5de62e7e01a7d589f8d29224052"}, - {file = "lru_dict-1.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b172fce0a0ffc0fa6d282c14256d5a68b5db1e64719c2915e69084c4b6bf555"}, - {file = "lru_dict-1.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:e707d93bae8f0a14e6df1ae8b0f076532b35f00e691995f33132d806a88e5c18"}, - {file = "lru_dict-1.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b9ec7a4a0d6b8297102aa56758434fb1fca276a82ed7362e37817407185c3abb"}, - {file = "lru_dict-1.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f404dcc8172da1f28da9b1f0087009578e608a4899b96d244925c4f463201f2a"}, - {file = "lru_dict-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1171ad3bff32aa8086778be4a3bdff595cc2692e78685bcce9cb06b96b22dcc2"}, - {file = "lru_dict-1.2.0-cp37-cp37m-win32.whl", hash = "sha256:0c316dfa3897fabaa1fe08aae89352a3b109e5f88b25529bc01e98ac029bf878"}, - {file = "lru_dict-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5919dd04446bc1ee8d6ecda2187deeebfff5903538ae71083e069bc678599446"}, - {file = "lru_dict-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fbf36c5a220a85187cacc1fcb7dd87070e04b5fc28df7a43f6842f7c8224a388"}, - {file = "lru_dict-1.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:712e71b64da181e1c0a2eaa76cd860265980cd15cb0e0498602b8aa35d5db9f8"}, - {file = "lru_dict-1.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f54908bf91280a9b8fa6a8c8f3c2f65850ce6acae2852bbe292391628ebca42f"}, - {file = "lru_dict-1.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3838e33710935da2ade1dd404a8b936d571e29268a70ff4ca5ba758abb3850df"}, - {file = "lru_dict-1.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5d5a5f976b39af73324f2b793862859902ccb9542621856d51a5993064f25e4"}, - {file = "lru_dict-1.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8bda3a9afd241ee0181661decaae25e5336ce513ac268ab57da737eacaa7871f"}, - {file = "lru_dict-1.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:bd2cd1b998ea4c8c1dad829fc4fa88aeed4dee555b5e03c132fc618e6123f168"}, - {file = "lru_dict-1.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b55753ee23028ba8644fd22e50de7b8f85fa60b562a0fafaad788701d6131ff8"}, - {file = "lru_dict-1.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7e51fa6a203fa91d415f3b2900e5748ec8e06ad75777c98cc3aeb3983ca416d7"}, - {file = "lru_dict-1.2.0-cp38-cp38-win32.whl", hash = "sha256:cd6806313606559e6c7adfa0dbeb30fc5ab625f00958c3d93f84831e7a32b71e"}, - {file = "lru_dict-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d90a70c53b0566084447c3ef9374cc5a9be886e867b36f89495f211baabd322"}, - {file = "lru_dict-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a3ea7571b6bf2090a85ff037e6593bbafe1a8598d5c3b4560eb56187bcccb4dc"}, - {file = "lru_dict-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:287c2115a59c1c9ed0d5d8ae7671e594b1206c36ea9df2fca6b17b86c468ff99"}, - {file = "lru_dict-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5ccfd2291c93746a286c87c3f895165b697399969d24c54804ec3ec559d4e43"}, - {file = "lru_dict-1.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b710f0f4d7ec4f9fa89dfde7002f80bcd77de8024017e70706b0911ea086e2ef"}, - {file = "lru_dict-1.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5345bf50e127bd2767e9fd42393635bbc0146eac01f6baf6ef12c332d1a6a329"}, - {file = "lru_dict-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:291d13f85224551913a78fe695cde04cbca9dcb1d84c540167c443eb913603c9"}, - {file = "lru_dict-1.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d5bb41bc74b321789803d45b124fc2145c1b3353b4ad43296d9d1d242574969b"}, - {file = "lru_dict-1.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0facf49b053bf4926d92d8d5a46fe07eecd2af0441add0182c7432d53d6da667"}, - {file = "lru_dict-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:987b73a06bcf5a95d7dc296241c6b1f9bc6cda42586948c9dabf386dc2bef1cd"}, - {file = "lru_dict-1.2.0-cp39-cp39-win32.whl", hash = "sha256:231d7608f029dda42f9610e5723614a35b1fff035a8060cf7d2be19f1711ace8"}, - {file = "lru_dict-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:71da89e134747e20ed5b8ad5b4ee93fc5b31022c2b71e8176e73c5a44699061b"}, - {file = "lru_dict-1.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:21b3090928c7b6cec509e755cc3ab742154b33660a9b433923bd12c37c448e3e"}, - {file = "lru_dict-1.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaecd7085212d0aa4cd855f38b9d61803d6509731138bf798a9594745953245b"}, - {file = "lru_dict-1.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ead83ac59a29d6439ddff46e205ce32f8b7f71a6bd8062347f77e232825e3d0a"}, - {file = "lru_dict-1.2.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:312b6b2a30188586fe71358f0f33e4bac882d33f5e5019b26f084363f42f986f"}, - {file = "lru_dict-1.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b30122e098c80e36d0117810d46459a46313421ce3298709170b687dc1240b02"}, - {file = "lru_dict-1.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f010cfad3ab10676e44dc72a813c968cd586f37b466d27cde73d1f7f1ba158c2"}, - {file = "lru_dict-1.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20f5f411f7751ad9a2c02e80287cedf69ae032edd321fe696e310d32dd30a1f8"}, - {file = "lru_dict-1.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afdadd73304c9befaed02eb42f5f09fdc16288de0a08b32b8080f0f0f6350aa6"}, - {file = "lru_dict-1.2.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7ab0c10c4fa99dc9e26b04e6b62ac32d2bcaea3aad9b81ec8ce9a7aa32b7b1b"}, - {file = "lru_dict-1.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:edad398d5d402c43d2adada390dd83c74e46e020945ff4df801166047013617e"}, - {file = "lru_dict-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:91d577a11b84387013815b1ad0bb6e604558d646003b44c92b3ddf886ad0f879"}, - {file = "lru_dict-1.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb12f19cdf9c4f2d9aa259562e19b188ff34afab28dd9509ff32a3f1c2c29326"}, - {file = "lru_dict-1.2.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e4c85aa8844bdca3c8abac3b7f78da1531c74e9f8b3e4890c6e6d86a5a3f6c0"}, - {file = "lru_dict-1.2.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c6acbd097b15bead4de8e83e8a1030bb4d8257723669097eac643a301a952f0"}, - {file = "lru_dict-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b6613daa851745dd22b860651de930275be9d3e9373283a2164992abacb75b62"}, -] - -[package.extras] -test = ["pytest"] - -[[package]] -name = "mccabe" -version = "0.6.1" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = "*" -files = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, + {file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}, + {file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"}, ] [[package]] @@ -1787,103 +1939,157 @@ files = [ [[package]] name = "multidict" -version = "6.1.0" +version = "6.7.1" description = "multidict implementation" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, + {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"}, + {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"}, + {file = "multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190"}, + {file = "multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962"}, + {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505"}, + {file = "multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122"}, + {file = "multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df"}, + {file = "multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db"}, + {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d"}, + {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e"}, + {file = "multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0"}, + {file = "multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0"}, + {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa"}, + {file = "multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a"}, + {file = "multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b"}, + {file = "multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6"}, + {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172"}, + {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd"}, + {file = "multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a"}, + {file = "multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a"}, + {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba"}, + {file = "multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511"}, + {file = "multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19"}, + {file = "multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf"}, + {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23"}, + {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2"}, + {file = "multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed"}, + {file = "multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d"}, + {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33"}, + {file = "multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3"}, + {file = "multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5"}, + {file = "multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df"}, + {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1"}, + {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963"}, + {file = "multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd"}, + {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52"}, + {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108"}, + {file = "multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32"}, + {file = "multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8"}, + {file = "multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118"}, + {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee"}, + {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2"}, + {file = "multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37"}, + {file = "multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1"}, + {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b"}, + {file = "multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d"}, + {file = "multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f"}, + {file = "multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5"}, + {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581"}, + {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a"}, + {file = "multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d"}, + {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9"}, + {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2"}, + {file = "multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7"}, + {file = "multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5"}, + {file = "multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2"}, + {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f"}, + {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358"}, + {file = "multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f"}, + {file = "multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de"}, + {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5"}, + {file = "multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0"}, + {file = "multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4"}, + {file = "multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9"}, + {file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"}, + {file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"}, ] [package.dependencies] @@ -1891,35 +2097,35 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} [[package]] name = "mypy-extensions" -version = "1.0.0" +version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, + {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, + {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, ] [[package]] name = "nodeenv" -version = "1.9.1" +version = "1.10.0" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, + {file = "nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827"}, + {file = "nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb"}, ] [[package]] name = "packaging" -version = "24.2" +version = "26.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, + {file = "packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e"}, + {file = "packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661"}, ] [[package]] @@ -1938,55 +2144,55 @@ regex = ">=2022.3.15" [[package]] name = "pathspec" -version = "0.12.1" +version = "1.1.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, + {file = "pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189"}, + {file = "pathspec-1.1.1.tar.gz", hash = "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a"}, ] +[package.extras] +hyperscan = ["hyperscan (>=0.7)"] +optional = ["typing-extensions (>=4)"] +re2 = ["google-re2 (>=1.1)"] + [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.9.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "platformdirs-4.9.6-py3-none-any.whl", hash = "sha256:e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917"}, + {file = "platformdirs-4.9.6.tar.gz", hash = "sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a"}, ] -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - [[package]] name = "pluggy" -version = "1.5.0" +version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, + {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, + {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, ] [package.extras] dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "pre-commit" -version = "3.8.0" +version = "4.6.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, - {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, + {file = "pre_commit-4.6.0-py2.py3-none-any.whl", hash = "sha256:e2cf246f7299edcabcf15f9b0571fdce06058527f0a06535068a86d38089f29b"}, + {file = "pre_commit-4.6.0.tar.gz", hash = "sha256:718d2208cef53fdc38206e40524a6d4d9576d103eb16f0fec11c875e7716e9d9"}, ] [package.dependencies] @@ -1998,198 +2204,378 @@ virtualenv = ">=20.10.0" [[package]] name = "propcache" -version = "0.2.1" +version = "0.4.1" description = "Accelerated property cache" optional = false python-versions = ">=3.9" files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, + {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db"}, + {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8"}, + {file = "propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c"}, + {file = "propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb"}, + {file = "propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37"}, + {file = "propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f"}, + {file = "propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1"}, + {file = "propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6"}, + {file = "propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75"}, + {file = "propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8"}, + {file = "propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db"}, + {file = "propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66"}, + {file = "propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81"}, + {file = "propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e"}, + {file = "propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1"}, + {file = "propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717"}, + {file = "propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37"}, + {file = "propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144"}, + {file = "propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f"}, + {file = "propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153"}, + {file = "propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455"}, + {file = "propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85"}, + {file = "propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1"}, + {file = "propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183"}, + {file = "propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19"}, + {file = "propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f"}, + {file = "propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938"}, + {file = "propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237"}, + {file = "propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d"}, ] [[package]] name = "protobuf" -version = "5.29.1" +version = "5.29.6" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110"}, - {file = "protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34"}, - {file = "protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18"}, - {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155"}, - {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d"}, - {file = "protobuf-5.29.1-cp38-cp38-win32.whl", hash = "sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853"}, - {file = "protobuf-5.29.1-cp38-cp38-win_amd64.whl", hash = "sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331"}, - {file = "protobuf-5.29.1-cp39-cp39-win32.whl", hash = "sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57"}, - {file = "protobuf-5.29.1-cp39-cp39-win_amd64.whl", hash = "sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c"}, - {file = "protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0"}, - {file = "protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb"}, + {file = "protobuf-5.29.6-cp310-abi3-win32.whl", hash = "sha256:62e8a3114992c7c647bce37dcc93647575fc52d50e48de30c6fcb28a6a291eb1"}, + {file = "protobuf-5.29.6-cp310-abi3-win_amd64.whl", hash = "sha256:7e6ad413275be172f67fdee0f43484b6de5a904cc1c3ea9804cb6fe2ff366eda"}, + {file = "protobuf-5.29.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:b5a169e664b4057183a34bdc424540e86eea47560f3c123a0d64de4e137f9269"}, + {file = "protobuf-5.29.6-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:a8866b2cff111f0f863c1b3b9e7572dc7eaea23a7fae27f6fc613304046483e6"}, + {file = "protobuf-5.29.6-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:e3387f44798ac1106af0233c04fb8abf543772ff241169946f698b3a9a3d3ab9"}, + {file = "protobuf-5.29.6-cp38-cp38-win32.whl", hash = "sha256:36ade6ff88212e91aef4e687a971a11d7d24d6948a66751abc1b3238648f5d05"}, + {file = "protobuf-5.29.6-cp38-cp38-win_amd64.whl", hash = "sha256:831e2da16b6cc9d8f1654c041dd594eda43391affd3c03a91bea7f7f6da106d6"}, + {file = "protobuf-5.29.6-cp39-cp39-win32.whl", hash = "sha256:cb4c86de9cd8a7f3a256b9744220d87b847371c6b2f10bde87768918ef33ba49"}, + {file = "protobuf-5.29.6-cp39-cp39-win_amd64.whl", hash = "sha256:76e07e6567f8baf827137e8d5b8204b6c7b6488bbbff1bf0a72b383f77999c18"}, + {file = "protobuf-5.29.6-py3-none-any.whl", hash = "sha256:6b9edb641441b2da9fa8f428760fc136a49cf97a52076010cf22a2ff73438a86"}, + {file = "protobuf-5.29.6.tar.gz", hash = "sha256:da9ee6a5424b6b30fd5e45c5ea663aef540ca95f9ad99d1e887e819cdf9b8723"}, ] [[package]] -name = "pycodestyle" -version = "2.8.0" -description = "Python style guide checker" +name = "pycparser" +version = "3.0" +description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.10" files = [ - {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, - {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, + {file = "pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992"}, + {file = "pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29"}, ] [[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" +name = "pycryptodome" +version = "3.23.0" +description = "Cryptographic library for Python" optional = false -python-versions = ">=3.8" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a176b79c49af27d7f6c12e4b178b0824626f40a7b9fed08f712291b6d54bf566"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:573a0b3017e06f2cffd27d92ef22e46aa3be87a2d317a5abf7cc0e84e321bd75"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:63dad881b99ca653302b2c7191998dd677226222a3f2ea79999aa51ce695f720"}, + {file = "pycryptodome-3.23.0-cp27-cp27m-win32.whl", hash = "sha256:b34e8e11d97889df57166eda1e1ddd7676da5fcd4d71a0062a760e75060514b4"}, + {file = "pycryptodome-3.23.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:7ac1080a8da569bde76c0a104589c4f414b8ba296c0b3738cf39a466a9fb1818"}, + {file = "pycryptodome-3.23.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6fe8258e2039eceb74dfec66b3672552b6b7d2c235b2dfecc05d16b8921649a8"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win32.whl", hash = "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625"}, + {file = "pycryptodome-3.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39"}, + {file = "pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27"}, + {file = "pycryptodome-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575"}, + {file = "pycryptodome-3.23.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f"}, + {file = "pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win32.whl", hash = "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win_amd64.whl", hash = "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2"}, + {file = "pycryptodome-3.23.0-cp37-abi3-win_arm64.whl", hash = "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c"}, + {file = "pycryptodome-3.23.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:350ebc1eba1da729b35ab7627a833a1a355ee4e852d8ba0447fafe7b14504d56"}, + {file = "pycryptodome-3.23.0-pp27-pypy_73-win32.whl", hash = "sha256:93837e379a3e5fd2bb00302a47aee9fdf7940d83595be3915752c74033d17ca7"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353"}, + {file = "pycryptodome-3.23.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:865d83c906b0fc6a59b510deceee656b6bc1c4fa0d82176e2b77e97a420a996a"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89d4d56153efc4d81defe8b65fd0821ef8b2d5ddf8ed19df31ba2f00872b8002"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3f2d0aaf8080bda0587d58fc9fe4766e012441e2eed4269a77de6aea981c8be"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64093fc334c1eccfd3933c134c4457c34eaca235eeae49d69449dc4728079339"}, + {file = "pycryptodome-3.23.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6"}, + {file = "pycryptodome-3.23.0.tar.gz", hash = "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef"}, +] + +[[package]] +name = "pydantic" +version = "2.13.3" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pydantic-2.13.3-py3-none-any.whl", hash = "sha256:6db14ac8dfc9a1e57f87ea2c0de670c251240f43cb0c30a5130e9720dc612927"}, + {file = "pydantic-2.13.3.tar.gz", hash = "sha256:af09e9d1d09f4e7fe37145c1f577e1d61ceb9a41924bf0094a36506285d0a84d"}, ] +[package.dependencies] +annotated-types = ">=0.6.0" +pydantic-core = "2.46.3" +typing-extensions = ">=4.14.1" +typing-inspection = ">=0.4.2" + +[package.extras] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] + [[package]] -name = "pycryptodome" -version = "3.21.0" -description = "Cryptographic library for Python" +name = "pydantic-core" +version = "2.46.3" +description = "Core functionality for Pydantic validation and serialization" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "pycryptodome-3.21.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:dad9bf36eda068e89059d1f07408e397856be9511d7113ea4b586642a429a4fd"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:a1752eca64c60852f38bb29e2c86fca30d7672c024128ef5d70cc15868fa10f4"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ba4cc304eac4d4d458f508d4955a88ba25026890e8abff9b60404f76a62c55e"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cb087b8612c8a1a14cf37dd754685be9a8d9869bed2ffaaceb04850a8aeef7e"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:26412b21df30b2861424a6c6d5b1d8ca8107612a4cfa4d0183e71c5d200fb34a"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-win32.whl", hash = "sha256:cc2269ab4bce40b027b49663d61d816903a4bd90ad88cb99ed561aadb3888dd3"}, - {file = "pycryptodome-3.21.0-cp27-cp27m-win_amd64.whl", hash = "sha256:0fa0a05a6a697ccbf2a12cec3d6d2650b50881899b845fac6e87416f8cb7e87d"}, - {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6cce52e196a5f1d6797ff7946cdff2038d3b5f0aba4a43cb6bf46b575fd1b5bb"}, - {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:a915597ffccabe902e7090e199a7bf7a381c5506a747d5e9d27ba55197a2c568"}, - {file = "pycryptodome-3.21.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4e74c522d630766b03a836c15bff77cb657c5fdf098abf8b1ada2aebc7d0819"}, - {file = "pycryptodome-3.21.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:a3804675283f4764a02db05f5191eb8fec2bb6ca34d466167fc78a5f05bbe6b3"}, - {file = "pycryptodome-3.21.0-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:2480ec2c72438430da9f601ebc12c518c093c13111a5c1644c82cdfc2e50b1e4"}, - {file = "pycryptodome-3.21.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:de18954104667f565e2fbb4783b56667f30fb49c4d79b346f52a29cb198d5b6b"}, - {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de4b7263a33947ff440412339cb72b28a5a4c769b5c1ca19e33dd6cd1dcec6e"}, - {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0714206d467fc911042d01ea3a1847c847bc10884cf674c82e12915cfe1649f8"}, - {file = "pycryptodome-3.21.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d85c1b613121ed3dbaa5a97369b3b757909531a959d229406a75b912dd51dd1"}, - {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8898a66425a57bcf15e25fc19c12490b87bd939800f39a03ea2de2aea5e3611a"}, - {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:932c905b71a56474bff8a9c014030bc3c882cee696b448af920399f730a650c2"}, - {file = "pycryptodome-3.21.0-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:18caa8cfbc676eaaf28613637a89980ad2fd96e00c564135bf90bc3f0b34dd93"}, - {file = "pycryptodome-3.21.0-cp36-abi3-win32.whl", hash = "sha256:280b67d20e33bb63171d55b1067f61fbd932e0b1ad976b3a184303a3dad22764"}, - {file = "pycryptodome-3.21.0-cp36-abi3-win_amd64.whl", hash = "sha256:b7aa25fc0baa5b1d95b7633af4f5f1838467f1815442b22487426f94e0d66c53"}, - {file = "pycryptodome-3.21.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:2cb635b67011bc147c257e61ce864879ffe6d03342dc74b6045059dfbdedafca"}, - {file = "pycryptodome-3.21.0-pp27-pypy_73-win32.whl", hash = "sha256:4c26a2f0dc15f81ea3afa3b0c87b87e501f235d332b7f27e2225ecb80c0b1cdd"}, - {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d5ebe0763c982f069d3877832254f64974139f4f9655058452603ff559c482e8"}, - {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ee86cbde706be13f2dec5a42b52b1c1d1cbb90c8e405c68d0755134735c8dc6"}, - {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0fd54003ec3ce4e0f16c484a10bc5d8b9bd77fa662a12b85779a2d2d85d67ee0"}, - {file = "pycryptodome-3.21.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5dfafca172933506773482b0e18f0cd766fd3920bd03ec85a283df90d8a17bc6"}, - {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:590ef0898a4b0a15485b05210b4a1c9de8806d3ad3d47f74ab1dc07c67a6827f"}, - {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35e442630bc4bc2e1878482d6f59ea22e280d7121d7adeaedba58c23ab6386b"}, - {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff99f952db3db2fbe98a0b355175f93ec334ba3d01bbde25ad3a5a33abc02b58"}, - {file = "pycryptodome-3.21.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8acd7d34af70ee63f9a849f957558e49a98f8f1634f86a59d2be62bb8e93f71c"}, - {file = "pycryptodome-3.21.0.tar.gz", hash = "sha256:f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297"}, -] - -[[package]] -name = "pyflakes" -version = "2.4.0" -description = "passive checker of Python programs" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, - {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, +python-versions = ">=3.9" +files = [ + {file = "pydantic_core-2.46.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:1da3786b8018e60349680720158cc19161cc3b4bdd815beb0a321cd5ce1ad5b1"}, + {file = "pydantic_core-2.46.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc0988cb29d21bf4a9d5cf2ef970b5c0e38d8d8e107a493278c05dc6c1dda69f"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f9067c3bfadd04c55484b89c0d267981b2f3512850f6f66e1e74204a4e4ce3"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a642ac886ecf6402d9882d10c405dcf4b902abeb2972cd5fb4a48c83cd59279a"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79f561438481f28681584b89e2effb22855e2179880314bcddbf5968e935e807"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57a973eae4665352a47cf1a99b4ee864620f2fe663a217d7a8da68a1f3a5bfda"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83d002b97072a53ea150d63e0a3adfae5670cef5aa8a6e490240e482d3b22e57"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b40ddd51e7c44b28cfaef746c9d3c506d658885e0a46f9eeef2ee815cbf8e045"}, + {file = "pydantic_core-2.46.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac5ec7fb9b87f04ee839af2d53bcadea57ded7d229719f56c0ed895bff987943"}, + {file = "pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a3b11c812f61b3129c4905781a2601dfdfdea5fe1e6c1cfb696b55d14e9c054f"}, + {file = "pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:1108da631e602e5b3c38d6d04fe5bb3bfa54349e6918e3ca6cf570b2e2b2f9d4"}, + {file = "pydantic_core-2.46.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de885175515bcfa98ae618c1df7a072f13d179f81376c8007112af20567fd08a"}, + {file = "pydantic_core-2.46.3-cp310-cp310-win32.whl", hash = "sha256:d11058e3201527d41bc6b545c79187c9e4bf85e15a236a6007f0e991518882b7"}, + {file = "pydantic_core-2.46.3-cp310-cp310-win_amd64.whl", hash = "sha256:3612edf65c8ea67ac13616c4d23af12faef1ae435a8a93e5934c2a0cbbdd1fd6"}, + {file = "pydantic_core-2.46.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ab124d49d0459b2373ecf54118a45c28a1e6d4192a533fbc915e70f556feb8e5"}, + {file = "pydantic_core-2.46.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cca67d52a5c7a16aed2b3999e719c4bcf644074eac304a5d3d62dd70ae7d4b2c"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c024e08c0ba23e6fd68c771a521e9d6a792f2ebb0fa734296b36394dc30390e"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6645ce7eec4928e29a1e3b3d5c946621d105d3e79f0c9cddf07c2a9770949287"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a712c7118e6c5ea96562f7b488435172abb94a3c53c22c9efc1412264a45cbbe"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69a868ef3ff206343579021c40faf3b1edc64b1cc508ff243a28b0a514ccb050"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc7e8c32db809aa0f6ea1d6869ebc8518a65d5150fdfad8bcae6a49ae32a22e2"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:3481bd1341dc85779ee506bc8e1196a277ace359d89d28588a9468c3ecbe63fa"}, + {file = "pydantic_core-2.46.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8690eba565c6d68ffd3a8655525cbdd5246510b44a637ee2c6c03a7ebfe64d3c"}, + {file = "pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4de88889d7e88d50d40ee5b39d5dac0bcaef9ba91f7e536ac064e6b2834ecccf"}, + {file = "pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:e480080975c1ef7f780b8f99ed72337e7cc5efea2e518a20a692e8e7b278eb8b"}, + {file = "pydantic_core-2.46.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:de3a5c376f8cd94da9a1b8fd3dd1c16c7a7b216ed31dc8ce9fd7a22bf13b836e"}, + {file = "pydantic_core-2.46.3-cp311-cp311-win32.whl", hash = "sha256:fc331a5314ffddd5385b9ee9d0d2fee0b13c27e0e02dad71b1ae5d6561f51eeb"}, + {file = "pydantic_core-2.46.3-cp311-cp311-win_amd64.whl", hash = "sha256:b5b9c6cf08a8a5e502698f5e153056d12c34b8fb30317e0c5fd06f45162a6346"}, + {file = "pydantic_core-2.46.3-cp311-cp311-win_arm64.whl", hash = "sha256:5dfd51cf457482f04ec49491811a2b8fd5b843b64b11eecd2d7a1ee596ea78a6"}, + {file = "pydantic_core-2.46.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b11b59b3eee90a80a36701ddb4576d9ae31f93f05cb9e277ceaa09e6bf074a67"}, + {file = "pydantic_core-2.46.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:af8653713055ea18a3abc1537fe2ebc42f5b0bbb768d1eb79fd74eb47c0ac089"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75a519dab6d63c514f3a81053e5266c549679e4aa88f6ec57f2b7b854aceb1b0"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6cd87cb1575b1ad05ba98894c5b5c96411ef678fa2f6ed2576607095b8d9789"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f80a55484b8d843c8ada81ebf70a682f3f00a3d40e378c06cf17ecb44d280d7d"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3861f1731b90c50a3266316b9044f5c9b405eecb8e299b0a7120596334e4fe9c"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb528e295ed31570ac3dcc9bfdd6e0150bc11ce6168ac87a8082055cf1a67395"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:367508faa4973b992b271ba1494acaab36eb7e8739d1e47be5035fb1ea225396"}, + {file = "pydantic_core-2.46.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ad3c826fe523e4becf4fe39baa44286cff85ef137c729a2c5e269afbfd0905d"}, + {file = "pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ec638c5d194ef8af27db69f16c954a09797c0dc25015ad6123eb2c73a4d271ca"}, + {file = "pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:28ed528c45446062ee66edb1d33df5d88828ae167de76e773a3c7f64bd14e976"}, + {file = "pydantic_core-2.46.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aed19d0c783886d5bd86d80ae5030006b45e28464218747dcf83dabfdd092c7b"}, + {file = "pydantic_core-2.46.3-cp312-cp312-win32.whl", hash = "sha256:06d5d8820cbbdb4147578c1fe7ffcd5b83f34508cb9f9ab76e807be7db6ff0a4"}, + {file = "pydantic_core-2.46.3-cp312-cp312-win_amd64.whl", hash = "sha256:c3212fda0ee959c1dd04c60b601ec31097aaa893573a3a1abd0a47bcac2968c1"}, + {file = "pydantic_core-2.46.3-cp312-cp312-win_arm64.whl", hash = "sha256:f1f8338dd7a7f31761f1f1a3c47503a9a3b34eea3c8b01fa6ee96408affb5e72"}, + {file = "pydantic_core-2.46.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:12bc98de041458b80c86c56b24df1d23832f3e166cbaff011f25d187f5c62c37"}, + {file = "pydantic_core-2.46.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:85348b8f89d2c3508b65b16c3c33a4da22b8215138d8b996912bb1532868885f"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1105677a6df914b1fb71a81b96c8cce7726857e1717d86001f29be06a25ee6f8"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87082cd65669a33adeba5470769e9704c7cf026cc30afb9cc77fd865578ebaad"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60e5f66e12c4f5212d08522963380eaaeac5ebd795826cfd19b2dfb0c7a52b9c"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b6cdf19bf84128d5e7c37e8a73a0c5c10d51103a650ac585d42dd6ae233f2b7f"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031bb17f4885a43773c8c763089499f242aee2ea85cf17154168775dccdecf35"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:bcf2a8b2982a6673693eae7348ef3d8cf3979c1d63b54fca7c397a635cc68687"}, + {file = "pydantic_core-2.46.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28e8cf2f52d72ced402a137145923a762cbb5081e48b34312f7a0c8f55928ec3"}, + {file = "pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:17eaface65d9fc5abb940003020309c1bf7a211f5f608d7870297c367e6f9022"}, + {file = "pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:93fd339f23408a07e98950a89644f92c54d8729719a40b30c0a30bb9ebc55d23"}, + {file = "pydantic_core-2.46.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:23cbdb3aaa74dfe0837975dbf69b469753bbde8eacace524519ffdb6b6e89eb7"}, + {file = "pydantic_core-2.46.3-cp313-cp313-win32.whl", hash = "sha256:610eda2e3838f401105e6326ca304f5da1e15393ae25dacae5c5c63f2c275b13"}, + {file = "pydantic_core-2.46.3-cp313-cp313-win_amd64.whl", hash = "sha256:68cc7866ed863db34351294187f9b729964c371ba33e31c26f478471c52e1ed0"}, + {file = "pydantic_core-2.46.3-cp313-cp313-win_arm64.whl", hash = "sha256:f64b5537ac62b231572879cd08ec05600308636a5d63bcbdb15063a466977bec"}, + {file = "pydantic_core-2.46.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:afa3aa644f74e290cdede48a7b0bee37d1c35e71b05105f6b340d484af536d9b"}, + {file = "pydantic_core-2.46.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ced3310e51aa425f7f77da8bbbb5212616655bedbe82c70944320bc1dbe5e018"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e29908922ce9da1a30b4da490bd1d3d82c01dcfdf864d2a74aacee674d0bfa34"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0c9ff69140423eea8ed2d5477df3ba037f671f5e897d206d921bc9fdc39613e7"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b675ab0a0d5b1c8fdb81195dc5bcefea3f3c240871cdd7ff9a2de8aa50772eb2"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0087084960f209a9a4af50ecd1fb063d9ad3658c07bb81a7a53f452dacbfb2ba"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed42e6cc8e1b0e2b9b96e2276bad70ae625d10d6d524aed0c93de974ae029f9f"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:f1771ce258afb3e4201e67d154edbbae712a76a6081079fe247c2f53c6322c22"}, + {file = "pydantic_core-2.46.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a7610b6a5242a6c736d8ad47fd5fff87fcfe8f833b281b1c409c3d6835d9227f"}, + {file = "pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:ff5e7783bcc5476e1db448bf268f11cb257b1c276d3e89f00b5727be86dd0127"}, + {file = "pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:9d2e32edcc143bc01e95300671915d9ca052d4f745aa0a49c48d4803f8a85f2c"}, + {file = "pydantic_core-2.46.3-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6e42d83d1c6b87fa56b521479cff237e626a292f3b31b6345c15a99121b454c1"}, + {file = "pydantic_core-2.46.3-cp314-cp314-win32.whl", hash = "sha256:07bc6d2a28c3adb4f7c6ae46aa4f2d2929af127f587ed44057af50bf1ce0f505"}, + {file = "pydantic_core-2.46.3-cp314-cp314-win_amd64.whl", hash = "sha256:8940562319bc621da30714617e6a7eaa6b98c84e8c685bcdc02d7ed5e7c7c44e"}, + {file = "pydantic_core-2.46.3-cp314-cp314-win_arm64.whl", hash = "sha256:5dcbbcf4d22210ced8f837c96db941bdb078f419543472aca5d9a0bb7cddc7df"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:d0fe3dce1e836e418f912c1ad91c73357d03e556a4d286f441bf34fed2dbeecf"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9ce92e58abc722dac1bf835a6798a60b294e48eb0e625ec9fd994b932ac5feee"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03e6467f0f5ab796a486146d1b887b2dc5e5f9b3288898c1b1c3ad974e53e4a"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2798b6ba041b9d70acfb9071a2ea13c8456dd1e6a5555798e41ba7b0790e329c"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9be3e221bdc6d69abf294dcf7aff6af19c31a5cdcc8f0aa3b14be29df4bd03b1"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f13936129ce841f2a5ddf6f126fea3c43cd128807b5a59588c37cf10178c2e64"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28b5f2ef03416facccb1c6ef744c69793175fd27e44ef15669201601cf423acb"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:830d1247d77ad23852314f069e9d7ddafeec5f684baf9d7e7065ed46a049c4e6"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0793c90c1a3c74966e7975eaef3ed30ebdff3260a0f815a62a22adc17e4c01c"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d2d0aead851b66f5245ec0c4fb2612ef457f8bbafefdf65a2bf9d6bac6140f47"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:2f40e4246676beb31c5ce77c38a55ca4e465c6b38d11ea1bd935420568e0b1ab"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:cf489cf8986c543939aeee17a09c04d6ffb43bfef8ca16fcbcc5cfdcbed24dba"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-win32.whl", hash = "sha256:ffe0883b56cfc05798bf994164d2b2ff03efe2d22022a2bb080f3b626176dd56"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-win_amd64.whl", hash = "sha256:706d9d0ce9cf4593d07270d8e9f53b161f90c57d315aeec4fb4fd7a8b10240d8"}, + {file = "pydantic_core-2.46.3-cp314-cp314t-win_arm64.whl", hash = "sha256:77706aeb41df6a76568434701e0917da10692da28cb69d5fb6919ce5fdb07374"}, + {file = "pydantic_core-2.46.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:fa3eb7c2995aa443687a825bc30395c8521b7c6ec201966e55debfd1128bcceb"}, + {file = "pydantic_core-2.46.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d08782c4045f90724b44c95d35ebec0d67edb8a957a2ac81d5a8e4b8a200495"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:831eb19aa789a97356979e94c981e5667759301fb708d1c0d5adf1bc0098b873"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4335e87c7afa436a0dfa899e138d57a72f8aad542e2cf19c36fb428461caabd0"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99421e7684a60f7f3550a1d159ade5fdff1954baedb6bdd407cba6a307c9f27d"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd81f6907932ebac3abbe41378dac64b2380db1287e2aa64d8d88f78d170f51a"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f247596366f4221af52beddd65af1218797771d6989bc891a0b86ccaa019168"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:6dff8cc884679df229ebc6d8eb2321ea6f8e091bc7d4886d4dc2e0e71452843c"}, + {file = "pydantic_core-2.46.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68ef2f623dda6d5a9067ac014e406c020c780b2a358930a7e5c1b73702900720"}, + {file = "pydantic_core-2.46.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d56bdb4af1767cc15b0386b3c581fdfe659bb9ee4a4f776e92c1cd9d074000d6"}, + {file = "pydantic_core-2.46.3-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:91249bcb7c165c2fb2a2f852dbc5c91636e2e218e75d96dfdd517e4078e173dd"}, + {file = "pydantic_core-2.46.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b068543bdb707f5d935dab765d99227aa2545ef2820935f2e5dd801795c7dbd"}, + {file = "pydantic_core-2.46.3-cp39-cp39-win32.whl", hash = "sha256:dcda6583921c05a40533f982321532f2d8db29326c7b95c4026941fa5074bd79"}, + {file = "pydantic_core-2.46.3-cp39-cp39-win_amd64.whl", hash = "sha256:a35cc284c8dd7edae8a31533713b4d2467dfe7c4f1b5587dd4031f28f90d1d13"}, + {file = "pydantic_core-2.46.3-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:9715525891ed524a0a1eb6d053c74d4d4ad5017677fb00af0b7c2644a31bae46"}, + {file = "pydantic_core-2.46.3-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:9d2f400712a99a013aff420ef1eb9be077f8189a36c1e3ef87660b4e1088a874"}, + {file = "pydantic_core-2.46.3-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd2aab0e2e9dc2daf36bd2686c982535d5e7b1d930a1344a7bb6e82baab42a76"}, + {file = "pydantic_core-2.46.3-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e9d76736da5f362fabfeea6a69b13b7f2be405c6d6966f06b2f6bfff7e64531"}, + {file = "pydantic_core-2.46.3-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:b12dd51f1187c2eb489af8e20f880362db98e954b54ab792fa5d92e8bcc6b803"}, + {file = "pydantic_core-2.46.3-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f00a0961b125f1a47af7bcc17f00782e12f4cd056f83416006b30111d941dfa3"}, + {file = "pydantic_core-2.46.3-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57697d7c056aca4bbb680200f96563e841a6386ac1129370a0102592f4dddff5"}, + {file = "pydantic_core-2.46.3-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd35aa21299def8db7ef4fe5c4ff862941a9a158ca7b63d61e66fe67d30416b4"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:13afdd885f3d71280cf286b13b310ee0f7ccfefd1dbbb661514a474b726e2f25"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f91c0aff3e3ee0928edd1232c57f643a7a003e6edf1860bc3afcdc749cb513f3"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6529d1d128321a58d30afcc97b49e98836542f68dd41b33c2e972bb9e5290536"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:975c267cff4f7e7272eacbe50f6cc03ca9a3da4c4fbd66fffd89c94c1e311aa1"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2b8e4f2bbdf71415c544b4b1138b8060db7b6611bc927e8064c769f64bed651c"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e61ea8e9fff9606d09178f577ff8ccdd7206ff73d6552bcec18e1033c4254b85"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b504bda01bafc69b6d3c7a0c7f039dcf60f47fab70e06fe23f57b5c75bdc82b8"}, + {file = "pydantic_core-2.46.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:b00b76f7142fc60c762ce579bd29c8fa44aaa56592dd3c54fab3928d0d4ca6ff"}, + {file = "pydantic_core-2.46.3.tar.gz", hash = "sha256:41c178f65b8c29807239d47e6050262eb6bf84eb695e41101e62e38df4a5bc2c"}, ] +[package.dependencies] +typing-extensions = ">=4.14.1" + [[package]] name = "pygments" -version = "2.18.0" +version = "2.20.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, + {file = "pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176"}, + {file = "pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f"}, ] [package.extras] @@ -2197,77 +2583,80 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pytest" -version = "8.3.4" +version = "8.4.2" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, + {file = "pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"}, + {file = "pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01"}, ] [package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" +colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1", markers = "python_version < \"3.11\""} +iniconfig = ">=1" +packaging = ">=20" pluggy = ">=1.5,<2" +pygments = ">=2.7.2" tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-aioresponses" -version = "0.2.0" +version = "0.3.0" description = "py.test integration for aioresponses" optional = false -python-versions = ">=3.6,<4.0" +python-versions = "<4.0,>=3.6" files = [ - {file = "pytest-aioresponses-0.2.0.tar.gz", hash = "sha256:61cced206857cb4e7aab10b61600527f505c358d046e7d3ad3ae09455d02d937"}, - {file = "pytest_aioresponses-0.2.0-py3-none-any.whl", hash = "sha256:1a78d1eb76e1bffe7adc83a1bad0d48c373b41289367ae1f5e7ec0fceb60a04d"}, + {file = "pytest_aioresponses-0.3.0-py3-none-any.whl", hash = "sha256:60f3124ff05a0210a5f369dd95e4cf66090774ba76b322f7178858ce4e6c1647"}, + {file = "pytest_aioresponses-0.3.0.tar.gz", hash = "sha256:5677b32dfa1a36908b347524b5867aab35ac1c5ce1d4970244d6f66009bca7b6"}, ] [package.dependencies] aioresponses = ">=0.7.1,<0.8.0" pytest = ">=3.5.0" -pytest-asyncio = ">=0.14.0" [[package]] name = "pytest-asyncio" -version = "0.24.0" +version = "1.3.0" description = "Pytest support for asyncio" optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b"}, - {file = "pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276"}, + {file = "pytest_asyncio-1.3.0-py3-none-any.whl", hash = "sha256:611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5"}, + {file = "pytest_asyncio-1.3.0.tar.gz", hash = "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5"}, ] [package.dependencies] -pytest = ">=8.2,<9" +backports-asyncio-runner = {version = ">=1.1,<2", markers = "python_version < \"3.11\""} +pytest = ">=8.2,<10" +typing-extensions = {version = ">=4.12", markers = "python_version < \"3.13\""} [package.extras] -docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] +docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1)"] testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "pytest-cov" -version = "4.1.0" +version = "7.1.0" description = "Pytest plugin for measuring coverage." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"}, - {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"}, + {file = "pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678"}, + {file = "pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2"}, ] [package.dependencies] -coverage = {version = ">=5.2.1", extras = ["toml"]} -pytest = ">=4.6" +coverage = {version = ">=7.10.6", extras = ["toml"]} +pluggy = ">=1.2" +pytest = ">=7" [package.extras] -testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] +testing = ["process-tests", "pytest-xdist", "virtualenv"] [[package]] name = "pytest-grpc" @@ -2283,258 +2672,358 @@ files = [ [package.dependencies] pytest = ">=3.6.0" +[[package]] +name = "python-discovery" +version = "1.2.2" +description = "Python interpreter discovery" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python_discovery-1.2.2-py3-none-any.whl", hash = "sha256:e1ae95d9af875e78f15e19aed0c6137ab1bb49c200f21f5061786490c9585c7a"}, + {file = "python_discovery-1.2.2.tar.gz", hash = "sha256:876e9c57139eb757cb5878cbdd9ae5379e5d96266c99ef731119e04fffe533bb"}, +] + +[package.dependencies] +filelock = ">=3.15.4" +platformdirs = ">=4.3.6,<5" + +[package.extras] +docs = ["furo (>=2025.12.19)", "sphinx (>=9.1)", "sphinx-autodoc-typehints (>=3.6.3)", "sphinxcontrib-mermaid (>=2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.5.4)", "pytest (>=8.3.5)", "pytest-mock (>=3.14)", "setuptools (>=75.1)"] + [[package]] name = "python-dotenv" -version = "1.0.1" +version = "1.2.2" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, + {file = "python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a"}, + {file = "python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3"}, ] [package.extras] cli = ["click (>=5.0)"] +[[package]] +name = "pytokens" +version = "0.4.1" +description = "A Fast, spec compliant Python 3.14+ tokenizer that runs on older Pythons." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytokens-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a44ed93ea23415c54f3face3b65ef2b844d96aeb3455b8a69b3df6beab6acc5"}, + {file = "pytokens-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:add8bf86b71a5d9fb5b89f023a80b791e04fba57960aa790cc6125f7f1d39dfe"}, + {file = "pytokens-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:670d286910b531c7b7e3c0b453fd8156f250adb140146d234a82219459b9640c"}, + {file = "pytokens-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4e691d7f5186bd2842c14813f79f8884bb03f5995f0575272009982c5ac6c0f7"}, + {file = "pytokens-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:27b83ad28825978742beef057bfe406ad6ed524b2d28c252c5de7b4a6dd48fa2"}, + {file = "pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440"}, + {file = "pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc"}, + {file = "pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d"}, + {file = "pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16"}, + {file = "pytokens-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6"}, + {file = "pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083"}, + {file = "pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1"}, + {file = "pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1"}, + {file = "pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9"}, + {file = "pytokens-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68"}, + {file = "pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8bdb9d0ce90cbf99c525e75a2fa415144fd570a1ba987380190e8b786bc6ef9b"}, + {file = "pytokens-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5502408cab1cb18e128570f8d598981c68a50d0cbd7c61312a90507cd3a1276f"}, + {file = "pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29d1d8fb1030af4d231789959f21821ab6325e463f0503a61d204343c9b355d1"}, + {file = "pytokens-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b08dd6b86058b6dc07efe9e98414f5102974716232d10f32ff39701e841c4"}, + {file = "pytokens-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:9bd7d7f544d362576be74f9d5901a22f317efc20046efe2034dced238cbbfe78"}, + {file = "pytokens-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4a14d5f5fc78ce85e426aa159489e2d5961acf0e47575e08f35584009178e321"}, + {file = "pytokens-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f50fd18543be72da51dd505e2ed20d2228c74e0464e4262e4899797803d7fa"}, + {file = "pytokens-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc74c035f9bfca0255c1af77ddd2d6ae8419012805453e4b0e7513e17904545d"}, + {file = "pytokens-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f66a6bbe741bd431f6d741e617e0f39ec7257ca1f89089593479347cc4d13324"}, + {file = "pytokens-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:b35d7e5ad269804f6697727702da3c517bb8a5228afa450ab0fa787732055fc9"}, + {file = "pytokens-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8fcb9ba3709ff77e77f1c7022ff11d13553f3c30299a9fe246a166903e9091eb"}, + {file = "pytokens-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79fc6b8699564e1f9b521582c35435f1bd32dd06822322ec44afdeba666d8cb3"}, + {file = "pytokens-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d31b97b3de0f61571a124a00ffe9a81fb9939146c122c11060725bd5aea79975"}, + {file = "pytokens-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:967cf6e3fd4adf7de8fc73cd3043754ae79c36475c1c11d514fc72cf5490094a"}, + {file = "pytokens-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:584c80c24b078eec1e227079d56dc22ff755e0ba8654d8383b2c549107528918"}, + {file = "pytokens-0.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:da5baeaf7116dced9c6bb76dc31ba04a2dc3695f3d9f74741d7910122b456edc"}, + {file = "pytokens-0.4.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11edda0942da80ff58c4408407616a310adecae1ddd22eef8c692fe266fa5009"}, + {file = "pytokens-0.4.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0fc71786e629cef478cbf29d7ea1923299181d0699dbe7c3c0f4a583811d9fc1"}, + {file = "pytokens-0.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dcafc12c30dbaf1e2af0490978352e0c4041a7cde31f4f81435c2a5e8b9cabb6"}, + {file = "pytokens-0.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:42f144f3aafa5d92bad964d471a581651e28b24434d184871bd02e3a0d956037"}, + {file = "pytokens-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34bcc734bd2f2d5fe3b34e7b3c0116bfb2397f2d9666139988e7a3eb5f7400e3"}, + {file = "pytokens-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941d4343bf27b605e9213b26bfa1c4bf197c9c599a9627eb7305b0defcfe40c1"}, + {file = "pytokens-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ad72b851e781478366288743198101e5eb34a414f1d5627cdd585ca3b25f1db"}, + {file = "pytokens-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:682fa37ff4d8e95f7df6fe6fe6a431e8ed8e788023c6bcc0f0880a12eab80ad1"}, + {file = "pytokens-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:30f51edd9bb7f85c748979384165601d028b84f7bd13fe14d3e065304093916a"}, + {file = "pytokens-0.4.1-py3-none-any.whl", hash = "sha256:26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de"}, + {file = "pytokens-0.4.1.tar.gz", hash = "sha256:292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a"}, +] + +[package.extras] +dev = ["black", "build", "mypy", "pytest", "pytest-cov", "setuptools", "tox", "twine", "wheel"] + [[package]] name = "pyunormalize" -version = "16.0.0" -description = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent of the Python core Unicode database." +version = "17.0.0" +description = "A library for Unicode normalization (NFC, NFD, NFKC, NFKD) independent of Python's core Unicode database." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152"}, - {file = "pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7"}, + {file = "pyunormalize-17.0.0-py3-none-any.whl", hash = "sha256:f0d93b076f938db2b26d319d04f2b58505d1cd7a80b5b72badbe7d1aa4d2a31c"}, + {file = "pyunormalize-17.0.0.tar.gz", hash = "sha256:0949a3e56817e287febcaf1b0cc4b5adf0bb107628d379335938040947eec792"}, ] [[package]] name = "pywin32" -version = "308" +version = "311" description = "Python for Window Extensions" optional = false python-versions = "*" files = [ - {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, - {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, - {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, - {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, - {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, - {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, - {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, - {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, - {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, - {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, - {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, - {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, - {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, - {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, - {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, - {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, - {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, - {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, + {file = "pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3"}, + {file = "pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b"}, + {file = "pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b"}, + {file = "pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151"}, + {file = "pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503"}, + {file = "pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2"}, + {file = "pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31"}, + {file = "pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067"}, + {file = "pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852"}, + {file = "pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d"}, + {file = "pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d"}, + {file = "pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a"}, + {file = "pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee"}, + {file = "pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87"}, + {file = "pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42"}, + {file = "pywin32-311-cp38-cp38-win32.whl", hash = "sha256:6c6f2969607b5023b0d9ce2541f8d2cbb01c4f46bc87456017cf63b73f1e2d8c"}, + {file = "pywin32-311-cp38-cp38-win_amd64.whl", hash = "sha256:c8015b09fb9a5e188f83b7b04de91ddca4658cee2ae6f3bc483f0b21a77ef6cd"}, + {file = "pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b"}, + {file = "pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91"}, + {file = "pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d"}, ] [[package]] name = "pyyaml" -version = "6.0.2" +version = "6.0.3" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "referencing" -version = "0.35.1" -description = "JSON Referencing + Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "PyYAML-6.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f"}, + {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4"}, + {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3"}, + {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6"}, + {file = "PyYAML-6.0.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369"}, + {file = "PyYAML-6.0.3-cp38-cp38-win32.whl", hash = "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295"}, + {file = "PyYAML-6.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b"}, + {file = "pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b"}, + {file = "pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956"}, + {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8"}, + {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198"}, + {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b"}, + {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0"}, + {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69"}, + {file = "pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e"}, + {file = "pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c"}, + {file = "pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e"}, + {file = "pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824"}, + {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c"}, + {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00"}, + {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d"}, + {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a"}, + {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4"}, + {file = "pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b"}, + {file = "pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf"}, + {file = "pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196"}, + {file = "pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0"}, + {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28"}, + {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c"}, + {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc"}, + {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e"}, + {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea"}, + {file = "pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5"}, + {file = "pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b"}, + {file = "pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd"}, + {file = "pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8"}, + {file = "pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1"}, + {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c"}, + {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5"}, + {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6"}, + {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6"}, + {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be"}, + {file = "pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26"}, + {file = "pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c"}, + {file = "pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb"}, + {file = "pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac"}, + {file = "pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310"}, + {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7"}, + {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788"}, + {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5"}, + {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764"}, + {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35"}, + {file = "pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac"}, + {file = "pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3"}, + {file = "pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3"}, + {file = "pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba"}, + {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c"}, + {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702"}, + {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c"}, + {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065"}, + {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65"}, + {file = "pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9"}, + {file = "pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b"}, + {file = "pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da"}, + {file = "pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917"}, + {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9"}, + {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5"}, + {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a"}, + {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926"}, + {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7"}, + {file = "pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0"}, + {file = "pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007"}, + {file = "pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"}, ] -[package.dependencies] -attrs = ">=22.2.0" -rpds-py = ">=0.7.0" - [[package]] name = "regex" -version = "2024.11.6" +version = "2026.4.4" description = "Alternative regular expression module, to replace re." optional = false -python-versions = ">=3.8" -files = [ - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, - {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, - {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, - {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, - {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, - {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, - {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, - {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, - {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, - {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, - {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, - {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, - {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, - {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, +python-versions = ">=3.10" +files = [ + {file = "regex-2026.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:74fa82dcc8143386c7c0392e18032009d1db715c25f4ba22d23dc2e04d02a20f"}, + {file = "regex-2026.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a85b620a388d6c9caa12189233109e236b3da3deffe4ff11b84ae84e218a274f"}, + {file = "regex-2026.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2895506ebe32cc63eeed8f80e6eae453171cfccccab35b70dc3129abec35a5b8"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6780f008ee81381c737634e75c24e5a6569cc883c4f8e37a37917ee79efcafd9"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:88e9b048345c613f253bea4645b2fe7e579782b82cac99b1daad81e29cc2ed8e"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:be061028481186ba62a0f4c5f1cc1e3d5ab8bce70c89236ebe01023883bc903b"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2228c02b368d69b724c36e96d3d1da721561fb9cc7faa373d7bf65e07d75cb5"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0540e5b733618a2f84e9cb3e812c8afa82e151ca8e19cf6c4e95c5a65198236f"}, + {file = "regex-2026.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cf9b1b2e692d4877880388934ac746c99552ce6bf40792a767fd42c8c99f136d"}, + {file = "regex-2026.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:011bb48bffc1b46553ac704c975b3348717f4e4aa7a67522b51906f99da1820c"}, + {file = "regex-2026.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8512fcdb43f1bf18582698a478b5ab73f9c1667a5b7548761329ef410cd0a760"}, + {file = "regex-2026.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:867bddc63109a0276f5a31999e4c8e0eb7bbbad7d6166e28d969a2c1afeb97f9"}, + {file = "regex-2026.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1b9a00b83f3a40e09859c78920571dcb83293c8004079653dd22ec14bbfa98c7"}, + {file = "regex-2026.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e355be718caf838aa089870259cf1776dc2a4aa980514af9d02c59544d9a8b22"}, + {file = "regex-2026.4.4-cp310-cp310-win32.whl", hash = "sha256:33bfda9684646d323414df7abe5692c61d297dbb0530b28ec66442e768813c59"}, + {file = "regex-2026.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:0709f22a56798457ae317bcce42aacee33c680068a8f14097430d9f9ba364bee"}, + {file = "regex-2026.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:ee9627de8587c1a22201cb16d0296ab92b4df5cdcb5349f4e9744d61db7c7c98"}, + {file = "regex-2026.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4c36a85b00fadb85db9d9e90144af0a980e1a3d2ef9cd0f8a5bef88054657c6"}, + {file = "regex-2026.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dcb5453ecf9cd58b562967badd1edbf092b0588a3af9e32ee3d05c985077ce87"}, + {file = "regex-2026.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6aa809ed4dc3706cc38594d67e641601bd2f36d5555b2780ff074edfcb136cf8"}, + {file = "regex-2026.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33424f5188a7db12958246a54f59a435b6cb62c5cf9c8d71f7cc49475a5fdada"}, + {file = "regex-2026.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d346fccdde28abba117cc9edc696b9518c3307fbfcb689e549d9b5979018c6d"}, + {file = "regex-2026.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:415a994b536440f5011aa77e50a4274d15da3245e876e5c7f19da349caaedd87"}, + {file = "regex-2026.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21e5eb86179b4c67b5759d452ea7c48eb135cd93308e7a260aa489ed2eb423a4"}, + {file = "regex-2026.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:312ec9dd1ae7d96abd8c5a36a552b2139931914407d26fba723f9e53c8186f86"}, + {file = "regex-2026.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0d2b28aa1354c7cd7f71b7658c4326f7facac106edd7f40eda984424229fd59"}, + {file = "regex-2026.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:349d7310eddff40429a099c08d995c6d4a4bfaf3ff40bd3b5e5cb5a5a3c7d453"}, + {file = "regex-2026.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:e7ab63e9fe45a9ec3417509e18116b367e89c9ceb6219222a3396fa30b147f80"}, + {file = "regex-2026.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fe896e07a5a2462308297e515c0054e9ec2dd18dfdc9427b19900b37dfe6f40b"}, + {file = "regex-2026.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eb59c65069498dbae3c0ef07bbe224e1eaa079825a437fb47a479f0af11f774f"}, + {file = "regex-2026.4.4-cp311-cp311-win32.whl", hash = "sha256:2a5d273181b560ef8397c8825f2b9d57013de744da9e8257b8467e5da8599351"}, + {file = "regex-2026.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:9542ccc1e689e752594309444081582f7be2fdb2df75acafea8a075108566735"}, + {file = "regex-2026.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:b5f9fb784824a042be3455b53d0b112655686fdb7a91f88f095f3fee1e2a2a54"}, + {file = "regex-2026.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c07ab8794fa929e58d97a0e1796b8b76f70943fa39df225ac9964615cf1f9d52"}, + {file = "regex-2026.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2c785939dc023a1ce4ec09599c032cc9933d258a998d16ca6f2b596c010940eb"}, + {file = "regex-2026.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b1ce5c81c9114f1ce2f9288a51a8fd3aeea33a0cc440c415bf02da323aa0a76"}, + {file = "regex-2026.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:760ef21c17d8e6a4fe8cf406a97cf2806a4df93416ccc82fc98d25b1c20425be"}, + {file = "regex-2026.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7088fcdcb604a4417c208e2169715800d28838fefd7455fbe40416231d1d47c1"}, + {file = "regex-2026.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:07edca1ba687998968f7db5bc355288d0c6505caa7374f013d27356d93976d13"}, + {file = "regex-2026.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993f657a7c1c6ec51b5e0ba97c9817d06b84ea5fa8d82e43b9405de0defdc2b9"}, + {file = "regex-2026.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2b69102a743e7569ebee67e634a69c4cb7e59d6fa2e1aa7d3bdbf3f61435f62d"}, + {file = "regex-2026.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dac006c8b6dda72d86ea3d1333d45147de79a3a3f26f10c1cf9287ca4ca0ac3"}, + {file = "regex-2026.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:50a766ee2010d504554bfb5f578ed2e066898aa26411d57e6296230627cdefa0"}, + {file = "regex-2026.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9e2f5217648f68e3028c823df58663587c1507a5ba8419f4fdfc8a461be76043"}, + {file = "regex-2026.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:39d8de85a08e32632974151ba59c6e9140646dcc36c80423962b1c5c0a92e244"}, + {file = "regex-2026.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55d9304e0e7178dfb1e106c33edf834097ddf4a890e2f676f6c5118f84390f73"}, + {file = "regex-2026.4.4-cp312-cp312-win32.whl", hash = "sha256:04bb679bc0bde8a7bfb71e991493d47314e7b98380b083df2447cda4b6edb60f"}, + {file = "regex-2026.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:db0ac18435a40a2543dbb3d21e161a6c78e33e8159bd2e009343d224bb03bb1b"}, + {file = "regex-2026.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:4ce255cc05c1947a12989c6db801c96461947adb7a59990f1360b5983fab4983"}, + {file = "regex-2026.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:62f5519042c101762509b1d717b45a69c0139d60414b3c604b81328c01bd1943"}, + {file = "regex-2026.4.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3790ba9fb5dd76715a7afe34dbe603ba03f8820764b1dc929dd08106214ed031"}, + {file = "regex-2026.4.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8fae3c6e795d7678963f2170152b0d892cf6aee9ee8afc8c45e6be38d5107fe7"}, + {file = "regex-2026.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:298c3ec2d53225b3bf91142eb9691025bab610e0c0c51592dde149db679b3d17"}, + {file = "regex-2026.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e9638791082eaf5b3ac112c587518ee78e083a11c4b28012d8fe2a0f536dfb17"}, + {file = "regex-2026.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ae3e764bd4c5ff55035dc82a8d49acceb42a5298edf6eb2fc4d328ee5dd7afae"}, + {file = "regex-2026.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ffa81f81b80047ba89a3c69ae6a0f78d06f4a42ce5126b0eb2a0a10ad44e0b2e"}, + {file = "regex-2026.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f56ebf9d70305307a707911b88469213630aba821e77de7d603f9d2f0730687d"}, + {file = "regex-2026.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:773d1dfd652bbffb09336abf890bfd64785c7463716bf766d0eb3bc19c8b7f27"}, + {file = "regex-2026.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d51d20befd5275d092cdffba57ded05f3c436317ee56466c8928ac32d960edaf"}, + {file = "regex-2026.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:0a51cdb3c1e9161154f976cb2bef9894bc063ac82f31b733087ffb8e880137d0"}, + {file = "regex-2026.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ae5266a82596114e41fb5302140e9630204c1b5f325c770bec654b95dd54b0aa"}, + {file = "regex-2026.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c882cd92ec68585e9c1cf36c447ec846c0d94edd706fe59e0c198e65822fd23b"}, + {file = "regex-2026.4.4-cp313-cp313-win32.whl", hash = "sha256:05568c4fbf3cb4fa9e28e3af198c40d3237cf6041608a9022285fe567ec3ad62"}, + {file = "regex-2026.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:3384df51ed52db0bea967e21458ab0a414f67cdddfd94401688274e55147bb81"}, + {file = "regex-2026.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:acd38177bd2c8e69a411d6521760806042e244d0ef94e2dd03ecdaa8a3c99427"}, + {file = "regex-2026.4.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f94a11a9d05afcfcfa640e096319720a19cc0c9f7768e1a61fceee6a3afc6c7c"}, + {file = "regex-2026.4.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:36bcb9d6d1307ab629edc553775baada2aefa5c50ccc0215fbfd2afcfff43141"}, + {file = "regex-2026.4.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:261c015b3e2ed0919157046d768774ecde57f03d8fa4ba78d29793447f70e717"}, + {file = "regex-2026.4.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c228cf65b4a54583763645dcd73819b3b381ca8b4bb1b349dee1c135f4112c07"}, + {file = "regex-2026.4.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd2630faeb6876fb0c287f664d93ddce4d50cd46c6e88e60378c05c9047e08ca"}, + {file = "regex-2026.4.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a50ab11b7779b849472337191f3a043e27e17f71555f98d0092fa6d73364520"}, + {file = "regex-2026.4.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0734f63afe785138549fbe822a8cfeaccd1bae814c5057cc0ed5b9f2de4fc883"}, + {file = "regex-2026.4.4-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c4ee50606cb1967db7e523224e05f32089101945f859928e65657a2cbb3d278b"}, + {file = "regex-2026.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6c1818f37be3ca02dcb76d63f2c7aaba4b0dc171b579796c6fbe00148dfec6b1"}, + {file = "regex-2026.4.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f5bfc2741d150d0be3e4a0401a5c22b06e60acb9aa4daa46d9e79a6dcd0f135b"}, + {file = "regex-2026.4.4-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:504ffa8a03609a087cad81277a629b6ce884b51a24bd388a7980ad61748618ff"}, + {file = "regex-2026.4.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:70aadc6ff12e4b444586e57fc30771f86253f9f0045b29016b9605b4be5f7dfb"}, + {file = "regex-2026.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f4f83781191007b6ef43b03debc35435f10cad9b96e16d147efe84a1d48bdde4"}, + {file = "regex-2026.4.4-cp313-cp313t-win32.whl", hash = "sha256:e014a797de43d1847df957c0a2a8e861d1c17547ee08467d1db2c370b7568baa"}, + {file = "regex-2026.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:b15b88b0d52b179712632832c1d6e58e5774f93717849a41096880442da41ab0"}, + {file = "regex-2026.4.4-cp313-cp313t-win_arm64.whl", hash = "sha256:586b89cdadf7d67bf86ae3342a4dcd2b8d70a832d90c18a0ae955105caf34dbe"}, + {file = "regex-2026.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:2da82d643fa698e5e5210e54af90181603d5853cf469f5eedf9bfc8f59b4b8c7"}, + {file = "regex-2026.4.4-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:54a1189ad9d9357760557c91103d5e421f0a2dabe68a5cdf9103d0dcf4e00752"}, + {file = "regex-2026.4.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:76d67d5afb1fe402d10a6403bae668d000441e2ab115191a804287d53b772951"}, + {file = "regex-2026.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e7cd3e4ee8d80447a83bbc9ab0c8459781fa77087f856c3e740d7763be0df27f"}, + {file = "regex-2026.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e19e18c568d2866d8b6a6dfad823db86193503f90823a8f66689315ba28fbe8"}, + {file = "regex-2026.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7698a6f38730fd1385d390d1ed07bb13dce39aa616aca6a6d89bea178464b9a4"}, + {file = "regex-2026.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:173a66f3651cdb761018078e2d9487f4cf971232c990035ec0eb1cdc6bf929a9"}, + {file = "regex-2026.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa7922bbb2cc84fa062d37723f199d4c0cd200245ce269c05db82d904db66b83"}, + {file = "regex-2026.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:59f67cd0a0acaf0e564c20bbd7f767286f23e91e2572c5703bf3e56ea7557edb"}, + {file = "regex-2026.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:475e50f3f73f73614f7cba5524d6de49dee269df00272a1b85e3d19f6d498465"}, + {file = "regex-2026.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:a1c0c7d67b64d85ac2e1879923bad2f08a08f3004055f2f406ef73c850114bd4"}, + {file = "regex-2026.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:1371c2ccbb744d66ee63631cc9ca12aa233d5749972626b68fe1a649dd98e566"}, + {file = "regex-2026.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:59968142787042db793348a3f5b918cf24ced1f23247328530e063f89c128a95"}, + {file = "regex-2026.4.4-cp314-cp314-win32.whl", hash = "sha256:59efe72d37fd5a91e373e5146f187f921f365f4abc1249a5ab446a60f30dd5f8"}, + {file = "regex-2026.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:e0aab3ff447845049d676827d2ff714aab4f73f340e155b7de7458cf53baa5a4"}, + {file = "regex-2026.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:a7a5bb6aa0cf62208bb4fa079b0c756734f8ad0e333b425732e8609bd51ee22f"}, + {file = "regex-2026.4.4-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:97850d0638391bdc7d35dc1c1039974dcb921eaafa8cc935ae4d7f272b1d60b3"}, + {file = "regex-2026.4.4-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ee7337f88f2a580679f7bbfe69dc86c043954f9f9c541012f49abc554a962f2e"}, + {file = "regex-2026.4.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7429f4e6192c11d659900c0648ba8776243bf396ab95558b8c51a345afeddde6"}, + {file = "regex-2026.4.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4f10fbd5dd13dcf4265b4cc07d69ca70280742870c97ae10093e3d66000359"}, + {file = "regex-2026.4.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a152560af4f9742b96f3827090f866eeec5becd4765c8e0d3473d9d280e76a5a"}, + {file = "regex-2026.4.4-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54170b3e95339f415d54651f97df3bff7434a663912f9358237941bbf9143f55"}, + {file = "regex-2026.4.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:07f190d65f5a72dcb9cf7106bfc3d21e7a49dd2879eda2207b683f32165e4d99"}, + {file = "regex-2026.4.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9a2741ce5a29d3c84b0b94261ba630ab459a1b847a0d6beca7d62d188175c790"}, + {file = "regex-2026.4.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b26c30df3a28fd9793113dac7385a4deb7294a06c0f760dd2b008bd49a9139bc"}, + {file = "regex-2026.4.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:421439d1bee44b19f4583ccf42670ca464ffb90e9fdc38d37f39d1ddd1e44f1f"}, + {file = "regex-2026.4.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:b40379b53ecbc747fd9bdf4a0ea14eb8188ca1bd0f54f78893a39024b28f4863"}, + {file = "regex-2026.4.4-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:08c55c13d2eef54f73eeadc33146fb0baaa49e7335eb1aff6ae1324bf0ddbe4a"}, + {file = "regex-2026.4.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9776b85f510062f5a75ef112afe5f494ef1635607bf1cc220c1391e9ac2f5e81"}, + {file = "regex-2026.4.4-cp314-cp314t-win32.whl", hash = "sha256:385edaebde5db5be103577afc8699fea73a0e36a734ba24870be7ffa61119d74"}, + {file = "regex-2026.4.4-cp314-cp314t-win_amd64.whl", hash = "sha256:5d354b18839328927832e2fa5f7c95b7a3ccc39e7a681529e1685898e6436d45"}, + {file = "regex-2026.4.4-cp314-cp314t-win_arm64.whl", hash = "sha256:af0384cb01a33600c49505c27c6c57ab0b27bf84a74e28524c92ca897ebdac9d"}, + {file = "regex-2026.4.4.tar.gz", hash = "sha256:e08270659717f6973523ce3afbafa53515c4dc5dcad637dc215b6fd50f689423"}, ] [[package]] name = "requests" -version = "2.32.3" +version = "2.33.1" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, + {file = "requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a"}, + {file = "requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517"}, ] [package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" +certifi = ">=2023.5.7" +charset_normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" +urllib3 = ">=1.26,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<8)"] [[package]] name = "requests-mock" @@ -2555,165 +3044,90 @@ fixture = ["fixtures"] [[package]] name = "rlp" -version = "4.0.1" +version = "4.1.0" description = "rlp: A package for Recursive Length Prefix encoding and decoding" optional = false python-versions = "<4,>=3.8" files = [ - {file = "rlp-4.0.1-py3-none-any.whl", hash = "sha256:ff6846c3c27b97ee0492373aa074a7c3046aadd973320f4fffa7ac45564b0258"}, - {file = "rlp-4.0.1.tar.gz", hash = "sha256:bcefb11013dfadf8902642337923bd0c786dc8a27cb4c21da6e154e52869ecb1"}, + {file = "rlp-4.1.0-py3-none-any.whl", hash = "sha256:8eca394c579bad34ee0b937aecb96a57052ff3716e19c7a578883e767bc5da6f"}, + {file = "rlp-4.1.0.tar.gz", hash = "sha256:be07564270a96f3e225e2c107db263de96b5bc1f27722d2855bd3459a08e95a9"}, ] [package.dependencies] eth-utils = ">=2" [package.extras] -dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "hypothesis (==5.19.0)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +dev = ["build (>=0.9.0)", "bump_my_version (>=0.19.0)", "hypothesis (>=6.22.0,<6.108.7)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx_rtd_theme (>=1.0.0)", "towncrier (>=24,<25)"] rust-backend = ["rusty-rlp (>=0.2.1)"] -test = ["hypothesis (==5.19.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] +test = ["hypothesis (>=6.22.0,<6.108.7)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] -name = "rpds-py" -version = "0.22.3" -description = "Python bindings to Rust's persistent data structures (rpds)" +name = "ruff" +version = "0.15.12" +description = "An extremely fast Python linter and code formatter, written in Rust." optional = false -python-versions = ">=3.9" +python-versions = ">=3.7" files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, - {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, - {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, + {file = "ruff-0.15.12-py3-none-linux_armv6l.whl", hash = "sha256:f86f176e188e94d6bdbc09f09bfd9dc729059ad93d0e7390b5a73efe19f8861c"}, + {file = "ruff-0.15.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e3bcd123364c3770b8e1b7baaf343cc99a35f197c5c6e8af79015c666c423a6c"}, + {file = "ruff-0.15.12-py3-none-macosx_11_0_arm64.whl", hash = "sha256:fe87510d000220aa1ed530d4448a7c696a0cae1213e5ec30e5874287b66557b5"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84a1630093121375a3e2a95b4a6dc7b59e2b4ee76216e32d81aae550a832d002"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fb129f40f114f089ebe0ca56c0d251cf2061b17651d464bb6478dc01e69f11f5"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0c862b172d695db7598426b8af465e7e9ac00a3ea2a3630ee67eb82e366aaa6"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2849ea9f3484c3aca43a82f484210370319e7170df4dfe4843395ddf6c57bc33"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e77c7e51c07fe396826d5969a5b846d9cd4c402535835fb6e21ce8b28fef847"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b2f4f2f3b1026b5fb449b467d9264bf22067b600f7b6f41fc5958909f449d0"}, + {file = "ruff-0.15.12-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:9ba3b8f1afd7e2e43d8943e55f249e13f9682fde09711644a6e7290eb4f3e339"}, + {file = "ruff-0.15.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e852ba9fdc890655e1d78f2df1499efbe0e54126bd405362154a75e2bde159c5"}, + {file = "ruff-0.15.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dd8aed930da53780d22fc70bdf84452c843cf64f8cb4eb38984319c24c5cd5fd"}, + {file = "ruff-0.15.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:01da3988d225628b709493d7dc67c3b9b12c0210016b08690ef9bd27970b262b"}, + {file = "ruff-0.15.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:9cae0f92bd5700d1213188b31cd3bdd2b315361296d10b96b8e2337d3d11f53e"}, + {file = "ruff-0.15.12-py3-none-win32.whl", hash = "sha256:d0185894e038d7043ba8fd6aee7499ece6462dc0ea9f1e260c7451807c714c20"}, + {file = "ruff-0.15.12-py3-none-win_amd64.whl", hash = "sha256:c87a162d61ab3adca47c03f7f717c68672edec7d1b5499e652331780fe74950d"}, + {file = "ruff-0.15.12-py3-none-win_arm64.whl", hash = "sha256:a538f7a82d061cee7be55542aca1d86d1393d55d81d4fcc314370f4340930d4f"}, + {file = "ruff-0.15.12.tar.gz", hash = "sha256:ecea26adb26b4232c0c2ca19ccbc0083a68344180bba2a600605538ce51a40a6"}, ] [[package]] name = "safe-pysha3" -version = "1.0.4" -description = "SHA-3 (Keccak) for Python 3.9 - 3.11" +version = "1.0.5" +description = "SHA-3 (Keccak) for Python 3.9 - 3.13" optional = false python-versions = "*" files = [ - {file = "safe-pysha3-1.0.4.tar.gz", hash = "sha256:e429146b1edd198b2ca934a2046a65656c5d31b0ec894bbd6055127f4deaff17"}, + {file = "safe_pysha3-1.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3d15b9b8e25c47dcf68857660b48c7bfb540b8aaaa4158651402f19ef047dff7"}, + {file = "safe_pysha3-1.0.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dbdc2f048fa48b660d26eb6eb897eec4e250d01219ae20cf5b1f8f8682194a41"}, + {file = "safe_pysha3-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4505f4b3ce327a8b02299e48b55c32094ed15c63f83e8d9477ebe91e8777fc8f"}, + {file = "safe_pysha3-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4048005b764861f36eed98a83fb04268c972b6100fe530303999ff6fce744e64"}, + {file = "safe_pysha3-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d137a73029c6c5a1db5791ae9fa62373827eee5226d19b79b836a6cf48b6b197"}, + {file = "safe_pysha3-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0cb37252a8767992f354d7d2af2ef04730032927eb6af2057e71744c741287"}, + {file = "safe_pysha3-1.0.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2019065f1b7d3db37cc52d091c9d5526d5d36a3e1b9efcf0b345c24e03755bff"}, + {file = "safe_pysha3-1.0.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa37d5d6138d5dd01d1035dba019b7525ad7c55669ded4524f589cddd13ea13b"}, + {file = "safe_pysha3-1.0.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457ac10024e74aaaeeb373a6601ed06dff2b28ea66061ee8029a2a496703c6f7"}, + {file = "safe_pysha3-1.0.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c8659d086c981eab422fe957bc6476cefdf6e93efed5599a3826d78f1a60f789"}, + {file = "safe_pysha3-1.0.5.tar.gz", hash = "sha256:88ceaad6af4b6bdecd2f54b31ad0e5e5e210d4f5ecabb1bd1fd3539ad61b7bf1"}, ] [[package]] name = "setuptools" -version = "75.6.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" +version = "82.0.1" +description = "Most extensible Python build backend with support for C/C++ extension modules" optional = false python-versions = ">=3.9" files = [ - {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, - {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, + {file = "setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb"}, + {file = "setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] -core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.13.0)"] +core = ["importlib_metadata (>=6)", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.18.*)", "pytest-mypy"] [[package]] name = "six" @@ -2726,346 +3140,393 @@ files = [ {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] - [[package]] name = "tomli" -version = "2.2.1" +version = "2.4.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, + {file = "tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30"}, + {file = "tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a"}, + {file = "tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076"}, + {file = "tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9"}, + {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c"}, + {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc"}, + {file = "tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049"}, + {file = "tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e"}, + {file = "tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece"}, + {file = "tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a"}, + {file = "tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085"}, + {file = "tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9"}, + {file = "tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5"}, + {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585"}, + {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1"}, + {file = "tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917"}, + {file = "tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9"}, + {file = "tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257"}, + {file = "tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54"}, + {file = "tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a"}, + {file = "tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897"}, + {file = "tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f"}, + {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d"}, + {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5"}, + {file = "tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd"}, + {file = "tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36"}, + {file = "tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd"}, + {file = "tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf"}, + {file = "tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac"}, + {file = "tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662"}, + {file = "tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853"}, + {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15"}, + {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba"}, + {file = "tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6"}, + {file = "tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7"}, + {file = "tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232"}, + {file = "tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4"}, + {file = "tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c"}, + {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d"}, + {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41"}, + {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c"}, + {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f"}, + {file = "tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8"}, + {file = "tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26"}, + {file = "tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396"}, + {file = "tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe"}, + {file = "tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f"}, ] [[package]] name = "toolz" -version = "1.0.0" +version = "1.1.0" description = "List processing tools and functional utilities" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236"}, - {file = "toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02"}, + {file = "toolz-1.1.0-py3-none-any.whl", hash = "sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8"}, + {file = "toolz-1.1.0.tar.gz", hash = "sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b"}, ] +[[package]] +name = "types-requests" +version = "2.33.0.20260408" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.10" +files = [ + {file = "types_requests-2.33.0.20260408-py3-none-any.whl", hash = "sha256:81f31d5ea4acb39f03be7bc8bed569ba6d5a9c5d97e89f45ac43d819b68ca50f"}, + {file = "types_requests-2.33.0.20260408.tar.gz", hash = "sha256:95b9a86376807a216b2fb412b47617b202091c3ea7c078f47cc358d5528ccb7b"}, +] + +[package.dependencies] +urllib3 = ">=2" + [[package]] name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" +version = "4.15.0" +description = "Backported and Experimental Type Hints for Python 3.9+" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +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"}, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +description = "Runtime typing introspection tools" +optional = false +python-versions = ">=3.9" files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, + {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, + {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, ] +[package.dependencies] +typing-extensions = ">=4.12.0" + [[package]] name = "urllib3" -version = "2.2.3" +version = "2.6.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, + {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"}, + {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.2.0)", "brotlicffi (>=1.2.0.0)"] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] +zstd = ["backports-zstd (>=1.0.0)"] [[package]] name = "virtualenv" -version = "20.28.0" +version = "21.3.0" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ - {file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"}, - {file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"}, + {file = "virtualenv-21.3.0-py3-none-any.whl", hash = "sha256:4d28ee41f6d9ec8f1f00cd472b9ffbcedda1b3d3b9a575b5c94a2d004fd51bd7"}, + {file = "virtualenv-21.3.0.tar.gz", hash = "sha256:733750db978ec95c2d8eb4feadaa57091002bce404cb39ba69899cf7bd28944e"}, ] [package.dependencies] distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" +filelock = {version = ">=3.24.2,<4", markers = "python_version >= \"3.10\""} platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] +python-discovery = ">=1.2.2" +typing-extensions = {version = ">=4.13.2", markers = "python_version < \"3.11\""} [[package]] name = "web3" -version = "6.20.3" -description = "web3.py" +version = "7.5.0" +description = "web3: A Python library for interacting with Ethereum" optional = false -python-versions = ">=3.7.2" +python-versions = "<4,>=3.8" files = [ - {file = "web3-6.20.3-py3-none-any.whl", hash = "sha256:529fbb33f2476ce8185f7a2ed7e2e07c4c28621b0e89b845fbfdcaea9571286d"}, - {file = "web3-6.20.3.tar.gz", hash = "sha256:c69dbf1a61ace172741d06990e60afc7f55f303eac087e7235f382df3047d017"}, + {file = "web3-7.5.0-py3-none-any.whl", hash = "sha256:16fea8ee9c042a60edfdc2388c4d2c0177a9be383c76a4913cf9acb156df1954"}, + {file = "web3-7.5.0.tar.gz", hash = "sha256:42477d076c745da05e595e8aec91a3a168d87b09b85b0424181cac69edb9b4a2"}, ] [package.dependencies] aiohttp = ">=3.7.4.post0" -ckzg = "<2" -eth-abi = ">=4.0.0" -eth-account = ">=0.8.0,<0.13" +eth-abi = ">=5.0.1" +eth-account = ">=0.13.1" eth-hash = {version = ">=0.5.1", extras = ["pycryptodome"]} -eth-typing = ">=3.0.0,<4.2.0 || >4.2.0,<5.0.0" -eth-utils = ">=2.1.0,<5" -hexbytes = ">=0.1.0,<0.4.0" -jsonschema = ">=4.0.0" -lru-dict = ">=1.1.6,<1.3.0" -protobuf = ">=4.21.6" +eth-typing = ">=5.0.0" +eth-utils = ">=5.0.0" +hexbytes = ">=1.2.0" +pydantic = ">=2.4.0" pyunormalize = ">=15.0.0" pywin32 = {version = ">=223", markers = "platform_system == \"Windows\""} -requests = ">=2.16.0" +requests = ">=2.23.0" +types-requests = ">=2.0.0" typing-extensions = ">=4.0.1" websockets = ">=10.0.0" [package.extras] -dev = ["build (>=0.9.0)", "bumpversion", "eth-tester[py-evm] (>=0.11.0b1,<0.12.0b1)", "eth-tester[py-evm] (>=0.9.0b1,<0.10.0b1)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "importlib-metadata (<5.0)", "ipfshttpclient (==0.8.0a2)", "pre-commit (>=2.21.0)", "py-geth (>=3.14.0,<4)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.21.2,<0.23)", "pytest-mock (>=1.10)", "pytest-watch (>=4.2)", "pytest-xdist (>=1.29)", "setuptools (>=38.6.0)", "sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=3.18.0)", "tqdm (>4.32)", "twine (>=1.13)", "when-changed (>=0.3.0)"] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -ipfs = ["ipfshttpclient (==0.8.0a2)"] -tester = ["eth-tester[py-evm] (>=0.11.0b1,<0.12.0b1)", "eth-tester[py-evm] (>=0.9.0b1,<0.10.0b1)", "py-geth (>=3.14.0,<4)"] +dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "ipython", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "py-geth (>=5.0.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1,<0.23)", "pytest-mock (>=1.10)", "pytest-xdist (>=2.4.0)", "setuptools (>=38.6.0)", "sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "tqdm (>4.32)", "twine (>=1.13)", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-autobuild (>=2021.3.14)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +test = ["eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "mypy (==1.10.0)", "pre-commit (>=3.4.0)", "py-geth (>=5.0.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1,<0.23)", "pytest-mock (>=1.10)", "pytest-xdist (>=2.4.0)", "tox (>=4.0.0)"] +tester = ["eth-tester[py-evm] (>=0.11.0b1,<0.13.0b1)", "py-geth (>=5.0.0)"] [[package]] name = "websockets" -version = "14.1" +version = "16.0" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" optional = false -python-versions = ">=3.9" -files = [ - {file = "websockets-14.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a0adf84bc2e7c86e8a202537b4fd50e6f7f0e4a6b6bf64d7ccb96c4cd3330b29"}, - {file = "websockets-14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90b5d9dfbb6d07a84ed3e696012610b6da074d97453bd01e0e30744b472c8179"}, - {file = "websockets-14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2177ee3901075167f01c5e335a6685e71b162a54a89a56001f1c3e9e3d2ad250"}, - {file = "websockets-14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f14a96a0034a27f9d47fd9788913924c89612225878f8078bb9d55f859272b0"}, - {file = "websockets-14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f874ba705deea77bcf64a9da42c1f5fc2466d8f14daf410bc7d4ceae0a9fcb0"}, - {file = "websockets-14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9607b9a442392e690a57909c362811184ea429585a71061cd5d3c2b98065c199"}, - {file = "websockets-14.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bea45f19b7ca000380fbd4e02552be86343080120d074b87f25593ce1700ad58"}, - {file = "websockets-14.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:219c8187b3ceeadbf2afcf0f25a4918d02da7b944d703b97d12fb01510869078"}, - {file = "websockets-14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad2ab2547761d79926effe63de21479dfaf29834c50f98c4bf5b5480b5838434"}, - {file = "websockets-14.1-cp310-cp310-win32.whl", hash = "sha256:1288369a6a84e81b90da5dbed48610cd7e5d60af62df9851ed1d1d23a9069f10"}, - {file = "websockets-14.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0744623852f1497d825a49a99bfbec9bea4f3f946df6eb9d8a2f0c37a2fec2e"}, - {file = "websockets-14.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:449d77d636f8d9c17952628cc7e3b8faf6e92a17ec581ec0c0256300717e1512"}, - {file = "websockets-14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a35f704be14768cea9790d921c2c1cc4fc52700410b1c10948511039be824aac"}, - {file = "websockets-14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b1f3628a0510bd58968c0f60447e7a692933589b791a6b572fcef374053ca280"}, - {file = "websockets-14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c3deac3748ec73ef24fc7be0b68220d14d47d6647d2f85b2771cb35ea847aa1"}, - {file = "websockets-14.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7048eb4415d46368ef29d32133134c513f507fff7d953c18c91104738a68c3b3"}, - {file = "websockets-14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cf0ad281c979306a6a34242b371e90e891bce504509fb6bb5246bbbf31e7b6"}, - {file = "websockets-14.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cc1fc87428c1d18b643479caa7b15db7d544652e5bf610513d4a3478dbe823d0"}, - {file = "websockets-14.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f95ba34d71e2fa0c5d225bde3b3bdb152e957150100e75c86bc7f3964c450d89"}, - {file = "websockets-14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9481a6de29105d73cf4515f2bef8eb71e17ac184c19d0b9918a3701c6c9c4f23"}, - {file = "websockets-14.1-cp311-cp311-win32.whl", hash = "sha256:368a05465f49c5949e27afd6fbe0a77ce53082185bbb2ac096a3a8afaf4de52e"}, - {file = "websockets-14.1-cp311-cp311-win_amd64.whl", hash = "sha256:6d24fc337fc055c9e83414c94e1ee0dee902a486d19d2a7f0929e49d7d604b09"}, - {file = "websockets-14.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed907449fe5e021933e46a3e65d651f641975a768d0649fee59f10c2985529ed"}, - {file = "websockets-14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:87e31011b5c14a33b29f17eb48932e63e1dcd3fa31d72209848652310d3d1f0d"}, - {file = "websockets-14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc6ccf7d54c02ae47a48ddf9414c54d48af9c01076a2e1023e3b486b6e72c707"}, - {file = "websockets-14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9777564c0a72a1d457f0848977a1cbe15cfa75fa2f67ce267441e465717dcf1a"}, - {file = "websockets-14.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a655bde548ca98f55b43711b0ceefd2a88a71af6350b0c168aa77562104f3f45"}, - {file = "websockets-14.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfff83ca578cada2d19e665e9c8368e1598d4e787422a460ec70e531dbdd58"}, - {file = "websockets-14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6a6c9bcf7cdc0fd41cc7b7944447982e8acfd9f0d560ea6d6845428ed0562058"}, - {file = "websockets-14.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4b6caec8576e760f2c7dd878ba817653144d5f369200b6ddf9771d64385b84d4"}, - {file = "websockets-14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb6d38971c800ff02e4a6afd791bbe3b923a9a57ca9aeab7314c21c84bf9ff05"}, - {file = "websockets-14.1-cp312-cp312-win32.whl", hash = "sha256:1d045cbe1358d76b24d5e20e7b1878efe578d9897a25c24e6006eef788c0fdf0"}, - {file = "websockets-14.1-cp312-cp312-win_amd64.whl", hash = "sha256:90f4c7a069c733d95c308380aae314f2cb45bd8a904fb03eb36d1a4983a4993f"}, - {file = "websockets-14.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3630b670d5057cd9e08b9c4dab6493670e8e762a24c2c94ef312783870736ab9"}, - {file = "websockets-14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36ebd71db3b89e1f7b1a5deaa341a654852c3518ea7a8ddfdf69cc66acc2db1b"}, - {file = "websockets-14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5b918d288958dc3fa1c5a0b9aa3256cb2b2b84c54407f4813c45d52267600cd3"}, - {file = "websockets-14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00fe5da3f037041da1ee0cf8e308374e236883f9842c7c465aa65098b1c9af59"}, - {file = "websockets-14.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8149a0f5a72ca36720981418eeffeb5c2729ea55fa179091c81a0910a114a5d2"}, - {file = "websockets-14.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77569d19a13015e840b81550922056acabc25e3f52782625bc6843cfa034e1da"}, - {file = "websockets-14.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cf5201a04550136ef870aa60ad3d29d2a59e452a7f96b94193bee6d73b8ad9a9"}, - {file = "websockets-14.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:88cf9163ef674b5be5736a584c999e98daf3aabac6e536e43286eb74c126b9c7"}, - {file = "websockets-14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:836bef7ae338a072e9d1863502026f01b14027250a4545672673057997d5c05a"}, - {file = "websockets-14.1-cp313-cp313-win32.whl", hash = "sha256:0d4290d559d68288da9f444089fd82490c8d2744309113fc26e2da6e48b65da6"}, - {file = "websockets-14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8621a07991add373c3c5c2cf89e1d277e49dc82ed72c75e3afc74bd0acc446f0"}, - {file = "websockets-14.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:01bb2d4f0a6d04538d3c5dfd27c0643269656c28045a53439cbf1c004f90897a"}, - {file = "websockets-14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:414ffe86f4d6f434a8c3b7913655a1a5383b617f9bf38720e7c0799fac3ab1c6"}, - {file = "websockets-14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8fda642151d5affdee8a430bd85496f2e2517be3a2b9d2484d633d5712b15c56"}, - {file = "websockets-14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd7c11968bc3860d5c78577f0dbc535257ccec41750675d58d8dc66aa47fe52c"}, - {file = "websockets-14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a032855dc7db987dff813583d04f4950d14326665d7e714d584560b140ae6b8b"}, - {file = "websockets-14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7e7ea2f782408c32d86b87a0d2c1fd8871b0399dd762364c731d86c86069a78"}, - {file = "websockets-14.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:39450e6215f7d9f6f7bc2a6da21d79374729f5d052333da4d5825af8a97e6735"}, - {file = "websockets-14.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ceada5be22fa5a5a4cdeec74e761c2ee7db287208f54c718f2df4b7e200b8d4a"}, - {file = "websockets-14.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3fc753451d471cff90b8f467a1fc0ae64031cf2d81b7b34e1811b7e2691bc4bc"}, - {file = "websockets-14.1-cp39-cp39-win32.whl", hash = "sha256:14839f54786987ccd9d03ed7f334baec0f02272e7ec4f6e9d427ff584aeea8b4"}, - {file = "websockets-14.1-cp39-cp39-win_amd64.whl", hash = "sha256:d9fd19ecc3a4d5ae82ddbfb30962cf6d874ff943e56e0c81f5169be2fda62979"}, - {file = "websockets-14.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e5dc25a9dbd1a7f61eca4b7cb04e74ae4b963d658f9e4f9aad9cd00b688692c8"}, - {file = "websockets-14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:04a97aca96ca2acedf0d1f332c861c5a4486fdcba7bcef35873820f940c4231e"}, - {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df174ece723b228d3e8734a6f2a6febbd413ddec39b3dc592f5a4aa0aff28098"}, - {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:034feb9f4286476f273b9a245fb15f02c34d9586a5bc936aff108c3ba1b21beb"}, - {file = "websockets-14.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c308dabd2b380807ab64b62985eaccf923a78ebc572bd485375b9ca2b7dc7"}, - {file = "websockets-14.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a42d3ecbb2db5080fc578314439b1d79eef71d323dc661aa616fb492436af5d"}, - {file = "websockets-14.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddaa4a390af911da6f680be8be4ff5aaf31c4c834c1a9147bc21cbcbca2d4370"}, - {file = "websockets-14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a4c805c6034206143fbabd2d259ec5e757f8b29d0a2f0bf3d2fe5d1f60147a4a"}, - {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:205f672a6c2c671a86d33f6d47c9b35781a998728d2c7c2a3e1cf3333fcb62b7"}, - {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef440054124728cc49b01c33469de06755e5a7a4e83ef61934ad95fc327fbb0"}, - {file = "websockets-14.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7591d6f440af7f73c4bd9404f3772bfee064e639d2b6cc8c94076e71b2471c1"}, - {file = "websockets-14.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:25225cc79cfebc95ba1d24cd3ab86aaa35bcd315d12fa4358939bd55e9bd74a5"}, - {file = "websockets-14.1-py3-none-any.whl", hash = "sha256:4d4fc827a20abe6d544a119896f6b78ee13fe81cbfef416f3f2ddf09a03f0e2e"}, - {file = "websockets-14.1.tar.gz", hash = "sha256:398b10c77d471c0aab20a845e7a60076b6390bfdaac7a6d2edb0d2c59d75e8d8"}, +python-versions = ">=3.10" +files = [ + {file = "websockets-16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04cdd5d2d1dacbad0a7bf36ccbcd3ccd5a30ee188f2560b7a62a30d14107b31a"}, + {file = "websockets-16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8ff32bb86522a9e5e31439a58addbb0166f0204d64066fb955265c4e214160f0"}, + {file = "websockets-16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:583b7c42688636f930688d712885cf1531326ee05effd982028212ccc13e5957"}, + {file = "websockets-16.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7d837379b647c0c4c2355c2499723f82f1635fd2c26510e1f587d89bc2199e72"}, + {file = "websockets-16.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df57afc692e517a85e65b72e165356ed1df12386ecb879ad5693be08fac65dde"}, + {file = "websockets-16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2b9f1e0d69bc60a4a87349d50c09a037a2607918746f07de04df9e43252c77a3"}, + {file = "websockets-16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:335c23addf3d5e6a8633f9f8eda77efad001671e80b95c491dd0924587ece0b3"}, + {file = "websockets-16.0-cp310-cp310-win32.whl", hash = "sha256:37b31c1623c6605e4c00d466c9d633f9b812ea430c11c8a278774a1fde1acfa9"}, + {file = "websockets-16.0-cp310-cp310-win_amd64.whl", hash = "sha256:8e1dab317b6e77424356e11e99a432b7cb2f3ec8c5ab4dabbcee6add48f72b35"}, + {file = "websockets-16.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:31a52addea25187bde0797a97d6fc3d2f92b6f72a9370792d65a6e84615ac8a8"}, + {file = "websockets-16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:417b28978cdccab24f46400586d128366313e8a96312e4b9362a4af504f3bbad"}, + {file = "websockets-16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:af80d74d4edfa3cb9ed973a0a5ba2b2a549371f8a741e0800cb07becdd20f23d"}, + {file = "websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:08d7af67b64d29823fed316505a89b86705f2b7981c07848fb5e3ea3020c1abe"}, + {file = "websockets-16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7be95cfb0a4dae143eaed2bcba8ac23f4892d8971311f1b06f3c6b78952ee70b"}, + {file = "websockets-16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6297ce39ce5c2e6feb13c1a996a2ded3b6832155fcfc920265c76f24c7cceb5"}, + {file = "websockets-16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1c1b30e4f497b0b354057f3467f56244c603a79c0d1dafce1d16c283c25f6e64"}, + {file = "websockets-16.0-cp311-cp311-win32.whl", hash = "sha256:5f451484aeb5cafee1ccf789b1b66f535409d038c56966d6101740c1614b86c6"}, + {file = "websockets-16.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7f0659570eefb578dacde98e24fb60af35350193e4f56e11190787bee77dac"}, + {file = "websockets-16.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:71c989cbf3254fbd5e84d3bff31e4da39c43f884e64f2551d14bb3c186230f00"}, + {file = "websockets-16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8b6e209ffee39ff1b6d0fa7bfef6de950c60dfb91b8fcead17da4ee539121a79"}, + {file = "websockets-16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:86890e837d61574c92a97496d590968b23c2ef0aeb8a9bc9421d174cd378ae39"}, + {file = "websockets-16.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9b5aca38b67492ef518a8ab76851862488a478602229112c4b0d58d63a7a4d5c"}, + {file = "websockets-16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e0334872c0a37b606418ac52f6ab9cfd17317ac26365f7f65e203e2d0d0d359f"}, + {file = "websockets-16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a0b31e0b424cc6b5a04b8838bbaec1688834b2383256688cf47eb97412531da1"}, + {file = "websockets-16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:485c49116d0af10ac698623c513c1cc01c9446c058a4e61e3bf6c19dff7335a2"}, + {file = "websockets-16.0-cp312-cp312-win32.whl", hash = "sha256:eaded469f5e5b7294e2bdca0ab06becb6756ea86894a47806456089298813c89"}, + {file = "websockets-16.0-cp312-cp312-win_amd64.whl", hash = "sha256:5569417dc80977fc8c2d43a86f78e0a5a22fee17565d78621b6bb264a115d4ea"}, + {file = "websockets-16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:878b336ac47938b474c8f982ac2f7266a540adc3fa4ad74ae96fea9823a02cc9"}, + {file = "websockets-16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52a0fec0e6c8d9a784c2c78276a48a2bdf099e4ccc2a4cad53b27718dbfd0230"}, + {file = "websockets-16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6578ed5b6981005df1860a56e3617f14a6c307e6a71b4fff8c48fdc50f3ed2c"}, + {file = "websockets-16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:95724e638f0f9c350bb1c2b0a7ad0e83d9cc0c9259f3ea94e40d7b02a2179ae5"}, + {file = "websockets-16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0204dc62a89dc9d50d682412c10b3542d748260d743500a85c13cd1ee4bde82"}, + {file = "websockets-16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52ac480f44d32970d66763115edea932f1c5b1312de36df06d6b219f6741eed8"}, + {file = "websockets-16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6e5a82b677f8f6f59e8dfc34ec06ca6b5b48bc4fcda346acd093694cc2c24d8f"}, + {file = "websockets-16.0-cp313-cp313-win32.whl", hash = "sha256:abf050a199613f64c886ea10f38b47770a65154dc37181bfaff70c160f45315a"}, + {file = "websockets-16.0-cp313-cp313-win_amd64.whl", hash = "sha256:3425ac5cf448801335d6fdc7ae1eb22072055417a96cc6b31b3861f455fbc156"}, + {file = "websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0"}, + {file = "websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904"}, + {file = "websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4"}, + {file = "websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e"}, + {file = "websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4"}, + {file = "websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1"}, + {file = "websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3"}, + {file = "websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8"}, + {file = "websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d"}, + {file = "websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244"}, + {file = "websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e"}, + {file = "websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641"}, + {file = "websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8"}, + {file = "websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e"}, + {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944"}, + {file = "websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206"}, + {file = "websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6"}, + {file = "websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd"}, + {file = "websockets-16.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:349f83cd6c9a415428ee1005cadb5c2c56f4389bc06a9af16103c3bc3dcc8b7d"}, + {file = "websockets-16.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:4a1aba3340a8dca8db6eb5a7986157f52eb9e436b74813764241981ca4888f03"}, + {file = "websockets-16.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f4a32d1bd841d4bcbffdcb3d2ce50c09c3909fbead375ab28d0181af89fd04da"}, + {file = "websockets-16.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0298d07ee155e2e9fda5be8a9042200dd2e3bb0b8a38482156576f863a9d457c"}, + {file = "websockets-16.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a653aea902e0324b52f1613332ddf50b00c06fdaf7e92624fbf8c77c78fa5767"}, + {file = "websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec"}, + {file = "websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5"}, ] [[package]] name = "yarl" -version = "1.18.3" +version = "1.23.0" description = "Yet another URL library" optional = false -python-versions = ">=3.9" -files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, +python-versions = ">=3.10" +files = [ + {file = "yarl-1.23.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cff6d44cb13d39db2663a22b22305d10855efa0fa8015ddeacc40bc59b9d8107"}, + {file = "yarl-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c53f8347cd4200f0d70a48ad059cabaf24f5adc6ba08622a23423bc7efa10d"}, + {file = "yarl-1.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a6940a074fb3c48356ed0158a3ca5699c955ee4185b4d7d619be3c327143e05"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed5f69ce7be7902e5c70ea19eb72d20abf7d725ab5d49777d696e32d4fc1811d"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:389871e65468400d6283c0308e791a640b5ab5c83bcee02a2f51295f95e09748"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dda608c88cf709b1d406bdfcd84d8d63cff7c9e577a403c6108ce8ce9dcc8764"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c4fe09e0780c6c3bf2b7d4af02ee2394439d11a523bbcf095cf4747c2932007"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c9921eb8bd12633b41ad27686bbb0b1a2a9b8452bfdf221e34f311e9942ed4"}, + {file = "yarl-1.23.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5f10fd85e4b75967468af655228fbfd212bdf66db1c0d135065ce288982eda26"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dbf507e9ef5688bada447a24d68b4b58dd389ba93b7afc065a2ba892bea54769"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:85e9beda1f591bc73e77ea1c51965c68e98dafd0fec72cdd745f77d727466716"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1fdaa14ef51366d7757b45bde294e95f6c8c049194e793eedb8387c86d5993"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:75e3026ab649bf48f9a10c0134512638725b521340293f202a69b567518d94e0"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:80e6d33a3d42a7549b409f199857b4fb54e2103fc44fb87605b6663b7a7ff750"}, + {file = "yarl-1.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ec2f42d41ccbd5df0270d7df31618a8ee267bfa50997f5d720ddba86c4a83a6"}, + {file = "yarl-1.23.0-cp310-cp310-win32.whl", hash = "sha256:debe9c4f41c32990771be5c22b56f810659f9ddf3d63f67abfdcaa2c6c9c5c1d"}, + {file = "yarl-1.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f043cb8a2d71c981c09c510da013bc79fd661f5c60139f00dd3c3cc4f2ffb"}, + {file = "yarl-1.23.0-cp310-cp310-win_arm64.whl", hash = "sha256:263cd4f47159c09b8b685890af949195b51d1aa82ba451c5847ca9bc6413c220"}, + {file = "yarl-1.23.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b35d13d549077713e4414f927cdc388d62e543987c572baee613bf82f11a4b99"}, + {file = "yarl-1.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbb0fef01f0c6b38cb0f39b1f78fc90b807e0e3c86a7ff3ce74ad77ce5c7880c"}, + {file = "yarl-1.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc52310451fc7c629e13c4e061cbe2dd01684d91f2f8ee2821b083c58bd72432"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2c6b50c7b0464165472b56b42d4c76a7b864597007d9c085e8b63e185cf4a7a"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aafe5dcfda86c8af00386d7781d4c2181b5011b7be3f2add5e99899ea925df05"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ee33b875f0b390564c1fb7bc528abf18c8ee6073b201c6ae8524aca778e2d83"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c41e021bc6d7affb3364dc1e1e5fa9582b470f283748784bd6ea0558f87f42c"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:99c8a9ed30f4164bc4c14b37a90208836cbf50d4ce2a57c71d0f52c7fb4f7598"}, + {file = "yarl-1.23.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2af5c81a1f124609d5f33507082fc3f739959d4719b56877ab1ee7e7b3d602b"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6b41389c19b07c760c7e427a3462e8ab83c4bb087d127f0e854c706ce1b9215c"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1dc702e42d0684f42d6519c8d581e49c96cefaaab16691f03566d30658ee8788"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0e40111274f340d32ebcc0a5668d54d2b552a6cca84c9475859d364b380e3222"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:4764a6a7588561a9aef92f65bda2c4fb58fe7c675c0883862e6df97559de0bfb"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:03214408cfa590df47728b84c679ae4ef00be2428e11630277be0727eba2d7cc"}, + {file = "yarl-1.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170e26584b060879e29fac213e4228ef063f39128723807a312e5c7fec28eff2"}, + {file = "yarl-1.23.0-cp311-cp311-win32.whl", hash = "sha256:51430653db848d258336cfa0244427b17d12db63d42603a55f0d4546f50f25b5"}, + {file = "yarl-1.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf49a3ae946a87083ef3a34c8f677ae4243f5b824bfc4c69672e72b3d6719d46"}, + {file = "yarl-1.23.0-cp311-cp311-win_arm64.whl", hash = "sha256:b39cb32a6582750b6cc77bfb3c49c0f8760dc18dc96ec9fb55fbb0f04e08b928"}, + {file = "yarl-1.23.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1932b6b8bba8d0160a9d1078aae5838a66039e8832d41d2992daa9a3a08f7860"}, + {file = "yarl-1.23.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:411225bae281f114067578891bc75534cfb3d92a3b4dfef7a6ca78ba354e6069"}, + {file = "yarl-1.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13a563739ae600a631c36ce096615fe307f131344588b0bc0daec108cdb47b25"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cbf44c5cb4a7633d078788e1b56387e3d3cf2b8139a3be38040b22d6c3221c8"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53ad387048f6f09a8969631e4de3f1bf70c50e93545d64af4f751b2498755072"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4a59ba56f340334766f3a4442e0efd0af895fae9e2b204741ef885c446b3a1a8"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:803a3c3ce4acc62eaf01eaca1208dcf0783025ef27572c3336502b9c232005e7"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3d2bff8f37f8d0f96c7ec554d16945050d54462d6e95414babaa18bfafc7f51"}, + {file = "yarl-1.23.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c75eb09e8d55bceb4367e83496ff8ef2bc7ea6960efb38e978e8073ea59ecb67"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877b0738624280e34c55680d6054a307aa94f7d52fa0e3034a9cc6e790871da7"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b5405bb8f0e783a988172993cfc627e4d9d00432d6bbac65a923041edacf997d"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c3a3598a832590c5a3ce56ab5576361b5688c12cb1d39429cf5dba30b510760"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8419ebd326430d1cbb7efb5292330a2cf39114e82df5cc3d83c9a0d5ebeaf2f2"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:be61f6fff406ca40e3b1d84716fde398fc08bc63dd96d15f3a14230a0973ed86"}, + {file = "yarl-1.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ceb13c5c858d01321b5d9bb65e4cf37a92169ea470b70fec6f236b2c9dd7e34"}, + {file = "yarl-1.23.0-cp312-cp312-win32.whl", hash = "sha256:fffc45637bcd6538de8b85f51e3df3223e4ad89bccbfca0481c08c7fc8b7ed7d"}, + {file = "yarl-1.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:f69f57305656a4852f2a7203efc661d8c042e6cc67f7acd97d8667fb448a426e"}, + {file = "yarl-1.23.0-cp312-cp312-win_arm64.whl", hash = "sha256:6e87a6e8735b44816e7db0b2fbc9686932df473c826b0d9743148432e10bb9b9"}, + {file = "yarl-1.23.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:16c6994ac35c3e74fb0ae93323bf8b9c2a9088d55946109489667c510a7d010e"}, + {file = "yarl-1.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a42e651629dafb64fd5b0286a3580613702b5809ad3f24934ea87595804f2c5"}, + {file = "yarl-1.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c6b9461a2a8b47c65eef63bb1c76a4f1c119618ffa99ea79bc5bb1e46c5821b"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2569b67d616eab450d262ca7cb9f9e19d2f718c70a8b88712859359d0ab17035"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e9d9a4d06d3481eab79803beb4d9bd6f6a8e781ec078ac70d7ef2dcc29d1bea5"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f514f6474e04179d3d33175ed3f3e31434d3130d42ec153540d5b157deefd735"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fda207c815b253e34f7e1909840fd14299567b1c0eb4908f8c2ce01a41265401"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6cf500e61c90f305094911f9acc9c86da1a05a7a3f5be9f68817043f486e4"}, + {file = "yarl-1.23.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7504f2b476d21653e4d143f44a175f7f751cd41233525312696c76aa3dbb23f"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:578110dd426f0d209d1509244e6d4a3f1a3e9077655d98c5f22583d63252a08a"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:609d3614d78d74ebe35f54953c5bbd2ac647a7ddb9c30a5d877580f5e86b22f2"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4966242ec68afc74c122f8459abd597afd7d8a60dc93d695c1334c5fd25f762f"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e0fd068364a6759bc794459f0a735ab151d11304346332489c7972bacbe9e72b"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:39004f0ad156da43e86aa71f44e033de68a44e5a31fc53507b36dd253970054a"}, + {file = "yarl-1.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e5723c01a56c5028c807c701aa66722916d2747ad737a046853f6c46f4875543"}, + {file = "yarl-1.23.0-cp313-cp313-win32.whl", hash = "sha256:1b6b572edd95b4fa8df75de10b04bc81acc87c1c7d16bcdd2035b09d30acc957"}, + {file = "yarl-1.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:baaf55442359053c7d62f6f8413a62adba3205119bcb6f49594894d8be47e5e3"}, + {file = "yarl-1.23.0-cp313-cp313-win_arm64.whl", hash = "sha256:fb4948814a2a98e3912505f09c9e7493b1506226afb1f881825368d6fb776ee3"}, + {file = "yarl-1.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aecfed0b41aa72b7881712c65cf764e39ce2ec352324f5e0837c7048d9e6daaa"}, + {file = "yarl-1.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a41bcf68efd19073376eb8cf948b8d9be0af26256403e512bb18f3966f1f9120"}, + {file = "yarl-1.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cde9a2ecd91668bcb7f077c4966d8ceddb60af01b52e6e3e2680e4cf00ad1a59"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5023346c4ee7992febc0068e7593de5fa2bf611848c08404b35ebbb76b1b0512"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1009abedb49ae95b136a8904a3f71b342f849ffeced2d3747bf29caeda218c4"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a8d00f29b42f534cc8aa3931cfe773b13b23e561e10d2b26f27a8d309b0e82a1"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:95451e6ce06c3e104556d73b559f5da6c34a069b6b62946d3ad66afcd51642ea"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:531ef597132086b6cf96faa7c6c1dcd0361dd5f1694e5cc30375907b9b7d3ea9"}, + {file = "yarl-1.23.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88f9fb0116fbfcefcab70f85cf4b74a2b6ce5d199c41345296f49d974ddb4123"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e7b0460976dc75cb87ad9cc1f9899a4b97751e7d4e77ab840fc9b6d377b8fd24"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:115136c4a426f9da976187d238e84139ff6b51a20839aa6e3720cd1026d768de"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ead11956716a940c1abc816b7df3fa2b84d06eaed8832ca32f5c5e058c65506b"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:fe8f8f5e70e6dbdfca9882cd9deaac058729bcf323cf7a58660901e55c9c94f6"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a0e317df055958a0c1e79e5d2aa5a5eaa4a6d05a20d4b0c9c3f48918139c9fc6"}, + {file = "yarl-1.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f0fd84de0c957b2d280143522c4f91a73aada1923caee763e24a2b3fda9f8a5"}, + {file = "yarl-1.23.0-cp313-cp313t-win32.whl", hash = "sha256:93a784271881035ab4406a172edb0faecb6e7d00f4b53dc2f55919d6c9688595"}, + {file = "yarl-1.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dd00607bffbf30250fe108065f07453ec124dbf223420f57f5e749b04295e090"}, + {file = "yarl-1.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ac09d42f48f80c9ee1635b2fcaa819496a44502737660d3c0f2ade7526d29144"}, + {file = "yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912"}, + {file = "yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474"}, + {file = "yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52"}, + {file = "yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6"}, + {file = "yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe"}, + {file = "yarl-1.23.0-cp314-cp314-win32.whl", hash = "sha256:c8aa34a5c864db1087d911a0b902d60d203ea3607d91f615acd3f3108ac32169"}, + {file = "yarl-1.23.0-cp314-cp314-win_amd64.whl", hash = "sha256:63e92247f383c85ab00dd0091e8c3fa331a96e865459f5ee80353c70a4a42d70"}, + {file = "yarl-1.23.0-cp314-cp314-win_arm64.whl", hash = "sha256:70efd20be968c76ece7baa8dafe04c5be06abc57f754d6f36f3741f7aa7a208e"}, + {file = "yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679"}, + {file = "yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412"}, + {file = "yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6"}, + {file = "yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2"}, + {file = "yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4"}, + {file = "yarl-1.23.0-cp314-cp314t-win32.whl", hash = "sha256:73309162a6a571d4cbd3b6a1dcc703c7311843ae0d1578df6f09be4e98df38d4"}, + {file = "yarl-1.23.0-cp314-cp314t-win_amd64.whl", hash = "sha256:4503053d296bc6e4cbd1fad61cf3b6e33b939886c4f249ba7c78b602214fabe2"}, + {file = "yarl-1.23.0-cp314-cp314t-win_arm64.whl", hash = "sha256:44bb7bef4ea409384e3f8bc36c063d77ea1b8d4a5b2706956c0d6695f07dcc25"}, + {file = "yarl-1.23.0-py3-none-any.whl", hash = "sha256:a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f"}, + {file = "yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" -propcache = ">=0.2.0" - -[[package]] -name = "zipp" -version = "3.21.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, - {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] +propcache = ">=0.2.1" [metadata] lock-version = "2.0" -python-versions = "^3.9" -content-hash = "f14650203ccf0f3b487bc33f0765cfade66566d752bf39abfab0bc3b7e93a43e" +python-versions = ">=3.10,<3.15" +content-hash = "a06d97f4b546bd691d5a0c3184d528fa15dfcea29cb3967f79ed6992702c35fb" diff --git a/pyinjective/__init__.py b/pyinjective/__init__.py index 140aa957..5d3fa6bf 100644 --- a/pyinjective/__init__.py +++ b/pyinjective/__init__.py @@ -2,6 +2,5 @@ # If this is not imported, importing later grpcio (required by AsyncClient) fails in Mac machines with M1 and M2 from google.protobuf.internal import api_implementation # noqa: F401 -from pyinjective.async_client import AsyncClient # noqa: F401 from pyinjective.transaction import Transaction # noqa: F401 from pyinjective.wallet import Address, PrivateKey, PublicKey # noqa: F401 diff --git a/pyinjective/async_client.py b/pyinjective/async_client.py deleted file mode 100644 index ea12cb1d..00000000 --- a/pyinjective/async_client.py +++ /dev/null @@ -1,3464 +0,0 @@ -import asyncio -import time -from copy import deepcopy -from decimal import Decimal -from typing import Any, Callable, Dict, List, Optional, Tuple, Union -from warnings import warn - -import grpc -from google.protobuf import json_format - -from pyinjective.client.chain.grpc.chain_grpc_auth_api import ChainGrpcAuthApi -from pyinjective.client.chain.grpc.chain_grpc_authz_api import ChainGrpcAuthZApi -from pyinjective.client.chain.grpc.chain_grpc_bank_api import ChainGrpcBankApi -from pyinjective.client.chain.grpc.chain_grpc_distribution_api import ChainGrpcDistributionApi -from pyinjective.client.chain.grpc.chain_grpc_exchange_api import ChainGrpcExchangeApi -from pyinjective.client.chain.grpc.chain_grpc_permissions_api import ChainGrpcPermissionsApi -from pyinjective.client.chain.grpc.chain_grpc_token_factory_api import ChainGrpcTokenFactoryApi -from pyinjective.client.chain.grpc.chain_grpc_wasm_api import ChainGrpcWasmApi -from pyinjective.client.chain.grpc_stream.chain_grpc_chain_stream import ChainGrpcChainStream -from pyinjective.client.indexer.grpc.indexer_grpc_account_api import IndexerGrpcAccountApi -from pyinjective.client.indexer.grpc.indexer_grpc_auction_api import IndexerGrpcAuctionApi -from pyinjective.client.indexer.grpc.indexer_grpc_derivative_api import IndexerGrpcDerivativeApi -from pyinjective.client.indexer.grpc.indexer_grpc_explorer_api import IndexerGrpcExplorerApi -from pyinjective.client.indexer.grpc.indexer_grpc_insurance_api import IndexerGrpcInsuranceApi -from pyinjective.client.indexer.grpc.indexer_grpc_meta_api import IndexerGrpcMetaApi -from pyinjective.client.indexer.grpc.indexer_grpc_oracle_api import IndexerGrpcOracleApi -from pyinjective.client.indexer.grpc.indexer_grpc_portfolio_api import IndexerGrpcPortfolioApi -from pyinjective.client.indexer.grpc.indexer_grpc_spot_api import IndexerGrpcSpotApi -from pyinjective.client.indexer.grpc_stream.indexer_grpc_account_stream import IndexerGrpcAccountStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_auction_stream import IndexerGrpcAuctionStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_derivative_stream import IndexerGrpcDerivativeStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_explorer_stream import IndexerGrpcExplorerStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_meta_stream import IndexerGrpcMetaStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_oracle_stream import IndexerGrpcOracleStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_portfolio_stream import IndexerGrpcPortfolioStream -from pyinjective.client.indexer.grpc_stream.indexer_grpc_spot_stream import IndexerGrpcSpotStream -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.composer import Composer -from pyinjective.core.ibc.channel.grpc.ibc_channel_grpc_api import IBCChannelGrpcApi -from pyinjective.core.ibc.client.grpc.ibc_client_grpc_api import IBCClientGrpcApi -from pyinjective.core.ibc.connection.grpc.ibc_connection_grpc_api import IBCConnectionGrpcApi -from pyinjective.core.ibc.transfer.grpc.ibc_transfer_grpc_api import IBCTransferGrpcApi -from pyinjective.core.market import BinaryOptionMarket, DerivativeMarket, SpotMarket -from pyinjective.core.network import Network -from pyinjective.core.tendermint.grpc.tendermint_grpc_api import TendermintGrpcApi -from pyinjective.core.token import Token -from pyinjective.core.tokens_file_loader import TokensFileLoader -from pyinjective.core.tx.grpc.tx_grpc_api import TxGrpcApi -from pyinjective.exceptions import NotFoundError -from pyinjective.proto.cosmos.auth.v1beta1 import query_pb2 as auth_query, query_pb2_grpc as auth_query_grpc -from pyinjective.proto.cosmos.authz.v1beta1 import query_pb2 as authz_query, query_pb2_grpc as authz_query_grpc -from pyinjective.proto.cosmos.bank.v1beta1 import query_pb2 as bank_query, query_pb2_grpc as bank_query_grpc -from pyinjective.proto.cosmos.base.abci.v1beta1 import abci_pb2 as abci_type -from pyinjective.proto.cosmos.base.tendermint.v1beta1 import ( - query_pb2 as tendermint_query, - query_pb2_grpc as tendermint_query_grpc, -) -from pyinjective.proto.cosmos.crypto.ed25519 import keys_pb2 as ed25519_keys # noqa: F401 for validator set responses -from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service, service_pb2_grpc as tx_service_grpc -from pyinjective.proto.exchange import ( - injective_accounts_rpc_pb2 as exchange_accounts_rpc_pb, - injective_accounts_rpc_pb2_grpc as exchange_accounts_rpc_grpc, - injective_auction_rpc_pb2 as auction_rpc_pb, - injective_auction_rpc_pb2_grpc as auction_rpc_grpc, - injective_derivative_exchange_rpc_pb2 as derivative_exchange_rpc_pb, - injective_derivative_exchange_rpc_pb2_grpc as derivative_exchange_rpc_grpc, - injective_explorer_rpc_pb2 as explorer_rpc_pb, - injective_explorer_rpc_pb2_grpc as explorer_rpc_grpc, - injective_insurance_rpc_pb2 as insurance_rpc_pb, - injective_insurance_rpc_pb2_grpc as insurance_rpc_grpc, - injective_meta_rpc_pb2 as exchange_meta_rpc_pb, - injective_meta_rpc_pb2_grpc as exchange_meta_rpc_grpc, - injective_oracle_rpc_pb2 as oracle_rpc_pb, - injective_oracle_rpc_pb2_grpc as oracle_rpc_grpc, - injective_portfolio_rpc_pb2 as portfolio_rpc_pb, - injective_portfolio_rpc_pb2_grpc as portfolio_rpc_grpc, - injective_spot_exchange_rpc_pb2 as spot_exchange_rpc_pb, - injective_spot_exchange_rpc_pb2_grpc as spot_exchange_rpc_grpc, -) -from pyinjective.proto.ibc.lightclients.tendermint.v1 import ( # noqa: F401 for validator set responses - tendermint_pb2 as ibc_tendermint, -) -from pyinjective.proto.injective.stream.v1beta1 import ( - query_pb2 as chain_stream_query, - query_pb2_grpc as stream_rpc_grpc, -) -from pyinjective.proto.injective.types.v1beta1 import account_pb2 -from pyinjective.utils.logger import LoggerProvider - -DEFAULT_TIMEOUTHEIGHT_SYNC_INTERVAL = 20 # seconds -DEFAULT_TIMEOUTHEIGHT = 30 # blocks -DEFAULT_SESSION_RENEWAL_OFFSET = 120 # seconds -DEFAULT_BLOCK_TIME = 2 # seconds - - -class AsyncClient: - def __init__( - self, - network: Network, - insecure: Optional[bool] = None, - credentials=None, - ): - # the `insecure` parameter is ignored and will be deprecated soon. The value is taken directly from `network` - if insecure is not None: - warn( - "insecure parameter in AsyncClient is no longer used and will be deprecated", - DeprecationWarning, - stacklevel=2, - ) - # the `credentials` parameter is ignored and will be deprecated soon. The value is taken directly from `network` - if credentials is not None: - warn( - "credentials parameter in AsyncClient is no longer used and will be deprecated", - DeprecationWarning, - stacklevel=2, - ) - - self.addr = "" - self.number = 0 - self.sequence = 0 - - self.network = network - - # chain stubs - self.chain_channel = self.network.create_chain_grpc_channel() - - self.stubCosmosTendermint = tendermint_query_grpc.ServiceStub(self.chain_channel) - self.stubAuth = auth_query_grpc.QueryStub(self.chain_channel) - self.stubAuthz = authz_query_grpc.QueryStub(self.chain_channel) - self.stubBank = bank_query_grpc.QueryStub(self.chain_channel) - self.stubTx = tx_service_grpc.ServiceStub(self.chain_channel) - - self.exchange_cookie = "" - self.timeout_height = 1 - - # exchange stubs - self.exchange_channel = self.network.create_exchange_grpc_channel() - self.stubMeta = exchange_meta_rpc_grpc.InjectiveMetaRPCStub(self.exchange_channel) - self.stubExchangeAccount = exchange_accounts_rpc_grpc.InjectiveAccountsRPCStub(self.exchange_channel) - self.stubOracle = oracle_rpc_grpc.InjectiveOracleRPCStub(self.exchange_channel) - self.stubInsurance = insurance_rpc_grpc.InjectiveInsuranceRPCStub(self.exchange_channel) - self.stubSpotExchange = spot_exchange_rpc_grpc.InjectiveSpotExchangeRPCStub(self.exchange_channel) - self.stubDerivativeExchange = derivative_exchange_rpc_grpc.InjectiveDerivativeExchangeRPCStub( - self.exchange_channel - ) - self.stubAuction = auction_rpc_grpc.InjectiveAuctionRPCStub(self.exchange_channel) - self.stubPortfolio = portfolio_rpc_grpc.InjectivePortfolioRPCStub(self.exchange_channel) - - # explorer stubs - self.explorer_channel = self.network.create_explorer_grpc_channel() - self.stubExplorer = explorer_rpc_grpc.InjectiveExplorerRPCStub(self.explorer_channel) - - self.chain_stream_channel = self.network.create_chain_stream_grpc_channel() - self.chain_stream_stub = stream_rpc_grpc.StreamStub(channel=self.chain_stream_channel) - - self._timeout_height_sync_task = None - self._initialize_timeout_height_sync_task() - - self._tokens_and_markets_initialization_lock = asyncio.Lock() - self._tokens_by_denom = dict() - self._tokens_by_symbol = dict() - self._spot_markets: Optional[Dict[str, SpotMarket]] = None - self._derivative_markets: Optional[Dict[str, DerivativeMarket]] = None - self._binary_option_markets: Optional[Dict[str, BinaryOptionMarket]] = None - - self.bank_api = ChainGrpcBankApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.auth_api = ChainGrpcAuthApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.authz_api = ChainGrpcAuthZApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.distribution_api = ChainGrpcDistributionApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.chain_exchange_api = ChainGrpcExchangeApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.ibc_channel_api = IBCChannelGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.ibc_client_api = IBCClientGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.ibc_connection_api = IBCConnectionGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.ibc_transfer_api = IBCTransferGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.permissions_api = ChainGrpcPermissionsApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.tendermint_api = TendermintGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.token_factory_api = ChainGrpcTokenFactoryApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.tx_api = TxGrpcApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - self.wasm_api = ChainGrpcWasmApi( - channel=self.chain_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - - self.chain_stream_api = ChainGrpcChainStream( - channel=self.chain_stream_channel, - cookie_assistant=network.chain_cookie_assistant, - ) - - self.exchange_account_api = IndexerGrpcAccountApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_auction_api = IndexerGrpcAuctionApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_derivative_api = IndexerGrpcDerivativeApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_insurance_api = IndexerGrpcInsuranceApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_meta_api = IndexerGrpcMetaApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_oracle_api = IndexerGrpcOracleApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_portfolio_api = IndexerGrpcPortfolioApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_spot_api = IndexerGrpcSpotApi( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - - self.exchange_account_stream_api = IndexerGrpcAccountStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_auction_stream_api = IndexerGrpcAuctionStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_derivative_stream_api = IndexerGrpcDerivativeStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_meta_stream_api = IndexerGrpcMetaStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_oracle_stream_api = IndexerGrpcOracleStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_portfolio_stream_api = IndexerGrpcPortfolioStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - self.exchange_spot_stream_api = IndexerGrpcSpotStream( - channel=self.exchange_channel, - cookie_assistant=network.exchange_cookie_assistant, - ) - - self.exchange_explorer_api = IndexerGrpcExplorerApi( - channel=self.explorer_channel, - cookie_assistant=network.explorer_cookie_assistant, - ) - self.exchange_explorer_stream_api = IndexerGrpcExplorerStream( - channel=self.explorer_channel, - cookie_assistant=network.explorer_cookie_assistant, - ) - - async def all_tokens(self) -> Dict[str, Token]: - if self._tokens_by_symbol is None: - async with self._tokens_and_markets_initialization_lock: - if self._tokens_by_symbol is None: - await self._initialize_tokens_and_markets() - return deepcopy(self._tokens_by_symbol) - - async def all_spot_markets(self) -> Dict[str, SpotMarket]: - if self._spot_markets is None: - async with self._tokens_and_markets_initialization_lock: - if self._spot_markets is None: - await self._initialize_tokens_and_markets() - return deepcopy(self._spot_markets) - - async def all_derivative_markets(self) -> Dict[str, DerivativeMarket]: - if self._derivative_markets is None: - async with self._tokens_and_markets_initialization_lock: - if self._derivative_markets is None: - await self._initialize_tokens_and_markets() - return deepcopy(self._derivative_markets) - - async def all_binary_option_markets(self) -> Dict[str, BinaryOptionMarket]: - if self._binary_option_markets is None: - async with self._tokens_and_markets_initialization_lock: - if self._binary_option_markets is None: - await self._initialize_tokens_and_markets() - return deepcopy(self._binary_option_markets) - - def get_sequence(self): - current_seq = self.sequence - self.sequence += 1 - return current_seq - - def get_number(self): - return self.number - - async def get_tx(self, tx_hash): - """ - This method is deprecated and will be removed soon. Please use `fetch_tx` instead - """ - warn("This method is deprecated. Use fetch_tx instead", DeprecationWarning, stacklevel=2) - return await self.stubTx.GetTx(tx_service.GetTxRequest(hash=tx_hash)) - - async def fetch_tx(self, hash: str) -> Dict[str, Any]: - return await self.tx_api.fetch_tx(hash=hash) - - async def close_exchange_channel(self): - await self.exchange_channel.close() - self._cancel_timeout_height_sync_task() - - async def close_chain_channel(self): - await self.chain_channel.close() - self._cancel_timeout_height_sync_task() - - async def sync_timeout_height(self): - try: - block = await self.fetch_latest_block() - self.timeout_height = int(block["block"]["header"]["height"]) + DEFAULT_TIMEOUTHEIGHT - except Exception as e: - LoggerProvider().logger_for_class(logging_class=self.__class__).debug( - f"error while fetching latest block, setting timeout height to 0: {e}" - ) - self.timeout_height = 0 - - # default client methods - - async def get_account(self, address: str) -> Optional[account_pb2.EthAccount]: - """ - This method is deprecated and will be removed soon. Please use `fetch_account` instead - """ - warn("This method is deprecated. Use fetch_account instead", DeprecationWarning, stacklevel=2) - - try: - metadata = self.network.chain_cookie_assistant.metadata() - account_any = ( - await self.stubAuth.Account(auth_query.QueryAccountRequest(address=address), metadata=metadata) - ).account - account = account_pb2.EthAccount() - if account_any.Is(account.DESCRIPTOR): - account_any.Unpack(account) - self.number = int(account.base_account.account_number) - self.sequence = int(account.base_account.sequence) - except Exception as e: - LoggerProvider().logger_for_class(logging_class=self.__class__).debug( - f"error while fetching sequence and number {e}" - ) - return None - - async def fetch_account(self, address: str) -> Optional[account_pb2.EthAccount]: - result_account = None - try: - account = await self.auth_api.fetch_account(address=address) - parsed_account = account_pb2.EthAccount() - if parsed_account.DESCRIPTOR.full_name in account["account"]["@type"]: - json_format.ParseDict(js_dict=account["account"], message=parsed_account, ignore_unknown_fields=True) - self.number = parsed_account.base_account.account_number - self.sequence = parsed_account.base_account.sequence - result_account = parsed_account - except Exception as e: - LoggerProvider().logger_for_class(logging_class=self.__class__).debug( - f"error while fetching sequence and number {e}" - ) - - return result_account - - async def get_request_id_by_tx_hash(self, tx_hash: str) -> List[int]: - tx = await self.tx_api.fetch_tx(hash=tx_hash) - request_ids = [] - for log in tx["txResponse"].get("logs", []): - request_event = [ - event for event in log.get("events", []) if event["type"] == "request" or event["type"] == "report" - ] - if len(request_event) == 1: - attrs = request_event[0].get("attributes", []) - attr_id = [attr for attr in attrs if attr["key"] == "id"] - if len(attr_id) == 1: - request_id = attr_id[0]["value"] - request_ids.append(int(request_id)) - if len(request_ids) == 0: - raise NotFoundError("Request Id is not found") - return request_ids - - async def simulate_tx(self, tx_byte: bytes) -> Tuple[Union[abci_type.SimulationResponse, grpc.RpcError], bool]: - """ - This method is deprecated and will be removed soon. Please use `simulate` instead - """ - warn("This method is deprecated. Use simulate instead", DeprecationWarning, stacklevel=2) - try: - req = tx_service.SimulateRequest(tx_bytes=tx_byte) - metadata = self.network.chain_cookie_assistant.metadata() - return await self.stubTx.Simulate(request=req, metadata=metadata), True - except grpc.RpcError as err: - return err, False - - async def simulate(self, tx_bytes: bytes) -> Dict[str, Any]: - return await self.tx_api.simulate(tx_bytes=tx_bytes) - - async def send_tx_sync_mode(self, tx_byte: bytes) -> abci_type.TxResponse: - """ - This method is deprecated and will be removed soon. Please use `broadcast_tx_sync_mode` instead - """ - warn("This method is deprecated. Use broadcast_tx_sync_mode instead", DeprecationWarning, stacklevel=2) - req = tx_service.BroadcastTxRequest(tx_bytes=tx_byte, mode=tx_service.BroadcastMode.BROADCAST_MODE_SYNC) - metadata = self.network.chain_cookie_assistant.metadata() - result = await self.stubTx.BroadcastTx(request=req, metadata=metadata) - return result.tx_response - - async def broadcast_tx_sync_mode(self, tx_bytes: bytes) -> Dict[str, Any]: - return await self.tx_api.broadcast(tx_bytes=tx_bytes, mode=tx_service.BroadcastMode.BROADCAST_MODE_SYNC) - - async def send_tx_async_mode(self, tx_byte: bytes) -> abci_type.TxResponse: - """ - This method is deprecated and will be removed soon. Please use `broadcast_tx_async_mode` instead - """ - warn("This method is deprecated. Use broadcast_tx_async_mode instead", DeprecationWarning, stacklevel=2) - req = tx_service.BroadcastTxRequest(tx_bytes=tx_byte, mode=tx_service.BroadcastMode.BROADCAST_MODE_ASYNC) - metadata = self.network.chain_cookie_assistant.metadata() - result = await self.stubTx.BroadcastTx(request=req, metadata=metadata) - return result.tx_response - - async def broadcast_tx_async_mode(self, tx_bytes: bytes) -> Dict[str, Any]: - return await self.tx_api.broadcast(tx_bytes=tx_bytes, mode=tx_service.BroadcastMode.BROADCAST_MODE_ASYNC) - - async def send_tx_block_mode(self, tx_byte: bytes) -> abci_type.TxResponse: - """ - This method is deprecated and will be removed soon. BLOCK broadcast mode should not be used - """ - warn("This method is deprecated. BLOCK broadcast mode should not be used", DeprecationWarning, stacklevel=2) - req = tx_service.BroadcastTxRequest(tx_bytes=tx_byte, mode=tx_service.BroadcastMode.BROADCAST_MODE_BLOCK) - metadata = self.network.chain_cookie_assistant.metadata() - result = await self.stubTx.BroadcastTx(request=req, metadata=metadata) - return result.tx_response - - async def get_chain_id(self) -> str: - latest_block = await self.fetch_latest_block() - return latest_block["block"]["header"]["chainId"] - - async def get_grants(self, granter: str, grantee: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_grants` instead - """ - warn("This method is deprecated. Use fetch_grants instead", DeprecationWarning, stacklevel=2) - return await self.stubAuthz.Grants( - authz_query.QueryGrantsRequest( - granter=granter, - grantee=grantee, - msg_type_url=kwargs.get("msg_type_url"), - ) - ) - - async def fetch_grants( - self, - granter: str, - grantee: str, - msg_type_url: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.authz_api.fetch_grants( - granter=granter, - grantee=grantee, - msg_type_url=msg_type_url, - pagination=pagination, - ) - - async def get_bank_balances(self, address: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_balances` instead - """ - warn("This method is deprecated. Use fetch_bank_balances instead", DeprecationWarning, stacklevel=2) - return await self.stubBank.AllBalances(bank_query.QueryAllBalancesRequest(address=address)) - - async def fetch_bank_balances(self, address: str) -> Dict[str, Any]: - return await self.bank_api.fetch_balances(account_address=address) - - async def get_bank_balance(self, address: str, denom: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_bank_balance` instead - """ - warn("This method is deprecated. Use fetch_bank_balance instead", DeprecationWarning, stacklevel=2) - return await self.stubBank.Balance(bank_query.QueryBalanceRequest(address=address, denom=denom)) - - async def fetch_bank_balance(self, address: str, denom: str) -> Dict[str, Any]: - return await self.bank_api.fetch_balance(account_address=address, denom=denom) - - async def fetch_spendable_balances( - self, - address: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.bank_api.fetch_spendable_balances(account_address=address, pagination=pagination) - - async def fetch_spendable_balances_by_denom( - self, - address: str, - denom: str, - ) -> Dict[str, Any]: - return await self.bank_api.fetch_spendable_balances_by_denom(account_address=address, denom=denom) - - async def fetch_total_supply(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.bank_api.fetch_total_supply(pagination=pagination) - - async def fetch_supply_of(self, denom: str) -> Dict[str, Any]: - return await self.bank_api.fetch_supply_of(denom=denom) - - async def fetch_denom_metadata(self, denom: str) -> Dict[str, Any]: - return await self.bank_api.fetch_denom_metadata(denom=denom) - - async def fetch_denoms_metadata(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.bank_api.fetch_denoms_metadata(pagination=pagination) - - async def fetch_denom_owners(self, denom: str, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.bank_api.fetch_denom_owners(denom=denom, pagination=pagination) - - async def fetch_send_enabled( - self, - denoms: Optional[List[str]] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.bank_api.fetch_send_enabled(denoms=denoms, pagination=pagination) - - async def fetch_validator_distribution_info(self, validator_address: str) -> Dict[str, Any]: - return await self.distribution_api.fetch_validator_distribution_info(validator_address=validator_address) - - async def fetch_validator_outstanding_rewards(self, validator_address: str) -> Dict[str, Any]: - return await self.distribution_api.fetch_validator_outstanding_rewards(validator_address=validator_address) - - async def fetch_validator_commission(self, validator_address: str) -> Dict[str, Any]: - return await self.distribution_api.fetch_validator_commission(validator_address=validator_address) - - async def fetch_validator_slashes( - self, - validator_address: str, - starting_height: Optional[int] = None, - ending_height: Optional[int] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.distribution_api.fetch_validator_slashes( - validator_address=validator_address, - starting_height=starting_height, - ending_height=ending_height, - pagination=pagination, - ) - - async def fetch_delegation_rewards( - self, - delegator_address: str, - validator_address: str, - ) -> Dict[str, Any]: - return await self.distribution_api.fetch_delegation_rewards( - delegator_address=delegator_address, - validator_address=validator_address, - ) - - async def fetch_delegation_total_rewards( - self, - delegator_address: str, - ) -> Dict[str, Any]: - return await self.distribution_api.fetch_delegation_total_rewards( - delegator_address=delegator_address, - ) - - async def fetch_delegator_validators( - self, - delegator_address: str, - ) -> Dict[str, Any]: - return await self.distribution_api.fetch_delegator_validators( - delegator_address=delegator_address, - ) - - async def fetch_delegator_withdraw_address( - self, - delegator_address: str, - ) -> Dict[str, Any]: - return await self.distribution_api.fetch_delegator_withdraw_address( - delegator_address=delegator_address, - ) - - async def fetch_community_pool(self) -> Dict[str, Any]: - return await self.distribution_api.fetch_community_pool() - - # Exchange module - - async def fetch_subaccount_deposits( - self, - subaccount_id: Optional[str] = None, - subaccount_trader: Optional[str] = None, - subaccount_nonce: Optional[int] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_deposits( - subaccount_id=subaccount_id, - subaccount_trader=subaccount_trader, - subaccount_nonce=subaccount_nonce, - ) - - async def fetch_subaccount_deposit( - self, - subaccount_id: str, - denom: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_deposit( - subaccount_id=subaccount_id, - denom=denom, - ) - - async def fetch_exchange_balances(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_exchange_balances() - - async def fetch_aggregate_volume(self, account: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_aggregate_volume(account=account) - - async def fetch_aggregate_volumes( - self, - accounts: Optional[List[str]] = None, - market_ids: Optional[List[str]] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_aggregate_volumes( - accounts=accounts, - market_ids=market_ids, - ) - - async def fetch_aggregate_market_volume( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_aggregate_market_volume( - market_id=market_id, - ) - - async def fetch_aggregate_market_volumes( - self, - market_ids: Optional[List[str]] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_aggregate_market_volumes( - market_ids=market_ids, - ) - - async def fetch_denom_decimal(self, denom: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_denom_decimal(denom=denom) - - async def fetch_denom_decimals(self, denoms: Optional[List[str]] = None) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_denom_decimals(denoms=denoms) - - async def fetch_chain_spot_markets( - self, - status: Optional[str] = None, - market_ids: Optional[List[str]] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_spot_markets( - status=status, - market_ids=market_ids, - ) - - async def fetch_chain_spot_market( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_spot_market( - market_id=market_id, - ) - - async def fetch_chain_full_spot_markets( - self, - status: Optional[str] = None, - market_ids: Optional[List[str]] = None, - with_mid_price_and_tob: Optional[bool] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_full_spot_markets( - status=status, - market_ids=market_ids, - with_mid_price_and_tob=with_mid_price_and_tob, - ) - - async def fetch_chain_full_spot_market( - self, - market_id: str, - with_mid_price_and_tob: Optional[bool] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_full_spot_market( - market_id=market_id, - with_mid_price_and_tob=with_mid_price_and_tob, - ) - - async def fetch_chain_spot_orderbook( - self, - market_id: str, - order_side: Optional[str] = None, - limit_cumulative_notional: Optional[str] = None, - limit_cumulative_quantity: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - # Order side could be "Side_Unspecified", "Buy", "Sell" - return await self.chain_exchange_api.fetch_spot_orderbook( - market_id=market_id, - order_side=order_side, - limit_cumulative_notional=limit_cumulative_notional, - limit_cumulative_quantity=limit_cumulative_quantity, - pagination=pagination, - ) - - async def fetch_chain_trader_spot_orders( - self, - market_id: str, - subaccount_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trader_spot_orders( - market_id=market_id, - subaccount_id=subaccount_id, - ) - - async def fetch_chain_account_address_spot_orders( - self, - market_id: str, - account_address: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_account_address_spot_orders( - market_id=market_id, - account_address=account_address, - ) - - async def fetch_chain_spot_orders_by_hashes( - self, - market_id: str, - subaccount_id: str, - order_hashes: List[str], - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_spot_orders_by_hashes( - market_id=market_id, - subaccount_id=subaccount_id, - order_hashes=order_hashes, - ) - - async def fetch_chain_subaccount_orders( - self, - subaccount_id: str, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_orders( - subaccount_id=subaccount_id, - market_id=market_id, - ) - - async def fetch_chain_trader_spot_transient_orders( - self, - market_id: str, - subaccount_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trader_spot_transient_orders( - market_id=market_id, - subaccount_id=subaccount_id, - ) - - async def fetch_spot_mid_price_and_tob( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_spot_mid_price_and_tob( - market_id=market_id, - ) - - async def fetch_derivative_mid_price_and_tob( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_mid_price_and_tob( - market_id=market_id, - ) - - async def fetch_chain_derivative_orderbook( - self, - market_id: str, - limit_cumulative_notional: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_orderbook( - market_id=market_id, - limit_cumulative_notional=limit_cumulative_notional, - pagination=pagination, - ) - - async def fetch_chain_trader_derivative_orders( - self, - market_id: str, - subaccount_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trader_derivative_orders( - market_id=market_id, - subaccount_id=subaccount_id, - ) - - async def fetch_chain_account_address_derivative_orders( - self, - market_id: str, - account_address: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_account_address_derivative_orders( - market_id=market_id, - account_address=account_address, - ) - - async def fetch_chain_derivative_orders_by_hashes( - self, - market_id: str, - subaccount_id: str, - order_hashes: List[str], - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_orders_by_hashes( - market_id=market_id, - subaccount_id=subaccount_id, - order_hashes=order_hashes, - ) - - async def fetch_chain_trader_derivative_transient_orders( - self, - market_id: str, - subaccount_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trader_derivative_transient_orders( - market_id=market_id, - subaccount_id=subaccount_id, - ) - - async def fetch_chain_derivative_markets( - self, - status: Optional[str] = None, - market_ids: Optional[List[str]] = None, - with_mid_price_and_tob: Optional[bool] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_markets( - status=status, - market_ids=market_ids, - with_mid_price_and_tob=with_mid_price_and_tob, - ) - - async def fetch_chain_derivative_market( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_market( - market_id=market_id, - ) - - async def fetch_derivative_market_address(self, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_derivative_market_address(market_id=market_id) - - async def fetch_subaccount_trade_nonce(self, subaccount_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_trade_nonce(subaccount_id=subaccount_id) - - async def fetch_chain_positions(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_positions() - - async def fetch_chain_subaccount_positions(self, subaccount_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_positions(subaccount_id=subaccount_id) - - async def fetch_chain_subaccount_position_in_market(self, subaccount_id: str, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_position_in_market( - subaccount_id=subaccount_id, - market_id=market_id, - ) - - async def fetch_chain_subaccount_effective_position_in_market( - self, subaccount_id: str, market_id: str - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_effective_position_in_market( - subaccount_id=subaccount_id, - market_id=market_id, - ) - - async def fetch_chain_perpetual_market_info(self, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_perpetual_market_info(market_id=market_id) - - async def fetch_chain_expiry_futures_market_info(self, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_expiry_futures_market_info(market_id=market_id) - - async def fetch_chain_perpetual_market_funding(self, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_perpetual_market_funding(market_id=market_id) - - async def fetch_subaccount_order_metadata(self, subaccount_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_subaccount_order_metadata(subaccount_id=subaccount_id) - - async def fetch_trade_reward_points( - self, - accounts: Optional[List[str]] = None, - pending_pool_timestamp: Optional[int] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trade_reward_points( - accounts=accounts, - pending_pool_timestamp=pending_pool_timestamp, - ) - - async def fetch_pending_trade_reward_points( - self, - accounts: Optional[List[str]] = None, - pending_pool_timestamp: Optional[int] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_pending_trade_reward_points( - accounts=accounts, - pending_pool_timestamp=pending_pool_timestamp, - ) - - async def fetch_trade_reward_campaign(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trade_reward_campaign() - - async def fetch_fee_discount_account_info(self, account: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_fee_discount_account_info(account=account) - - async def fetch_fee_discount_schedule(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_fee_discount_schedule() - - async def fetch_balance_mismatches(self, dust_factor: int) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_balance_mismatches(dust_factor=dust_factor) - - async def fetch_balance_with_balance_holds(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_balance_with_balance_holds() - - async def fetch_fee_discount_tier_statistics(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_fee_discount_tier_statistics() - - async def fetch_mito_vault_infos(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_mito_vault_infos() - - async def fetch_market_id_from_vault(self, vault_address: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_market_id_from_vault(vault_address=vault_address) - - async def fetch_historical_trade_records(self, market_id: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_historical_trade_records(market_id=market_id) - - async def fetch_is_opted_out_of_rewards(self, account: str) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_is_opted_out_of_rewards(account=account) - - async def fetch_opted_out_of_rewards_accounts(self) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_opted_out_of_rewards_accounts() - - async def fetch_market_volatility( - self, - market_id: str, - trade_grouping_sec: Optional[int] = None, - max_age: Optional[int] = None, - include_raw_history: Optional[bool] = None, - include_metadata: Optional[bool] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_market_volatility( - market_id=market_id, - trade_grouping_sec=trade_grouping_sec, - max_age=max_age, - include_raw_history=include_raw_history, - include_metadata=include_metadata, - ) - - async def fetch_chain_binary_options_markets(self, status: Optional[str] = None) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_binary_options_markets(status=status) - - async def fetch_trader_derivative_conditional_orders( - self, - subaccount_id: Optional[str] = None, - market_id: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_trader_derivative_conditional_orders( - subaccount_id=subaccount_id, - market_id=market_id, - ) - - async def fetch_market_atomic_execution_fee_multiplier( - self, - market_id: str, - ) -> Dict[str, Any]: - return await self.chain_exchange_api.fetch_market_atomic_execution_fee_multiplier( - market_id=market_id, - ) - - # Injective Exchange client methods - - # Auction RPC - - async def get_auction(self, bid_round: int): - """ - This method is deprecated and will be removed soon. Please use `fetch_auction` instead - """ - warn("This method is deprecated. Use fetch_auction instead", DeprecationWarning, stacklevel=2) - req = auction_rpc_pb.AuctionEndpointRequest(round=bid_round) - return await self.stubAuction.AuctionEndpoint(req) - - async def fetch_auction(self, round: int) -> Dict[str, Any]: - return await self.exchange_auction_api.fetch_auction(round=round) - - async def get_auctions(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_auctions` instead - """ - warn("This method is deprecated. Use fetch_auctions instead", DeprecationWarning, stacklevel=2) - req = auction_rpc_pb.AuctionsRequest() - return await self.stubAuction.Auctions(req) - - async def fetch_auctions(self) -> Dict[str, Any]: - return await self.exchange_auction_api.fetch_auctions() - - async def stream_bids(self): - """ - This method is deprecated and will be removed soon. Please use `listen_bids_updates` instead - """ - warn("This method is deprecated. Use listen_bids_updates instead", DeprecationWarning, stacklevel=2) - req = auction_rpc_pb.StreamBidsRequest() - return self.stubAuction.StreamBids(req) - - async def listen_bids_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_auction_stream_api.stream_bids( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - # Meta RPC - - async def ping(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_ping` instead - """ - warn("This method is deprecated. Use fetch_ping instead", DeprecationWarning, stacklevel=2) - req = exchange_meta_rpc_pb.PingRequest() - return await self.stubMeta.Ping(req) - - async def fetch_ping(self) -> Dict[str, Any]: - return await self.exchange_meta_api.fetch_ping() - - async def version(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_version` instead - """ - warn("This method is deprecated. Use fetch_version instead", DeprecationWarning, stacklevel=2) - req = exchange_meta_rpc_pb.VersionRequest() - return await self.stubMeta.Version(req) - - async def fetch_version(self) -> Dict[str, Any]: - return await self.exchange_meta_api.fetch_version() - - async def info(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_info` instead - """ - warn("This method is deprecated. Use fetch_info instead", DeprecationWarning, stacklevel=2) - req = exchange_meta_rpc_pb.InfoRequest( - timestamp=int(time.time() * 1000), - ) - return await self.stubMeta.Info(req) - - async def fetch_info(self) -> Dict[str, Any]: - return await self.exchange_meta_api.fetch_info() - - async def stream_keepalive(self): - """ - This method is deprecated and will be removed soon. Please use `listen_keepalive` instead - """ - warn("This method is deprecated. Use listen_keepalive instead", DeprecationWarning, stacklevel=2) - req = exchange_meta_rpc_pb.StreamKeepaliveRequest() - return self.stubMeta.StreamKeepalive(req) - - async def listen_keepalive( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_meta_stream_api.stream_keepalive( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - # Wasm module - async def fetch_contract_info(self, address: str) -> Dict[str, Any]: - return await self.wasm_api.fetch_contract_info(address=address) - - async def fetch_contract_history( - self, - address: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_contract_history( - address=address, - pagination=pagination, - ) - - async def fetch_contracts_by_code( - self, - code_id: int, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_contracts_by_code( - code_id=code_id, - pagination=pagination, - ) - - async def fetch_all_contracts_state( - self, - address: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_all_contracts_state( - address=address, - pagination=pagination, - ) - - async def fetch_raw_contract_state(self, address: str, query_data: str) -> Dict[str, Any]: - return await self.wasm_api.fetch_raw_contract_state(address=address, query_data=query_data) - - async def fetch_smart_contract_state(self, address: str, query_data: str) -> Dict[str, Any]: - return await self.wasm_api.fetch_smart_contract_state(address=address, query_data=query_data) - - async def fetch_code(self, code_id: int) -> Dict[str, Any]: - return await self.wasm_api.fetch_code(code_id=code_id) - - async def fetch_codes( - self, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_codes( - pagination=pagination, - ) - - async def fetch_pinned_codes( - self, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_pinned_codes( - pagination=pagination, - ) - - async def fetch_contracts_by_creator( - self, - creator_address: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.wasm_api.fetch_contracts_by_creator( - creator_address=creator_address, - pagination=pagination, - ) - - # Token Factory module - - async def fetch_denom_authority_metadata( - self, - creator: str, - sub_denom: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.token_factory_api.fetch_denom_authority_metadata(creator=creator, sub_denom=sub_denom) - - async def fetch_denoms_from_creator( - self, - creator: str, - ) -> Dict[str, Any]: - return await self.token_factory_api.fetch_denoms_from_creator(creator=creator) - - async def fetch_tokenfactory_module_state(self) -> Dict[str, Any]: - return await self.token_factory_api.fetch_tokenfactory_module_state() - - # ------------------------------ - # region Tendermint module - async def fetch_node_info(self) -> Dict[str, Any]: - return await self.tendermint_api.fetch_node_info() - - async def fetch_syncing(self) -> Dict[str, Any]: - return await self.tendermint_api.fetch_syncing() - - async def get_latest_block(self) -> tendermint_query.GetLatestBlockResponse: - """ - This method is deprecated and will be removed soon. Please use `fetch_latest_block` instead - """ - warn("This method is deprecated. Use fetch_latest_block instead", DeprecationWarning, stacklevel=2) - req = tendermint_query.GetLatestBlockRequest() - return await self.stubCosmosTendermint.GetLatestBlock(req) - - async def fetch_latest_block(self) -> Dict[str, Any]: - return await self.tendermint_api.fetch_latest_block() - - async def fetch_block_by_height(self, height: int) -> Dict[str, Any]: - return await self.tendermint_api.fetch_block_by_height(height=height) - - async def fetch_latest_validator_set(self) -> Dict[str, Any]: - return await self.tendermint_api.fetch_latest_validator_set() - - async def fetch_validator_set_by_height( - self, height: int, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - return await self.tendermint_api.fetch_validator_set_by_height(height=height, pagination=pagination) - - async def abci_query( - self, path: str, data: Optional[bytes] = None, height: Optional[int] = None, prove: bool = False - ) -> Dict[str, Any]: - return await self.tendermint_api.abci_query(path=path, data=data, height=height, prove=prove) - - # endregion - - # ------------------------------ - # Explorer RPC - - async def get_tx_by_hash(self, tx_hash: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_tx_by_tx_hash` instead - """ - warn("This method is deprecated. Use fetch_tx_by_tx_hash instead", DeprecationWarning, stacklevel=2) - - req = explorer_rpc_pb.GetTxByTxHashRequest(hash=tx_hash) - return await self.stubExplorer.GetTxByTxHash(req) - - async def fetch_tx_by_tx_hash(self, tx_hash: str) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_tx_by_tx_hash(tx_hash=tx_hash) - - async def get_account_txs(self, address: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_account_txs` instead - """ - warn("This method is deprecated. Use fetch_account_txs instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetAccountTxsRequest( - address=address, - before=kwargs.get("before"), - after=kwargs.get("after"), - limit=kwargs.get("limit"), - skip=kwargs.get("skip"), - type=kwargs.get("type"), - module=kwargs.get("module"), - ) - return await self.stubExplorer.GetAccountTxs(req) - - async def fetch_account_txs( - self, - address: str, - before: Optional[int] = None, - after: Optional[int] = None, - message_type: Optional[str] = None, - module: Optional[str] = None, - from_number: Optional[int] = None, - to_number: Optional[int] = None, - status: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_account_txs( - address=address, - before=before, - after=after, - message_type=message_type, - module=module, - from_number=from_number, - to_number=to_number, - status=status, - pagination=pagination, - ) - - async def get_blocks(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_blocks` instead - """ - warn("This method is deprecated. Use fetch_blocks instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetBlocksRequest( - before=kwargs.get("before"), - after=kwargs.get("after"), - limit=kwargs.get("limit"), - ) - return await self.stubExplorer.GetBlocks(req) - - async def fetch_blocks( - self, - before: Optional[int] = None, - after: Optional[int] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_blocks(before=before, after=after, pagination=pagination) - - async def get_block(self, block_height: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_block` instead - """ - warn("This method is deprecated. Use fetch_block instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetBlockRequest(id=block_height) - return await self.stubExplorer.GetBlock(req) - - async def fetch_block(self, block_id: str) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_block(block_id=block_id) - - async def get_txs(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_txs` instead - """ - warn("This method is deprecated. Use fetch_txs instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetTxsRequest( - before=kwargs.get("before"), - after=kwargs.get("after"), - limit=kwargs.get("limit"), - skip=kwargs.get("skip"), - type=kwargs.get("type"), - module=kwargs.get("module"), - ) - return await self.stubExplorer.GetTxs(req) - - async def fetch_txs( - self, - before: Optional[int] = None, - after: Optional[int] = None, - message_type: Optional[str] = None, - module: Optional[str] = None, - from_number: Optional[int] = None, - to_number: Optional[int] = None, - status: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_txs( - before=before, - after=after, - message_type=message_type, - module=module, - from_number=from_number, - to_number=to_number, - status=status, - pagination=pagination, - ) - - async def stream_txs(self): - """ - This method is deprecated and will be removed soon. Please use `listen_txs_updates` instead - """ - warn("This method is deprecated. Use listen_txs_updates instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.StreamTxsRequest() - return self.stubExplorer.StreamTxs(req) - - async def listen_txs_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_explorer_stream_api.stream_txs( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_blocks(self): - """ - This method is deprecated and will be removed soon. Please use `listen_blocks_updates` instead - """ - warn("This method is deprecated. Use listen_blocks_updates instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.StreamBlocksRequest() - return self.stubExplorer.StreamBlocks(req) - - async def listen_blocks_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_explorer_stream_api.stream_blocks( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def get_peggy_deposits(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_peggy_deposit_txs` instead - """ - warn("This method is deprecated. Use fetch_peggy_deposit_txs instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetPeggyDepositTxsRequest( - sender=kwargs.get("sender"), - receiver=kwargs.get("receiver"), - limit=kwargs.get("limit"), - skip=kwargs.get("skip"), - ) - return await self.stubExplorer.GetPeggyDepositTxs(req) - - async def fetch_peggy_deposit_txs( - self, - sender: Optional[str] = None, - receiver: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_peggy_deposit_txs( - sender=sender, - receiver=receiver, - pagination=pagination, - ) - - async def get_peggy_withdrawals(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_peggy_withdrawal_txs` instead - """ - warn("This method is deprecated. Use fetch_peggy_withdrawal_txs instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetPeggyWithdrawalTxsRequest( - sender=kwargs.get("sender"), - receiver=kwargs.get("receiver"), - limit=kwargs.get("limit"), - skip=kwargs.get("skip"), - ) - return await self.stubExplorer.GetPeggyWithdrawalTxs(req) - - async def fetch_peggy_withdrawal_txs( - self, - sender: Optional[str] = None, - receiver: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_peggy_withdrawal_txs( - sender=sender, - receiver=receiver, - pagination=pagination, - ) - - async def get_ibc_transfers(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_ibc_transfer_txs` instead - """ - warn("This method is deprecated. Use fetch_ibc_transfer_txs instead", DeprecationWarning, stacklevel=2) - req = explorer_rpc_pb.GetIBCTransferTxsRequest( - sender=kwargs.get("sender"), - receiver=kwargs.get("receiver"), - src_channel=kwargs.get("src_channel"), - src_port=kwargs.get("src_port"), - dest_channel=kwargs.get("dest_channel"), - dest_port=kwargs.get("dest_port"), - limit=kwargs.get("limit"), - skip=kwargs.get("skip"), - ) - return await self.stubExplorer.GetIBCTransferTxs(req) - - async def fetch_ibc_transfer_txs( - self, - sender: Optional[str] = None, - receiver: Optional[str] = None, - src_channel: Optional[str] = None, - src_port: Optional[str] = None, - dest_channel: Optional[str] = None, - dest_port: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_ibc_transfer_txs( - sender=sender, - receiver=receiver, - src_channel=src_channel, - src_port=src_port, - dest_channel=dest_channel, - dest_port=dest_port, - pagination=pagination, - ) - - # AccountsRPC - - async def stream_subaccount_balance(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_subaccount_balance_updates` instead - """ - warn( - "This method is deprecated. Use listen_subaccount_balance_updates instead", DeprecationWarning, stacklevel=2 - ) - req = exchange_accounts_rpc_pb.StreamSubaccountBalanceRequest( - subaccount_id=subaccount_id, denoms=kwargs.get("denoms") - ) - return self.stubExchangeAccount.StreamSubaccountBalance(req) - - async def listen_subaccount_balance_updates( - self, - subaccount_id: str, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - denoms: Optional[List[str]] = None, - ): - await self.exchange_account_stream_api.stream_subaccount_balance( - subaccount_id=subaccount_id, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - denoms=denoms, - ) - - async def get_subaccount_balance(self, subaccount_id: str, denom: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_subaccount_balance` instead - """ - warn("This method is deprecated. Use fetch_subaccount_balance instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.SubaccountBalanceEndpointRequest(subaccount_id=subaccount_id, denom=denom) - return await self.stubExchangeAccount.SubaccountBalanceEndpoint(req) - - async def fetch_subaccount_balance(self, subaccount_id: str, denom: str) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_subaccount_balance(subaccount_id=subaccount_id, denom=denom) - - async def get_subaccount_list(self, account_address: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_subaccounts_list` instead - """ - warn("This method is deprecated. Use fetch_subaccounts_list instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.SubaccountsListRequest(account_address=account_address) - return await self.stubExchangeAccount.SubaccountsList(req) - - async def fetch_subaccounts_list(self, address: str) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_subaccounts_list(address=address) - - async def get_subaccount_balances_list(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_subaccount_balances_list` instead - """ - warn("This method is deprecated. Use fetch_subaccount_balances_list instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.SubaccountBalancesListRequest( - subaccount_id=subaccount_id, denoms=kwargs.get("denoms") - ) - return await self.stubExchangeAccount.SubaccountBalancesList(req) - - async def fetch_subaccount_balances_list( - self, subaccount_id: str, denoms: Optional[List[str]] = None - ) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_subaccount_balances_list( - subaccount_id=subaccount_id, denoms=denoms - ) - - async def get_subaccount_history(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_subaccount_history` instead - """ - warn("This method is deprecated. Use fetch_subaccount_history instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.SubaccountHistoryRequest( - subaccount_id=subaccount_id, - denom=kwargs.get("denom"), - transfer_types=kwargs.get("transfer_types"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - end_time=kwargs.get("end_time"), - ) - return await self.stubExchangeAccount.SubaccountHistory(req) - - async def fetch_subaccount_history( - self, - subaccount_id: str, - denom: Optional[str] = None, - transfer_types: Optional[List[str]] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_subaccount_history( - subaccount_id=subaccount_id, - denom=denom, - transfer_types=transfer_types, - pagination=pagination, - ) - - async def get_subaccount_order_summary(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_subaccount_order_summary` instead - """ - warn("This method is deprecated. Use fetch_subaccount_order_summary instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.SubaccountOrderSummaryRequest( - subaccount_id=subaccount_id, - order_direction=kwargs.get("order_direction"), - market_id=kwargs.get("market_id"), - ) - return await self.stubExchangeAccount.SubaccountOrderSummary(req) - - async def fetch_subaccount_order_summary( - self, - subaccount_id: str, - market_id: Optional[str] = None, - order_direction: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_subaccount_order_summary( - subaccount_id=subaccount_id, - market_id=market_id, - order_direction=order_direction, - ) - - async def get_order_states(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_order_states` instead - """ - warn("This method is deprecated. Use fetch_order_states instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.OrderStatesRequest( - spot_order_hashes=kwargs.get("spot_order_hashes"), - derivative_order_hashes=kwargs.get("derivative_order_hashes"), - ) - return await self.stubExchangeAccount.OrderStates(req) - - async def fetch_order_states( - self, - spot_order_hashes: Optional[List[str]] = None, - derivative_order_hashes: Optional[List[str]] = None, - ) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_order_states( - spot_order_hashes=spot_order_hashes, - derivative_order_hashes=derivative_order_hashes, - ) - - async def get_portfolio(self, account_address: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_portfolio` instead - """ - warn("This method is deprecated. Use fetch_portfolio instead", DeprecationWarning, stacklevel=2) - - req = exchange_accounts_rpc_pb.PortfolioRequest(account_address=account_address) - return await self.stubExchangeAccount.Portfolio(req) - - async def fetch_portfolio(self, account_address: str) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_portfolio(account_address=account_address) - - async def get_rewards(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_rewards` instead - """ - warn("This method is deprecated. Use fetch_rewards instead", DeprecationWarning, stacklevel=2) - req = exchange_accounts_rpc_pb.RewardsRequest( - account_address=kwargs.get("account_address"), epoch=kwargs.get("epoch") - ) - return await self.stubExchangeAccount.Rewards(req) - - async def fetch_rewards(self, account_address: Optional[str] = None, epoch: Optional[int] = None) -> Dict[str, Any]: - return await self.exchange_account_api.fetch_rewards(account_address=account_address, epoch=epoch) - - # OracleRPC - - async def stream_oracle_prices(self, base_symbol: str, quote_symbol: str, oracle_type: str): - """ - This method is deprecated and will be removed soon. Please use `listen_subaccount_balance_updates` instead - """ - warn("This method is deprecated. Use listen_oracle_prices_updates instead", DeprecationWarning, stacklevel=2) - req = oracle_rpc_pb.StreamPricesRequest( - base_symbol=base_symbol, quote_symbol=quote_symbol, oracle_type=oracle_type - ) - return self.stubOracle.StreamPrices(req) - - async def listen_oracle_prices_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - base_symbol: Optional[str] = None, - quote_symbol: Optional[str] = None, - oracle_type: Optional[str] = None, - ): - await self.exchange_oracle_stream_api.stream_oracle_prices( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - base_symbol=base_symbol, - quote_symbol=quote_symbol, - oracle_type=oracle_type, - ) - - async def get_oracle_prices( - self, - base_symbol: str, - quote_symbol: str, - oracle_type: str, - oracle_scale_factor: int, - ): - """ - This method is deprecated and will be removed soon. Please use `fetch_oracle_price` instead - """ - warn("This method is deprecated. Use fetch_oracle_price instead", DeprecationWarning, stacklevel=2) - req = oracle_rpc_pb.PriceRequest( - base_symbol=base_symbol, - quote_symbol=quote_symbol, - oracle_type=oracle_type, - oracle_scale_factor=oracle_scale_factor, - ) - return await self.stubOracle.Price(req) - - async def fetch_oracle_price( - self, - base_symbol: Optional[str] = None, - quote_symbol: Optional[str] = None, - oracle_type: Optional[str] = None, - oracle_scale_factor: Optional[int] = None, - ) -> Dict[str, Any]: - return await self.exchange_oracle_api.fetch_oracle_price( - base_symbol=base_symbol, - quote_symbol=quote_symbol, - oracle_type=oracle_type, - oracle_scale_factor=oracle_scale_factor, - ) - - async def get_oracle_list(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_oracle_list` instead - """ - warn("This method is deprecated. Use fetch_oracle_list instead", DeprecationWarning, stacklevel=2) - req = oracle_rpc_pb.OracleListRequest() - return await self.stubOracle.OracleList(req) - - async def fetch_oracle_list(self) -> Dict[str, Any]: - return await self.exchange_oracle_api.fetch_oracle_list() - - # InsuranceRPC - - async def get_insurance_funds(self): - """ - This method is deprecated and will be removed soon. Please use `fetch_insurance_funds` instead - """ - warn("This method is deprecated. Use fetch_insurance_funds instead", DeprecationWarning, stacklevel=2) - req = insurance_rpc_pb.FundsRequest() - return await self.stubInsurance.Funds(req) - - async def fetch_insurance_funds(self) -> Dict[str, Any]: - return await self.exchange_insurance_api.fetch_insurance_funds() - - async def get_redemptions(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_redemptions` instead - """ - warn("This method is deprecated. Use fetch_redemptions instead", DeprecationWarning, stacklevel=2) - req = insurance_rpc_pb.RedemptionsRequest( - redeemer=kwargs.get("redeemer"), - redemption_denom=kwargs.get("redemption_denom"), - status=kwargs.get("status"), - ) - return await self.stubInsurance.Redemptions(req) - - async def fetch_redemptions( - self, - address: Optional[str] = None, - denom: Optional[str] = None, - status: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.exchange_insurance_api.fetch_redemptions( - address=address, - denom=denom, - status=status, - ) - - # SpotRPC - - async def get_spot_market(self, market_id: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_market` instead - """ - warn("This method is deprecated. Use fetch_spot_market instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.MarketRequest(market_id=market_id) - return await self.stubSpotExchange.Market(req) - - async def fetch_spot_market(self, market_id: str) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_market(market_id=market_id) - - async def get_spot_markets(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_markets` instead - """ - warn("This method is deprecated. Use fetch_spot_markets instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.MarketsRequest( - market_status=kwargs.get("market_status"), - base_denom=kwargs.get("base_denom"), - quote_denom=kwargs.get("quote_denom"), - ) - return await self.stubSpotExchange.Markets(req) - - async def fetch_spot_markets( - self, - market_statuses: Optional[List[str]] = None, - base_denom: Optional[str] = None, - quote_denom: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_markets( - market_statuses=market_statuses, base_denom=base_denom, quote_denom=quote_denom - ) - - async def stream_spot_markets(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_markets_updates` instead - """ - warn("This method is deprecated. Use listen_spot_markets_updates instead", DeprecationWarning, stacklevel=2) - - req = spot_exchange_rpc_pb.StreamMarketsRequest(market_ids=kwargs.get("market_ids")) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamMarkets(request=req, metadata=metadata) - - async def listen_spot_markets_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - ): - await self.exchange_spot_stream_api.stream_markets( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - ) - - async def get_spot_orderbookV2(self, market_id: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_orderbook_v2` instead - """ - warn("This method is deprecated. Use fetch_spot_orderbook_v2 instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.OrderbookV2Request(market_id=market_id) - return await self.stubSpotExchange.OrderbookV2(req) - - async def fetch_spot_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_orderbook_v2(market_id=market_id) - - async def get_spot_orderbooksV2(self, market_ids: List): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_orderbooks_v2` instead - """ - warn("This method is deprecated. Use fetch_spot_orderbooks_v2 instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.OrderbooksV2Request(market_ids=market_ids) - return await self.stubSpotExchange.OrderbooksV2(req) - - async def fetch_spot_orderbooks_v2(self, market_ids: List[str]) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_orderbooks_v2(market_ids=market_ids) - - async def get_spot_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_orders` instead - """ - warn("This method is deprecated. Use fetch_spot_orders instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.OrdersRequest( - market_id=market_id, - order_side=kwargs.get("order_side"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - include_inactive=kwargs.get("include_inactive"), - subaccount_total_orders=kwargs.get("subaccount_total_orders"), - trade_id=kwargs.get("trade_id"), - cid=kwargs.get("cid"), - ) - return await self.stubSpotExchange.Orders(req) - - async def fetch_spot_orders( - self, - market_ids: Optional[List[str]] = None, - order_side: Optional[str] = None, - subaccount_id: Optional[str] = None, - include_inactive: Optional[bool] = None, - subaccount_total_orders: Optional[bool] = None, - trade_id: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_orders( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - pagination=pagination, - ) - - async def get_historical_spot_orders(self, market_id: Optional[str] = None, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_orders_history` instead - """ - warn("This method is deprecated. Use fetch_spot_orders_history instead", DeprecationWarning, stacklevel=2) - market_ids = kwargs.get("market_ids", []) - if market_id is not None: - market_ids.append(market_id) - order_types = kwargs.get("order_types", []) - order_type = kwargs.get("order_type") - if order_type is not None: - order_types.append(market_id) - req = spot_exchange_rpc_pb.OrdersHistoryRequest( - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - order_types=order_types, - direction=kwargs.get("direction"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - state=kwargs.get("state"), - execution_types=kwargs.get("execution_types", []), - market_ids=market_ids, - trade_id=kwargs.get("trade_id"), - active_markets_only=kwargs.get("active_markets_only"), - cid=kwargs.get("cid"), - ) - return await self.stubSpotExchange.OrdersHistory(req) - - async def fetch_spot_orders_history( - self, - subaccount_id: Optional[str] = None, - market_ids: Optional[List[str]] = None, - order_types: Optional[List[str]] = None, - direction: Optional[str] = None, - state: Optional[str] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - active_markets_only: Optional[bool] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_orders_history( - subaccount_id=subaccount_id, - market_ids=market_ids, - order_types=order_types, - direction=direction, - state=state, - execution_types=execution_types, - trade_id=trade_id, - active_markets_only=active_markets_only, - cid=cid, - pagination=pagination, - ) - - async def get_spot_trades(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_trades` instead - """ - warn("This method is deprecated. Use fetch_spot_trades instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.TradesRequest( - market_id=kwargs.get("market_id"), - execution_side=kwargs.get("execution_side"), - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - subaccount_ids=kwargs.get("subaccount_ids"), - execution_types=kwargs.get("execution_types"), - trade_id=kwargs.get("trade_id"), - account_address=kwargs.get("account_address"), - cid=kwargs.get("cid"), - ) - return await self.stubSpotExchange.Trades(req) - - async def fetch_spot_trades( - self, - market_ids: Optional[List[str]] = None, - subaccount_ids: Optional[List[str]] = None, - execution_side: Optional[str] = None, - direction: Optional[str] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - account_address: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_trades_v2( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - pagination=pagination, - ) - - async def stream_spot_orderbook_snapshot(self, market_ids: List[str]): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_orderbook_snapshots` instead - """ - warn("This method is deprecated. Use listen_spot_orderbook_snapshots instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.StreamOrderbookV2Request(market_ids=market_ids) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamOrderbookV2(request=req, metadata=metadata) - - async def listen_spot_orderbook_snapshots( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_spot_stream_api.stream_orderbook_v2( - market_ids=market_ids, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_spot_orderbook_update(self, market_ids: List[str]): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_orderbook_updates` instead - """ - warn("This method is deprecated. Use listen_spot_orderbook_updates instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.StreamOrderbookUpdateRequest(market_ids=market_ids) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamOrderbookUpdate(request=req, metadata=metadata) - - async def listen_spot_orderbook_updates( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_spot_stream_api.stream_orderbook_update( - market_ids=market_ids, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_spot_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_orders_updates` instead - """ - warn("This method is deprecated. Use listen_spot_orders_updates instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.StreamOrdersRequest( - market_id=market_id, - order_side=kwargs.get("order_side"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - include_inactive=kwargs.get("include_inactive"), - subaccount_total_orders=kwargs.get("subaccount_total_orders"), - trade_id=kwargs.get("trade_id"), - cid=kwargs.get("cid"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamOrders(request=req, metadata=metadata) - - async def listen_spot_orders_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - order_side: Optional[str] = None, - subaccount_id: Optional[PaginationOption] = None, - include_inactive: Optional[bool] = None, - subaccount_total_orders: Optional[bool] = None, - trade_id: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ): - await self.exchange_spot_stream_api.stream_orders( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - pagination=pagination, - ) - - async def stream_historical_spot_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_orders_history_updates` instead - """ - warn( - "This method is deprecated. Use listen_spot_orders_history_updates instead", - DeprecationWarning, - stacklevel=2, - ) - req = spot_exchange_rpc_pb.StreamOrdersHistoryRequest( - market_id=market_id, - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - order_types=kwargs.get("order_types"), - state=kwargs.get("state"), - execution_types=kwargs.get("execution_types"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamOrdersHistory(request=req, metadata=metadata) - - async def listen_spot_orders_history_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - subaccount_id: Optional[str] = None, - market_id: Optional[str] = None, - order_types: Optional[List[str]] = None, - direction: Optional[str] = None, - state: Optional[str] = None, - execution_types: Optional[List[str]] = None, - ): - await self.exchange_spot_stream_api.stream_orders_history( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - subaccount_id=subaccount_id, - market_id=market_id, - order_types=order_types, - direction=direction, - state=state, - execution_types=execution_types, - ) - - async def stream_historical_derivative_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. - Please use `listen_derivative_orders_history_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_orders_history_updates instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.StreamOrdersHistoryRequest( - market_id=market_id, - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - order_types=kwargs.get("order_types"), - state=kwargs.get("state"), - execution_types=kwargs.get("execution_types"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamOrdersHistory(request=req, metadata=metadata) - - async def listen_derivative_orders_history_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - subaccount_id: Optional[str] = None, - market_id: Optional[str] = None, - order_types: Optional[List[str]] = None, - direction: Optional[str] = None, - state: Optional[str] = None, - execution_types: Optional[List[str]] = None, - ): - await self.exchange_derivative_stream_api.stream_orders_history( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - subaccount_id=subaccount_id, - market_id=market_id, - order_types=order_types, - direction=direction, - state=state, - execution_types=execution_types, - ) - - async def stream_spot_trades(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_spot_trades_updates` instead - """ - warn("This method is deprecated. Use listen_spot_trades_updates instead", DeprecationWarning, stacklevel=2) - req = spot_exchange_rpc_pb.StreamTradesRequest( - market_id=kwargs.get("market_id"), - execution_side=kwargs.get("execution_side"), - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - subaccount_ids=kwargs.get("subaccount_ids"), - execution_types=kwargs.get("execution_types"), - trade_id=kwargs.get("trade_id"), - account_address=kwargs.get("account_address"), - cid=kwargs.get("cid"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubSpotExchange.StreamTrades(request=req, metadata=metadata) - - async def listen_spot_trades_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - subaccount_ids: Optional[List[str]] = None, - execution_side: Optional[str] = None, - direction: Optional[str] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - account_address: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ): - await self.exchange_spot_stream_api.stream_trades_v2( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - pagination=pagination, - ) - - async def get_spot_subaccount_orders(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_subaccount_orders_list` instead - """ - warn( - "This method is deprecated. Use fetch_spot_subaccount_orders_list instead", DeprecationWarning, stacklevel=2 - ) - req = spot_exchange_rpc_pb.SubaccountOrdersListRequest( - subaccount_id=subaccount_id, - market_id=kwargs.get("market_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubSpotExchange.SubaccountOrdersList(req) - - async def fetch_spot_subaccount_orders_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_subaccount_orders_list( - subaccount_id=subaccount_id, market_id=market_id, pagination=pagination - ) - - async def get_spot_subaccount_trades(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_spot_subaccount_trades_list` instead - """ - warn( - "This method is deprecated. Use fetch_spot_subaccount_trades_list instead", DeprecationWarning, stacklevel=2 - ) - req = spot_exchange_rpc_pb.SubaccountTradesListRequest( - subaccount_id=subaccount_id, - market_id=kwargs.get("market_id"), - execution_type=kwargs.get("execution_type"), - direction=kwargs.get("direction"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubSpotExchange.SubaccountTradesList(req) - - async def fetch_spot_subaccount_trades_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - execution_type: Optional[str] = None, - direction: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_spot_api.fetch_subaccount_trades_list( - subaccount_id=subaccount_id, - market_id=market_id, - execution_type=execution_type, - direction=direction, - pagination=pagination, - ) - - # DerivativeRPC - - async def get_derivative_market(self, market_id: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_market` instead - """ - warn("This method is deprecated. Use fetch_derivative_market instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.MarketRequest(market_id=market_id) - return await self.stubDerivativeExchange.Market(req) - - async def fetch_derivative_market(self, market_id: str) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_market(market_id=market_id) - - async def get_derivative_markets(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_markets` instead - """ - warn("This method is deprecated. Use fetch_derivative_markets instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.MarketsRequest( - market_status=kwargs.get("market_status"), - quote_denom=kwargs.get("quote_denom"), - ) - return await self.stubDerivativeExchange.Markets(req) - - async def fetch_derivative_markets( - self, - market_statuses: Optional[List[str]] = None, - quote_denom: Optional[str] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_markets( - market_statuses=market_statuses, - quote_denom=quote_denom, - ) - - async def stream_derivative_markets(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_market_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_market_updates instead", DeprecationWarning, stacklevel=2 - ) - req = derivative_exchange_rpc_pb.StreamMarketRequest(market_ids=kwargs.get("market_ids")) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamMarket(request=req, metadata=metadata) - - async def listen_derivative_market_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - ): - await self.exchange_derivative_stream_api.stream_market( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - ) - - async def get_derivative_orderbook(self, market_id: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_orderbook_v2` instead - """ - warn("This method is deprecated. Use fetch_derivative_orderbook_v2 instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.OrderbookV2Request(market_id=market_id) - return await self.stubDerivativeExchange.OrderbookV2(req) - - async def fetch_derivative_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_orderbook_v2(market_id=market_id) - - async def get_derivative_orderbooksV2(self, market_ids: List[str]): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_orderbooks_v2` instead - """ - warn("This method is deprecated. Use fetch_derivative_orderbooks_v2 instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.OrderbooksV2Request(market_ids=market_ids) - return await self.stubDerivativeExchange.OrderbooksV2(req) - - async def fetch_derivative_orderbooks_v2(self, market_ids: List[str]) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_orderbooks_v2(market_ids=market_ids) - - async def get_derivative_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_orders` instead - """ - warn("This method is deprecated. Use fetch_derivative_orders instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.OrdersRequest( - market_id=market_id, - order_side=kwargs.get("order_side"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - is_conditional=kwargs.get("is_conditional"), - order_type=kwargs.get("order_type"), - include_inactive=kwargs.get("include_inactive"), - subaccount_total_orders=kwargs.get("subaccount_total_orders"), - trade_id=kwargs.get("trade_id"), - cid=kwargs.get("cid"), - ) - return await self.stubDerivativeExchange.Orders(req) - - async def fetch_derivative_orders( - self, - market_ids: Optional[List[str]] = None, - order_side: Optional[str] = None, - subaccount_id: Optional[str] = None, - is_conditional: Optional[str] = None, - order_type: Optional[str] = None, - include_inactive: Optional[bool] = None, - subaccount_total_orders: Optional[bool] = None, - trade_id: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_orders( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - is_conditional=is_conditional, - order_type=order_type, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - pagination=pagination, - ) - - async def get_historical_derivative_orders(self, market_id: Optional[str] = None, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_orders_history` instead - """ - warn("This method is deprecated. Use fetch_derivative_orders_history instead", DeprecationWarning, stacklevel=2) - market_ids = kwargs.get("market_ids", []) - if market_id is not None: - market_ids.append(market_id) - order_types = kwargs.get("order_types", []) - order_type = kwargs.get("order_type") - if order_type is not None: - order_types.append(market_id) - req = derivative_exchange_rpc_pb.OrdersHistoryRequest( - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - order_types=order_types, - direction=kwargs.get("direction"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - is_conditional=kwargs.get("is_conditional"), - state=kwargs.get("state"), - execution_types=kwargs.get("execution_types", []), - market_ids=market_ids, - trade_id=kwargs.get("trade_id"), - active_markets_only=kwargs.get("active_markets_only"), - cid=kwargs.get("cid"), - ) - return await self.stubDerivativeExchange.OrdersHistory(req) - - async def fetch_derivative_orders_history( - self, - subaccount_id: Optional[str] = None, - market_ids: Optional[List[str]] = None, - order_types: Optional[List[str]] = None, - direction: Optional[str] = None, - is_conditional: Optional[str] = None, - state: Optional[str] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - active_markets_only: Optional[bool] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_orders_history( - subaccount_id=subaccount_id, - market_ids=market_ids, - order_types=order_types, - direction=direction, - is_conditional=is_conditional, - state=state, - execution_types=execution_types, - trade_id=trade_id, - active_markets_only=active_markets_only, - cid=cid, - pagination=pagination, - ) - - async def get_derivative_trades(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_trades` instead - """ - warn("This method is deprecated. Use fetch_derivative_trades instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.TradesRequest( - market_id=kwargs.get("market_id"), - execution_side=kwargs.get("execution_side"), - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - subaccount_ids=kwargs.get("subaccount_ids"), - execution_types=kwargs.get("execution_types"), - trade_id=kwargs.get("trade_id"), - account_address=kwargs.get("account_address"), - cid=kwargs.get("cid"), - ) - return await self.stubDerivativeExchange.Trades(req) - - async def fetch_derivative_trades( - self, - market_ids: Optional[List[str]] = None, - subaccount_ids: Optional[List[str]] = None, - execution_side: Optional[str] = None, - direction: Optional[str] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - account_address: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_trades_v2( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - pagination=pagination, - ) - - async def stream_derivative_orderbook_snapshot(self, market_ids: List[str]): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_orderbook_snapshots` instead - """ - warn( - "This method is deprecated. Use listen_derivative_orderbook_snapshots instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.StreamOrderbookV2Request(market_ids=market_ids) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamOrderbookV2(request=req, metadata=metadata) - - async def listen_derivative_orderbook_snapshots( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_derivative_stream_api.stream_orderbook_v2( - market_ids=market_ids, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_derivative_orderbook_update(self, market_ids: List[str]): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_orderbook_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_orderbook_updates instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.StreamOrderbookUpdateRequest(market_ids=market_ids) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamOrderbookUpdate(request=req, metadata=metadata) - - async def listen_derivative_orderbook_updates( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - await self.exchange_derivative_stream_api.stream_orderbook_update( - market_ids=market_ids, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_derivative_orders(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_orders_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_orders_updates instead", DeprecationWarning, stacklevel=2 - ) - req = derivative_exchange_rpc_pb.StreamOrdersRequest( - market_id=market_id, - order_side=kwargs.get("order_side"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - is_conditional=kwargs.get("is_conditional"), - order_type=kwargs.get("order_type"), - include_inactive=kwargs.get("include_inactive"), - subaccount_total_orders=kwargs.get("subaccount_total_orders"), - trade_id=kwargs.get("trade_id"), - cid=kwargs.get("cid"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamOrders(request=req, metadata=metadata) - - async def listen_derivative_orders_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - order_side: Optional[str] = None, - subaccount_id: Optional[PaginationOption] = None, - is_conditional: Optional[str] = None, - order_type: Optional[str] = None, - include_inactive: Optional[bool] = None, - subaccount_total_orders: Optional[bool] = None, - trade_id: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ): - await self.exchange_derivative_stream_api.stream_orders( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - is_conditional=is_conditional, - order_type=order_type, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - pagination=pagination, - ) - - async def stream_derivative_trades(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_trades_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_trades_updates instead", DeprecationWarning, stacklevel=2 - ) - req = derivative_exchange_rpc_pb.StreamTradesRequest( - market_id=kwargs.get("market_id"), - execution_side=kwargs.get("execution_side"), - direction=kwargs.get("direction"), - subaccount_id=kwargs.get("subaccount_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - start_time=kwargs.get("start_time"), - end_time=kwargs.get("end_time"), - market_ids=kwargs.get("market_ids"), - subaccount_ids=kwargs.get("subaccount_ids"), - execution_types=kwargs.get("execution_types"), - trade_id=kwargs.get("trade_id"), - account_address=kwargs.get("account_address"), - cid=kwargs.get("cid"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamTrades(request=req, metadata=metadata) - - async def listen_derivative_trades_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - execution_side: Optional[str] = None, - direction: Optional[str] = None, - subaccount_ids: Optional[List[str]] = None, - execution_types: Optional[List[str]] = None, - trade_id: Optional[str] = None, - account_address: Optional[str] = None, - cid: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ): - return await self.exchange_derivative_stream_api.stream_trades_v2( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - pagination=pagination, - ) - - async def get_derivative_positions(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_positions_v2` instead - """ - warn("This method is deprecated. Use fetch_derivative_positions_v2 instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.PositionsRequest( - market_id=kwargs.get("market_id"), - market_ids=kwargs.get("market_ids"), - subaccount_id=kwargs.get("subaccount_id"), - direction=kwargs.get("direction"), - subaccount_total_positions=kwargs.get("subaccount_total_positions"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.Positions(req) - - async def fetch_derivative_positions_v2( - self, - market_ids: Optional[List[str]] = None, - subaccount_id: Optional[str] = None, - direction: Optional[str] = None, - subaccount_total_positions: Optional[bool] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_positions_v2( - market_ids=market_ids, - subaccount_id=subaccount_id, - direction=direction, - subaccount_total_positions=subaccount_total_positions, - pagination=pagination, - ) - - async def stream_derivative_positions(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_derivative_positions_updates` instead - """ - warn( - "This method is deprecated. Use listen_derivative_positions_updates instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.StreamPositionsRequest( - market_id=kwargs.get("market_id"), - market_ids=kwargs.get("market_ids"), - subaccount_id=kwargs.get("subaccount_id"), - subaccount_ids=kwargs.get("subaccount_ids"), - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubDerivativeExchange.StreamPositions(request=req, metadata=metadata) - - async def listen_derivative_positions_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - subaccount_ids: Optional[List[str]] = None, - ): - await self.exchange_derivative_stream_api.stream_positions( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - ) - - async def get_derivative_liquidable_positions(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_liquidable_positions` instead - """ - warn( - "This method is deprecated. Use fetch_derivative_liquidable_positions instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.LiquidablePositionsRequest( - market_id=kwargs.get("market_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.LiquidablePositions(req) - - async def fetch_derivative_liquidable_positions( - self, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_liquidable_positions( - market_id=market_id, - pagination=pagination, - ) - - async def get_derivative_subaccount_orders(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_subaccount_orders` instead - """ - warn( - "This method is deprecated. Use fetch_derivative_subaccount_orders instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.SubaccountOrdersListRequest( - subaccount_id=subaccount_id, - market_id=kwargs.get("market_id"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.SubaccountOrdersList(req) - - async def fetch_subaccount_orders_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_subaccount_orders_list( - subaccount_id=subaccount_id, market_id=market_id, pagination=pagination - ) - - async def get_derivative_subaccount_trades(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_derivative_subaccount_trades` instead - """ - warn( - "This method is deprecated. Use fetch_derivative_subaccount_trades instead", - DeprecationWarning, - stacklevel=2, - ) - req = derivative_exchange_rpc_pb.SubaccountTradesListRequest( - subaccount_id=subaccount_id, - market_id=kwargs.get("market_id"), - execution_type=kwargs.get("execution_type"), - direction=kwargs.get("direction"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.SubaccountTradesList(req) - - async def fetch_derivative_subaccount_trades_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - execution_type: Optional[str] = None, - direction: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_subaccount_trades_list( - subaccount_id=subaccount_id, - market_id=market_id, - execution_type=execution_type, - direction=direction, - pagination=pagination, - ) - - async def get_funding_payments(self, subaccount_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_funding_payments` instead - """ - warn("This method is deprecated. Use fetch_funding_payments instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.FundingPaymentsRequest( - subaccount_id=subaccount_id, - market_id=kwargs.get("market_id"), - market_ids=kwargs.get("market_ids"), - skip=kwargs.get("skip"), - end_time=kwargs.get("end_time"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.FundingPayments(req) - - async def fetch_funding_payments( - self, - market_ids: Optional[List[str]] = None, - subaccount_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_funding_payments( - market_ids=market_ids, subaccount_id=subaccount_id, pagination=pagination - ) - - async def get_funding_rates(self, market_id: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_funding_rates` instead - """ - warn("This method is deprecated. Use fetch_funding_rates instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.FundingRatesRequest( - market_id=market_id, - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - end_time=kwargs.get("end_time"), - ) - return await self.stubDerivativeExchange.FundingRates(req) - - async def fetch_funding_rates( - self, - market_id: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_funding_rates(market_id=market_id, pagination=pagination) - - async def get_binary_options_markets(self, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `fetch_binary_options_markets` instead - """ - warn("This method is deprecated. Use fetch_binary_options_markets instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.BinaryOptionsMarketsRequest( - market_status=kwargs.get("market_status"), - quote_denom=kwargs.get("quote_denom"), - skip=kwargs.get("skip"), - limit=kwargs.get("limit"), - ) - return await self.stubDerivativeExchange.BinaryOptionsMarkets(req) - - async def fetch_binary_options_markets( - self, - market_status: Optional[str] = None, - quote_denom: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_binary_options_markets( - market_status=market_status, - quote_denom=quote_denom, - pagination=pagination, - ) - - async def get_binary_options_market(self, market_id: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_binary_options_market` instead - """ - warn("This method is deprecated. Use fetch_binary_options_market instead", DeprecationWarning, stacklevel=2) - req = derivative_exchange_rpc_pb.BinaryOptionsMarketRequest(market_id=market_id) - return await self.stubDerivativeExchange.BinaryOptionsMarket(req) - - async def fetch_binary_options_market(self, market_id: str) -> Dict[str, Any]: - return await self.exchange_derivative_api.fetch_binary_options_market(market_id=market_id) - - # PortfolioRPC - - async def get_account_portfolio(self, account_address: str): - """ - This method is deprecated and will be removed soon. Please use `fetch_account_portfolio_balances` instead - """ - warn( - "This method is deprecated. Use fetch_account_portfolio_balances instead", DeprecationWarning, stacklevel=2 - ) - req = portfolio_rpc_pb.AccountPortfolioRequest(account_address=account_address) - return await self.stubPortfolio.AccountPortfolio(req) - - async def fetch_account_portfolio_balances(self, account_address: str) -> Dict[str, Any]: - return await self.exchange_portfolio_api.fetch_account_portfolio_balances(account_address=account_address) - - async def stream_account_portfolio(self, account_address: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `listen_account_portfolio_updates` instead - """ - warn( - "This method is deprecated. Use listen_account_portfolio_updates instead", DeprecationWarning, stacklevel=2 - ) - req = portfolio_rpc_pb.StreamAccountPortfolioRequest( - account_address=account_address, subaccount_id=kwargs.get("subaccount_id"), type=kwargs.get("type") - ) - metadata = self.network.exchange_cookie_assistant.metadata() - return self.stubPortfolio.StreamAccountPortfolio(request=req, metadata=metadata) - - async def listen_account_portfolio_updates( - self, - account_address: str, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - subaccount_id: Optional[str] = None, - update_type: Optional[str] = None, - ): - await self.exchange_portfolio_stream_api.stream_account_portfolio( - account_address=account_address, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - subaccount_id=subaccount_id, - update_type=update_type, - ) - - async def chain_stream( - self, - bank_balances_filter: Optional[chain_stream_query.BankBalancesFilter] = None, - subaccount_deposits_filter: Optional[chain_stream_query.SubaccountDepositsFilter] = None, - spot_trades_filter: Optional[chain_stream_query.TradesFilter] = None, - derivative_trades_filter: Optional[chain_stream_query.TradesFilter] = None, - spot_orders_filter: Optional[chain_stream_query.OrdersFilter] = None, - derivative_orders_filter: Optional[chain_stream_query.OrdersFilter] = None, - spot_orderbooks_filter: Optional[chain_stream_query.OrderbookFilter] = None, - derivative_orderbooks_filter: Optional[chain_stream_query.OrderbookFilter] = None, - positions_filter: Optional[chain_stream_query.PositionsFilter] = None, - oracle_price_filter: Optional[chain_stream_query.OraclePriceFilter] = None, - ): - """ - This method is deprecated and will be removed soon. Please use `listen_chain_stream_updates` instead - """ - warn("This method is deprecated. Use listen_chain_stream_updates instead", DeprecationWarning, stacklevel=2) - request = chain_stream_query.StreamRequest( - bank_balances_filter=bank_balances_filter, - subaccount_deposits_filter=subaccount_deposits_filter, - spot_trades_filter=spot_trades_filter, - derivative_trades_filter=derivative_trades_filter, - spot_orders_filter=spot_orders_filter, - derivative_orders_filter=derivative_orders_filter, - spot_orderbooks_filter=spot_orderbooks_filter, - derivative_orderbooks_filter=derivative_orderbooks_filter, - positions_filter=positions_filter, - oracle_price_filter=oracle_price_filter, - ) - metadata = self.network.chain_cookie_assistant.metadata() - return self.chain_stream_stub.Stream(request=request, metadata=metadata) - - async def listen_chain_stream_updates( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - bank_balances_filter: Optional[chain_stream_query.BankBalancesFilter] = None, - subaccount_deposits_filter: Optional[chain_stream_query.SubaccountDepositsFilter] = None, - spot_trades_filter: Optional[chain_stream_query.TradesFilter] = None, - derivative_trades_filter: Optional[chain_stream_query.TradesFilter] = None, - spot_orders_filter: Optional[chain_stream_query.OrdersFilter] = None, - derivative_orders_filter: Optional[chain_stream_query.OrdersFilter] = None, - spot_orderbooks_filter: Optional[chain_stream_query.OrderbookFilter] = None, - derivative_orderbooks_filter: Optional[chain_stream_query.OrderbookFilter] = None, - positions_filter: Optional[chain_stream_query.PositionsFilter] = None, - oracle_price_filter: Optional[chain_stream_query.OraclePriceFilter] = None, - ): - return await self.chain_stream_api.stream( - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - bank_balances_filter=bank_balances_filter, - subaccount_deposits_filter=subaccount_deposits_filter, - spot_trades_filter=spot_trades_filter, - derivative_trades_filter=derivative_trades_filter, - spot_orders_filter=spot_orders_filter, - derivative_orders_filter=derivative_orders_filter, - spot_orderbooks_filter=spot_orderbooks_filter, - derivative_orderbooks_filter=derivative_orderbooks_filter, - positions_filter=positions_filter, - oracle_price_filter=oracle_price_filter, - ) - - # region IBC Transfer module - async def fetch_denom_trace(self, hash: str) -> Dict[str, Any]: - return await self.ibc_transfer_api.fetch_denom_trace(hash=hash) - - async def fetch_denom_traces(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.ibc_transfer_api.fetch_denom_traces(pagination=pagination) - - async def fetch_denom_hash(self, trace: str) -> Dict[str, Any]: - return await self.ibc_transfer_api.fetch_denom_hash(trace=trace) - - async def fetch_escrow_address(self, port_id: str, channel_id: str) -> Dict[str, Any]: - return await self.ibc_transfer_api.fetch_escrow_address(port_id=port_id, channel_id=channel_id) - - async def fetch_total_escrow_for_denom(self, denom: str) -> Dict[str, Any]: - return await self.ibc_transfer_api.fetch_total_escrow_for_denom(denom=denom) - - # endregion - - # region IBC Channel module - async def fetch_ibc_channel(self, port_id: str, channel_id: str) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_channel(port_id=port_id, channel_id=channel_id) - - async def fetch_ibc_channels(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_channels(pagination=pagination) - - async def fetch_ibc_connection_channels( - self, connection: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_connection_channels(connection=connection, pagination=pagination) - - async def fetch_ibc_channel_client_state(self, port_id: str, channel_id: str) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_channel_client_state(port_id=port_id, channel_id=channel_id) - - async def fetch_ibc_channel_consensus_state( - self, - port_id: str, - channel_id: str, - revision_number: int, - revision_height: int, - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_channel_consensus_state( - port_id=port_id, - channel_id=channel_id, - revision_number=revision_number, - revision_height=revision_height, - ) - - async def fetch_ibc_packet_commitment(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_packet_commitment( - port_id=port_id, channel_id=channel_id, sequence=sequence - ) - - async def fetch_ibc_packet_commitments( - self, port_id: str, channel_id: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_packet_commitments( - port_id=port_id, channel_id=channel_id, pagination=pagination - ) - - async def fetch_ibc_packet_receipt(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_packet_receipt( - port_id=port_id, channel_id=channel_id, sequence=sequence - ) - - async def fetch_ibc_packet_acknowledgement(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_packet_acknowledgement( - port_id=port_id, channel_id=channel_id, sequence=sequence - ) - - async def fetch_ibc_packet_acknowledgements( - self, - port_id: str, - channel_id: str, - packet_commitment_sequences: Optional[List[int]] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_packet_acknowledgements( - port_id=port_id, - channel_id=channel_id, - packet_commitment_sequences=packet_commitment_sequences, - pagination=pagination, - ) - - async def fetch_ibc_unreceived_packets( - self, port_id: str, channel_id: str, packet_commitment_sequences: Optional[List[int]] = None - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_unreceived_packets( - port_id=port_id, channel_id=channel_id, packet_commitment_sequences=packet_commitment_sequences - ) - - async def fetch_ibc_unreceived_acks( - self, port_id: str, channel_id: str, packet_ack_sequences: Optional[List[int]] = None - ) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_unreceived_acks( - port_id=port_id, channel_id=channel_id, packet_ack_sequences=packet_ack_sequences - ) - - async def fetch_next_sequence_receive(self, port_id: str, channel_id: str) -> Dict[str, Any]: - return await self.ibc_channel_api.fetch_next_sequence_receive(port_id=port_id, channel_id=channel_id) - - # endregion - - # region IBC Client module - async def fetch_ibc_client_state(self, client_id: str) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_client_state(client_id=client_id) - - async def fetch_ibc_client_states(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_client_states(pagination=pagination) - - async def fetch_ibc_consensus_state( - self, - client_id: str, - revision_number: int, - revision_height: int, - latest_height: Optional[bool] = None, - ) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_consensus_state( - client_id=client_id, - revision_number=revision_number, - revision_height=revision_height, - latest_height=latest_height, - ) - - async def fetch_ibc_consensus_states( - self, - client_id: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_consensus_states(client_id=client_id, pagination=pagination) - - async def fetch_ibc_consensus_state_heights( - self, - client_id: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_consensus_state_heights(client_id=client_id, pagination=pagination) - - async def fetch_ibc_client_status(self, client_id: str) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_client_status(client_id=client_id) - - async def fetch_ibc_client_params(self) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_client_params() - - async def fetch_ibc_upgraded_client_state(self) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_upgraded_client_state() - - async def fetch_ibc_upgraded_consensus_state(self) -> Dict[str, Any]: - return await self.ibc_client_api.fetch_upgraded_consensus_state() - - # endregion - - # region IBC Connection module - async def fetch_ibc_connection(self, connection_id: str) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_connection(connection_id=connection_id) - - async def fetch_ibc_connections(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_connections(pagination=pagination) - - async def fetch_ibc_client_connections(self, client_id: str) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_client_connections(client_id=client_id) - - async def fetch_ibc_connection_client_state(self, connection_id: str) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_connection_client_state(connection_id=connection_id) - - async def fetch_ibc_connection_consensus_state( - self, - connection_id: str, - revision_number: int, - revision_height: int, - ) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_connection_consensus_state( - connection_id=connection_id, revision_number=revision_number, revision_height=revision_height - ) - - async def fetch_ibc_connection_params(self) -> Dict[str, Any]: - return await self.ibc_connection_api.fetch_connection_params() - - # endregion - - # ------------------------------ - # region Permissions module - - async def fetch_all_permissions_namespaces(self) -> Dict[str, Any]: - return await self.permissions_api.fetch_all_namespaces() - - async def fetch_permissions_namespace_by_denom( - self, denom: str, include_roles: Optional[bool] = None - ) -> Dict[str, Any]: - return await self.permissions_api.fetch_namespace_by_denom(denom=denom, include_roles=include_roles) - - async def fetch_permissions_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_address_roles(denom=denom, address=address) - - async def fetch_permissions_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_addresses_by_role(denom=denom, role=role) - - async def fetch_permissions_vouchers_for_address(self, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_vouchers_for_address(address=address) - - # endregion - - async def composer(self): - return Composer( - network=self.network.string(), - spot_markets=await self.all_spot_markets(), - derivative_markets=await self.all_derivative_markets(), - binary_option_markets=await self.all_binary_option_markets(), - tokens=await self.all_tokens(), - ) - - async def initialize_tokens_from_chain_denoms(self): - # force initialization of markets and tokens - await self.all_tokens() - - all_denoms_metadata = [] - - query_result = await self.fetch_denoms_metadata() - - all_denoms_metadata.extend(query_result.get("metadatas", [])) - next_key = query_result.get("pagination", {}).get("nextKey", "") - - while next_key != "": - query_result = await self.fetch_denoms_metadata(pagination=PaginationOption(encoded_page_key=next_key)) - - all_denoms_metadata.extend(query_result.get("metadatas", [])) - next_key = query_result.get("pagination", {}).get("nextKey", "") - - for token_metadata in all_denoms_metadata: - symbol = token_metadata["symbol"] - denom = token_metadata["base"] - - if denom != "" and symbol != "" and denom not in self._tokens_by_denom: - name = token_metadata["name"] or symbol - decimals = max({denom_unit["exponent"] for denom_unit in token_metadata["denomUnits"]}) - - unique_symbol = denom - for symbol_candidate in [symbol, name]: - if symbol_candidate not in self._tokens_by_symbol: - unique_symbol = symbol_candidate - break - - token = Token( - name=name, - symbol=symbol, - denom=denom, - address="", - decimals=decimals, - logo=token_metadata["uri"], - updated=-1, - ) - - self._tokens_by_denom[denom] = token - self._tokens_by_symbol[unique_symbol] = token - - async def _initialize_tokens_and_markets(self): - spot_markets = dict() - derivative_markets = dict() - binary_option_markets = dict() - tokens_by_symbol, tokens_by_denom = await self._tokens_from_official_lists(network=self.network) - self._tokens_by_denom.update(tokens_by_denom) - self._tokens_by_symbol.update(tokens_by_symbol) - - markets_info = (await self.fetch_chain_spot_markets(status="Active"))["markets"] - for market_info in markets_info: - base_token = self._tokens_by_denom.get(market_info["baseDenom"]) - quote_token = self._tokens_by_denom.get(market_info["quoteDenom"]) - - market = SpotMarket( - id=market_info["marketId"], - status=market_info["status"], - ticker=market_info["ticker"], - base_token=base_token, - quote_token=quote_token, - maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["makerFeeRate"])), - taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["takerFeeRate"])), - service_provider_fee=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["relayerFeeShareRate"]) - ), - min_price_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["minPriceTickSize"]) - ), - min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["minQuantityTickSize"]) - ), - min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market_info["minNotional"])), - ) - - spot_markets[market.id] = market - - markets_info = (await self.fetch_chain_derivative_markets(status="Active", with_mid_price_and_tob=False))[ - "markets" - ] - for market_info in markets_info: - market = market_info["market"] - quote_token = self._tokens_by_denom.get(market["quoteDenom"]) - - derivative_market = DerivativeMarket( - id=market["marketId"], - status=market["status"], - ticker=market["ticker"], - oracle_base=market["oracleBase"], - oracle_quote=market["oracleQuote"], - oracle_type=market["oracleType"], - oracle_scale_factor=market["oracleScaleFactor"], - initial_margin_ratio=Token.convert_value_from_extended_decimal_format( - Decimal(market["initialMarginRatio"]) - ), - maintenance_margin_ratio=Token.convert_value_from_extended_decimal_format( - Decimal(market["maintenanceMarginRatio"]) - ), - quote_token=quote_token, - maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market["makerFeeRate"])), - taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market["takerFeeRate"])), - service_provider_fee=Token.convert_value_from_extended_decimal_format( - Decimal(market["relayerFeeShareRate"]) - ), - min_price_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market["minPriceTickSize"]) - ), - min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market["minQuantityTickSize"]) - ), - min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market["minNotional"])), - ) - - derivative_markets[derivative_market.id] = derivative_market - - markets_info = (await self.fetch_chain_binary_options_markets(status="Active"))["markets"] - for market_info in markets_info: - quote_token = self._tokens_by_denom.get(market_info["quoteDenom"]) - - market = BinaryOptionMarket( - id=market_info["marketId"], - status=market_info["status"], - ticker=market_info["ticker"], - oracle_symbol=market_info["oracleSymbol"], - oracle_provider=market_info["oracleProvider"], - oracle_type=market_info["oracleType"], - oracle_scale_factor=market_info["oracleScaleFactor"], - expiration_timestamp=market_info["expirationTimestamp"], - settlement_timestamp=market_info["settlementTimestamp"], - quote_token=quote_token, - maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["makerFeeRate"])), - taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["takerFeeRate"])), - service_provider_fee=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["relayerFeeShareRate"]) - ), - min_price_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["minPriceTickSize"]) - ), - min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( - Decimal(market_info["minQuantityTickSize"]) - ), - min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market_info["minNotional"])), - settlement_price=None - if market_info["settlementPrice"] == "" - else Token.convert_value_from_extended_decimal_format(Decimal(market_info["settlementPrice"])), - ) - - binary_option_markets[market.id] = market - - self._spot_markets = spot_markets - self._derivative_markets = derivative_markets - self._binary_option_markets = binary_option_markets - - def _token_representation( - self, - token_meta: Dict[str, Any], - denom: str, - tokens_by_denom: Dict[str, Token], - tokens_by_symbol: Dict[str, Token], - ) -> Token: - if denom not in tokens_by_denom: - unique_symbol = denom - for symbol_candidate in [token_meta["symbol"], token_meta["name"]]: - if symbol_candidate not in tokens_by_symbol: - unique_symbol = symbol_candidate - break - - token = Token( - name=token_meta["name"], - symbol=token_meta["symbol"], - denom=denom, - address=token_meta["address"], - decimals=token_meta["decimals"], - logo=token_meta["logo"], - updated=int(token_meta["updatedAt"]), - ) - - tokens_by_denom[denom] = token - tokens_by_symbol[unique_symbol] = token - - return tokens_by_denom[denom] - - async def _tokens_from_official_lists( - self, - network: Network, - ) -> Tuple[Dict[str, Token], Dict[str, Token]]: - tokens_by_symbol = dict() - tokens_by_denom = dict() - - loader = TokensFileLoader() - tokens = await loader.load_tokens(network.official_tokens_list_url) - - for token in tokens: - if token.denom is not None and token.denom != "" and token.denom not in tokens_by_denom: - unique_symbol = token.denom - for symbol_candidate in [token.symbol, token.name]: - if symbol_candidate not in tokens_by_symbol: - unique_symbol = symbol_candidate - break - - tokens_by_denom[token.denom] = token - tokens_by_symbol[unique_symbol] = token - - return tokens_by_symbol, tokens_by_denom - - def _initialize_timeout_height_sync_task(self): - self._cancel_timeout_height_sync_task() - self._timeout_height_sync_task = asyncio.get_event_loop().create_task(self._timeout_height_sync_process()) - - async def _timeout_height_sync_process(self): - while True: - await self.sync_timeout_height() - await asyncio.sleep(DEFAULT_TIMEOUTHEIGHT_SYNC_INTERVAL) - - def _cancel_timeout_height_sync_task(self): - if self._timeout_height_sync_task is not None: - self._timeout_height_sync_task.cancel() - self._timeout_height_sync_task = None diff --git a/pyinjective/async_client_v2.py b/pyinjective/async_client_v2.py new file mode 100644 index 00000000..34a4142b --- /dev/null +++ b/pyinjective/async_client_v2.py @@ -0,0 +1,1547 @@ +import asyncio +from copy import deepcopy +from decimal import Decimal +from typing import Any, Callable, Dict, List, Optional, Tuple + +from google.protobuf import json_format + +from pyinjective.client.chain.grpc.chain_grpc_auction_api import ChainGrpcAuctionApi +from pyinjective.client.chain.grpc.chain_grpc_auth_api import ChainGrpcAuthApi +from pyinjective.client.chain.grpc.chain_grpc_authz_api import ChainGrpcAuthZApi +from pyinjective.client.chain.grpc.chain_grpc_bank_api import ChainGrpcBankApi +from pyinjective.client.chain.grpc.chain_grpc_distribution_api import ChainGrpcDistributionApi +from pyinjective.client.chain.grpc.chain_grpc_erc20_api import ChainGrpcERC20Api +from pyinjective.client.chain.grpc.chain_grpc_evm_api import ChainGrpcEVMApi +from pyinjective.client.chain.grpc.chain_grpc_exchange_v2_api import ChainGrpcExchangeV2Api +from pyinjective.client.chain.grpc.chain_grpc_insurance_api import ChainGrpcInsuranceApi +from pyinjective.client.chain.grpc.chain_grpc_permissions_api import ChainGrpcPermissionsApi +from pyinjective.client.chain.grpc.chain_grpc_token_factory_api import ChainGrpcTokenFactoryApi +from pyinjective.client.chain.grpc.chain_grpc_txfees_api import ChainGrpcTxfeesApi +from pyinjective.client.chain.grpc.chain_grpc_wasm_api import ChainGrpcWasmApi +from pyinjective.client.chain.grpc_stream.chain_grpc_chain_stream import ChainGrpcChainStream +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.composer_v2 import Composer +from pyinjective.constant import GAS_PRICE +from pyinjective.core.ibc.channel.grpc.ibc_channel_grpc_api import IBCChannelGrpcApi +from pyinjective.core.ibc.client.grpc.ibc_client_grpc_api import IBCClientGrpcApi +from pyinjective.core.ibc.connection.grpc.ibc_connection_grpc_api import IBCConnectionGrpcApi +from pyinjective.core.ibc.transfer.grpc.ibc_transfer_grpc_api import IBCTransferGrpcApi +from pyinjective.core.market_v2 import BinaryOptionMarket, DerivativeMarket, SpotMarket +from pyinjective.core.network import Network +from pyinjective.core.tendermint.grpc.tendermint_grpc_api import TendermintGrpcApi +from pyinjective.core.token import Token +from pyinjective.core.tokens_file_loader import TokensFileLoader +from pyinjective.core.tx.grpc.tx_grpc_api import TxGrpcApi +from pyinjective.exceptions import NotFoundError +from pyinjective.proto.cosmos.auth.v1beta1 import query_pb2_grpc as auth_query_grpc +from pyinjective.proto.cosmos.authz.v1beta1 import query_pb2_grpc as authz_query_grpc +from pyinjective.proto.cosmos.bank.v1beta1 import query_pb2_grpc as bank_query_grpc +from pyinjective.proto.cosmos.base.tendermint.v1beta1 import query_pb2_grpc as tendermint_query_grpc +from pyinjective.proto.cosmos.crypto.ed25519 import keys_pb2 as ed25519_keys # noqa: F401 for validator set responses +from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service, service_pb2_grpc as tx_service_grpc +from pyinjective.proto.ibc.lightclients.tendermint.v1 import ( # noqa: F401 for validator set responses + tendermint_pb2 as ibc_tendermint, +) +from pyinjective.proto.injective.stream.v2 import query_pb2 as chain_stream_v2_query +from pyinjective.proto.injective.types.v1beta1 import account_pb2 +from pyinjective.utils.logger import LoggerProvider + +DEFAULT_TIMEOUTHEIGHT_SYNC_INTERVAL = 20 # seconds +DEFAULT_TIMEOUTHEIGHT = 30 # blocks +DEFAULT_SESSION_RENEWAL_OFFSET = 120 # seconds +DEFAULT_BLOCK_TIME = 2 # seconds + + +class AsyncClient: + def __init__( + self, + network: Network, + ): + self.addr = "" + self.number = 0 + self.sequence = 0 + + self.network = network + + # chain stubs + self.chain_channel = self.network.create_chain_grpc_channel() + + self.stubCosmosTendermint = tendermint_query_grpc.ServiceStub(self.chain_channel) + self.stubAuth = auth_query_grpc.QueryStub(self.chain_channel) + self.stubAuthz = authz_query_grpc.QueryStub(self.chain_channel) + self.stubBank = bank_query_grpc.QueryStub(self.chain_channel) + self.stubTx = tx_service_grpc.ServiceStub(self.chain_channel) + + self.timeout_height = 1 + + # exchange stubs + self.exchange_channel = self.network.create_exchange_grpc_channel() + # explorer stubs + self.explorer_channel = self.network.create_explorer_grpc_channel() + self.chain_stream_channel = self.network.create_chain_stream_grpc_channel() + + self._timeout_height_sync_task = None + self._initialize_timeout_height_sync_task() + + self._tokens_and_markets_initialization_lock = asyncio.Lock() + self._tokens_by_denom = dict() + self._tokens_by_symbol = dict() + self._spot_markets: Optional[Dict[str, SpotMarket]] = None + self._derivative_markets: Optional[Dict[str, DerivativeMarket]] = None + self._binary_option_markets: Optional[Dict[str, BinaryOptionMarket]] = None + + self.bank_api = ChainGrpcBankApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.auth_api = ChainGrpcAuthApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.authz_api = ChainGrpcAuthZApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.distribution_api = ChainGrpcDistributionApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.chain_erc20_api = ChainGrpcERC20Api( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.chain_evm_api = ChainGrpcEVMApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.chain_exchange_v2_api = ChainGrpcExchangeV2Api( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.ibc_channel_api = IBCChannelGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.ibc_client_api = IBCClientGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.ibc_connection_api = IBCConnectionGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.ibc_transfer_api = IBCTransferGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.permissions_api = ChainGrpcPermissionsApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.tendermint_api = TendermintGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.token_factory_api = ChainGrpcTokenFactoryApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.tx_api = TxGrpcApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.txfees_api = ChainGrpcTxfeesApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.wasm_api = ChainGrpcWasmApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.auction_chain_api = ChainGrpcAuctionApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + self.insurance_chain_api = ChainGrpcInsuranceApi( + channel=self.chain_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + + self.chain_stream_api = ChainGrpcChainStream( + channel=self.chain_stream_channel, + cookie_assistant=network.chain_cookie_assistant, + ) + + def __del__(self): + self._cancel_timeout_height_sync_task() + + async def close_chain_channel(self): + await self.chain_channel.close() + self._cancel_timeout_height_sync_task() + + async def close_chain_stream_channel(self): + await self.chain_stream_channel.close() + self._cancel_timeout_height_sync_task() + + async def all_tokens(self) -> Dict[str, Token]: + if self._tokens_by_symbol is None: + async with self._tokens_and_markets_initialization_lock: + if self._tokens_by_symbol is None: + await self._initialize_tokens_and_markets() + return deepcopy(self._tokens_by_symbol) + + async def all_spot_markets(self) -> Dict[str, SpotMarket]: + if self._spot_markets is None: + async with self._tokens_and_markets_initialization_lock: + if self._spot_markets is None: + await self._initialize_tokens_and_markets() + return deepcopy(self._spot_markets) + + async def all_derivative_markets(self) -> Dict[str, DerivativeMarket]: + if self._derivative_markets is None: + async with self._tokens_and_markets_initialization_lock: + if self._derivative_markets is None: + await self._initialize_tokens_and_markets() + return deepcopy(self._derivative_markets) + + async def all_binary_option_markets(self) -> Dict[str, BinaryOptionMarket]: + if self._binary_option_markets is None: + async with self._tokens_and_markets_initialization_lock: + if self._binary_option_markets is None: + await self._initialize_tokens_and_markets() + return deepcopy(self._binary_option_markets) + + def get_sequence(self): + current_seq = self.sequence + self.sequence += 1 + return current_seq + + def get_number(self): + return self.number + + async def fetch_tx(self, hash: str) -> Dict[str, Any]: + return await self.tx_api.fetch_tx(hash=hash) + + async def sync_timeout_height(self): + try: + block = await self.fetch_latest_block() + self.timeout_height = int(block["block"]["header"]["height"]) + DEFAULT_TIMEOUTHEIGHT + except Exception as e: + LoggerProvider().logger_for_class(logging_class=self.__class__).debug( + f"error while fetching latest block, setting timeout height to 0: {e}" + ) + self.timeout_height = 0 + + # default client methods + + async def fetch_account(self, address: str) -> Optional[account_pb2.EthAccount]: + result_account = None + try: + account = await self.auth_api.fetch_account(address=address) + parsed_account = account_pb2.EthAccount() + if parsed_account.DESCRIPTOR.full_name in account["account"]["@type"]: + json_format.ParseDict(js_dict=account["account"], message=parsed_account, ignore_unknown_fields=True) + self.number = parsed_account.base_account.account_number + self.sequence = parsed_account.base_account.sequence + result_account = parsed_account + except Exception as e: + LoggerProvider().logger_for_class(logging_class=self.__class__).debug( + f"error while fetching sequence and number {e}" + ) + + return result_account + + async def get_request_id_by_tx_hash(self, tx_hash: str) -> List[int]: + tx = await self.tx_api.fetch_tx(hash=tx_hash) + request_ids = [] + for log in tx["txResponse"].get("logs", []): + request_event = [ + event for event in log.get("events", []) if event["type"] == "request" or event["type"] == "report" + ] + if len(request_event) == 1: + attrs = request_event[0].get("attributes", []) + attr_id = [attr for attr in attrs if attr["key"] == "id"] + if len(attr_id) == 1: + request_id = attr_id[0]["value"] + request_ids.append(int(request_id)) + if len(request_ids) == 0: + raise NotFoundError("Request Id is not found") + return request_ids + + async def simulate(self, tx_bytes: bytes) -> Dict[str, Any]: + return await self.tx_api.simulate(tx_bytes=tx_bytes) + + async def broadcast_tx_sync_mode(self, tx_bytes: bytes) -> Dict[str, Any]: + return await self.tx_api.broadcast(tx_bytes=tx_bytes, mode=tx_service.BroadcastMode.BROADCAST_MODE_SYNC) + + async def broadcast_tx_async_mode(self, tx_bytes: bytes) -> Dict[str, Any]: + return await self.tx_api.broadcast(tx_bytes=tx_bytes, mode=tx_service.BroadcastMode.BROADCAST_MODE_ASYNC) + + async def get_chain_id(self) -> str: + latest_block = await self.fetch_latest_block() + return latest_block["block"]["header"]["chainId"] + + async def fetch_grants( + self, + granter: str, + grantee: str, + msg_type_url: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.authz_api.fetch_grants( + granter=granter, + grantee=grantee, + msg_type_url=msg_type_url, + pagination=pagination, + ) + + async def fetch_bank_balances(self, address: str) -> Dict[str, Any]: + return await self.bank_api.fetch_balances(account_address=address) + + async def fetch_bank_balance(self, address: str, denom: str) -> Dict[str, Any]: + return await self.bank_api.fetch_balance(account_address=address, denom=denom) + + async def fetch_spendable_balances( + self, + address: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.bank_api.fetch_spendable_balances(account_address=address, pagination=pagination) + + async def fetch_spendable_balances_by_denom( + self, + address: str, + denom: str, + ) -> Dict[str, Any]: + return await self.bank_api.fetch_spendable_balances_by_denom(account_address=address, denom=denom) + + async def fetch_total_supply(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.bank_api.fetch_total_supply(pagination=pagination) + + async def fetch_supply_of(self, denom: str) -> Dict[str, Any]: + return await self.bank_api.fetch_supply_of(denom=denom) + + async def fetch_denom_metadata(self, denom: str) -> Dict[str, Any]: + return await self.bank_api.fetch_denom_metadata(denom=denom) + + async def fetch_denoms_metadata(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.bank_api.fetch_denoms_metadata(pagination=pagination) + + async def fetch_denom_owners(self, denom: str, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.bank_api.fetch_denom_owners(denom=denom, pagination=pagination) + + async def fetch_send_enabled( + self, + denoms: Optional[List[str]] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.bank_api.fetch_send_enabled(denoms=denoms, pagination=pagination) + + async def fetch_validator_distribution_info(self, validator_address: str) -> Dict[str, Any]: + return await self.distribution_api.fetch_validator_distribution_info(validator_address=validator_address) + + async def fetch_validator_outstanding_rewards(self, validator_address: str) -> Dict[str, Any]: + return await self.distribution_api.fetch_validator_outstanding_rewards(validator_address=validator_address) + + async def fetch_validator_commission(self, validator_address: str) -> Dict[str, Any]: + return await self.distribution_api.fetch_validator_commission(validator_address=validator_address) + + async def fetch_validator_slashes( + self, + validator_address: str, + starting_height: Optional[int] = None, + ending_height: Optional[int] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.distribution_api.fetch_validator_slashes( + validator_address=validator_address, + starting_height=starting_height, + ending_height=ending_height, + pagination=pagination, + ) + + async def fetch_delegation_rewards( + self, + delegator_address: str, + validator_address: str, + ) -> Dict[str, Any]: + return await self.distribution_api.fetch_delegation_rewards( + delegator_address=delegator_address, + validator_address=validator_address, + ) + + async def fetch_delegation_total_rewards( + self, + delegator_address: str, + ) -> Dict[str, Any]: + return await self.distribution_api.fetch_delegation_total_rewards( + delegator_address=delegator_address, + ) + + async def fetch_delegator_validators( + self, + delegator_address: str, + ) -> Dict[str, Any]: + return await self.distribution_api.fetch_delegator_validators( + delegator_address=delegator_address, + ) + + async def fetch_delegator_withdraw_address( + self, + delegator_address: str, + ) -> Dict[str, Any]: + return await self.distribution_api.fetch_delegator_withdraw_address( + delegator_address=delegator_address, + ) + + async def fetch_community_pool(self) -> Dict[str, Any]: + return await self.distribution_api.fetch_community_pool() + + # Exchange module + + async def fetch_subaccount_deposits( + self, + subaccount_id: Optional[str] = None, + subaccount_trader: Optional[str] = None, + subaccount_nonce: Optional[int] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_deposits( + subaccount_id=subaccount_id, + subaccount_trader=subaccount_trader, + subaccount_nonce=subaccount_nonce, + ) + + async def fetch_subaccount_deposit( + self, + subaccount_id: str, + denom: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_deposit( + subaccount_id=subaccount_id, + denom=denom, + ) + + async def fetch_exchange_balances(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_exchange_balances() + + async def fetch_auction_exchange_transfer_denom_decimal(self, denom: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_auction_exchange_transfer_denom_decimal(denom=denom) + + async def fetch_auction_exchange_transfer_denom_decimals( + self, denoms: Optional[List[str]] = None + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_auction_exchange_transfer_denom_decimals(denoms=denoms) + + async def fetch_derivative_market_address(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_market_address(market_id=market_id) + + async def fetch_subaccount_trade_nonce(self, subaccount_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_trade_nonce(subaccount_id=subaccount_id) + + async def fetch_chain_perpetual_market_info(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_perpetual_market_info(market_id=market_id) + + async def fetch_trade_reward_points( + self, + accounts: Optional[List[str]] = None, + pending_pool_timestamp: Optional[int] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trade_reward_points( + accounts=accounts, + pending_pool_timestamp=pending_pool_timestamp, + ) + + async def fetch_pending_trade_reward_points( + self, + accounts: Optional[List[str]] = None, + pending_pool_timestamp: Optional[int] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_pending_trade_reward_points( + accounts=accounts, + pending_pool_timestamp=pending_pool_timestamp, + ) + + async def fetch_trade_reward_campaign(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trade_reward_campaign() + + async def fetch_balance_mismatches(self, dust_factor: int) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_balance_mismatches(dust_factor=dust_factor) + + async def fetch_balance_with_balance_holds(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_balance_with_balance_holds() + + async def fetch_fee_discount_tier_statistics(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_fee_discount_tier_statistics() + + async def fetch_mito_vault_infos(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_mito_vault_infos() + + async def fetch_market_id_from_vault(self, vault_address: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_market_id_from_vault(vault_address=vault_address) + + async def fetch_is_opted_out_of_rewards(self, account: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_is_opted_out_of_rewards(account=account) + + async def fetch_opted_out_of_rewards_accounts(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_opted_out_of_rewards_accounts() + + async def fetch_market_atomic_execution_fee_multiplier( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_market_atomic_execution_fee_multiplier( + market_id=market_id, + ) + + async def fetch_active_stake_grant(self, grantee: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_active_stake_grant(grantee=grantee) + + async def fetch_grant_authorization( + self, + granter: str, + grantee: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_grant_authorization( + granter=granter, + grantee=grantee, + ) + + async def fetch_grant_authorizations(self, granter: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_grant_authorizations(granter=granter) + + async def fetch_market_balance(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_market_balance(market_id=market_id) + + async def fetch_market_balances(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_market_balances() + + async def fetch_aggregate_volume(self, account: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_aggregate_volume(account=account) + + async def fetch_aggregate_volumes( + self, + accounts: Optional[List[str]] = None, + market_ids: Optional[List[str]] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_aggregate_volumes( + accounts=accounts, + market_ids=market_ids, + ) + + async def fetch_aggregate_market_volume( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_aggregate_market_volume( + market_id=market_id, + ) + + async def fetch_aggregate_market_volumes( + self, + market_ids: Optional[List[str]] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_aggregate_market_volumes( + market_ids=market_ids, + ) + + async def fetch_chain_spot_markets( + self, + status: Optional[str] = None, + market_ids: Optional[List[str]] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_spot_markets( + status=status, + market_ids=market_ids, + ) + + async def fetch_chain_spot_market( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_spot_market( + market_id=market_id, + ) + + async def fetch_chain_full_spot_markets( + self, + status: Optional[str] = None, + market_ids: Optional[List[str]] = None, + with_mid_price_and_tob: Optional[bool] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_full_spot_markets( + status=status, + market_ids=market_ids, + with_mid_price_and_tob=with_mid_price_and_tob, + ) + + async def fetch_chain_full_spot_market( + self, + market_id: str, + with_mid_price_and_tob: Optional[bool] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_full_spot_market( + market_id=market_id, + with_mid_price_and_tob=with_mid_price_and_tob, + ) + + async def fetch_chain_spot_orderbook( + self, + market_id: str, + order_side: Optional[str] = None, + limit_cumulative_notional: Optional[str] = None, + limit_cumulative_quantity: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + # Order side could be "Side_Unspecified", "Buy", "Sell" + return await self.chain_exchange_v2_api.fetch_spot_orderbook( + market_id=market_id, + order_side=order_side, + limit_cumulative_notional=limit_cumulative_notional, + limit_cumulative_quantity=limit_cumulative_quantity, + pagination=pagination, + ) + + async def fetch_chain_trader_spot_orders( + self, + market_id: str, + subaccount_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trader_spot_orders( + market_id=market_id, + subaccount_id=subaccount_id, + ) + + async def fetch_chain_account_address_spot_orders( + self, + market_id: str, + account_address: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_account_address_spot_orders( + market_id=market_id, + account_address=account_address, + ) + + async def fetch_chain_spot_orders_by_hashes( + self, + market_id: str, + subaccount_id: str, + order_hashes: List[str], + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_spot_orders_by_hashes( + market_id=market_id, + subaccount_id=subaccount_id, + order_hashes=order_hashes, + ) + + async def fetch_chain_subaccount_orders( + self, + subaccount_id: str, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_orders( + subaccount_id=subaccount_id, + market_id=market_id, + ) + + async def fetch_chain_trader_spot_transient_orders( + self, + market_id: str, + subaccount_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trader_spot_transient_orders( + market_id=market_id, + subaccount_id=subaccount_id, + ) + + async def fetch_spot_mid_price_and_tob( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_spot_mid_price_and_tob( + market_id=market_id, + ) + + async def fetch_derivative_mid_price_and_tob( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_mid_price_and_tob( + market_id=market_id, + ) + + async def fetch_chain_derivative_orderbook( + self, + market_id: str, + limit_cumulative_notional: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_orderbook( + market_id=market_id, + limit_cumulative_notional=limit_cumulative_notional, + pagination=pagination, + ) + + async def fetch_chain_trader_derivative_orders( + self, + market_id: str, + subaccount_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trader_derivative_orders( + market_id=market_id, + subaccount_id=subaccount_id, + ) + + async def fetch_chain_account_address_derivative_orders( + self, + market_id: str, + account_address: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_account_address_derivative_orders( + market_id=market_id, + account_address=account_address, + ) + + async def fetch_chain_derivative_orders_by_hashes( + self, + market_id: str, + subaccount_id: str, + order_hashes: List[str], + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_orders_by_hashes( + market_id=market_id, + subaccount_id=subaccount_id, + order_hashes=order_hashes, + ) + + async def fetch_chain_trader_derivative_transient_orders( + self, + market_id: str, + subaccount_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trader_derivative_transient_orders( + market_id=market_id, + subaccount_id=subaccount_id, + ) + + async def fetch_chain_derivative_markets( + self, + status: Optional[str] = None, + market_ids: Optional[List[str]] = None, + with_mid_price_and_tob: Optional[bool] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_markets( + status=status, + market_ids=market_ids, + with_mid_price_and_tob=with_mid_price_and_tob, + ) + + async def fetch_chain_derivative_market( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_derivative_market( + market_id=market_id, + ) + + async def fetch_chain_positions(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_positions() + + async def fetch_chain_positions_in_market(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_positions_in_market(market_id=market_id) + + async def fetch_chain_subaccount_positions(self, subaccount_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_positions(subaccount_id=subaccount_id) + + async def fetch_chain_subaccount_position_in_market(self, subaccount_id: str, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_position_in_market( + subaccount_id=subaccount_id, + market_id=market_id, + ) + + async def fetch_chain_subaccount_effective_position_in_market( + self, subaccount_id: str, market_id: str + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_effective_position_in_market( + subaccount_id=subaccount_id, + market_id=market_id, + ) + + async def fetch_chain_expiry_futures_market_info(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_expiry_futures_market_info(market_id=market_id) + + async def fetch_chain_perpetual_market_funding(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_perpetual_market_funding(market_id=market_id) + + async def fetch_subaccount_order_metadata(self, subaccount_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_subaccount_order_metadata(subaccount_id=subaccount_id) + + async def fetch_fee_discount_account_info(self, account: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_fee_discount_account_info(account=account) + + async def fetch_fee_discount_schedule(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_fee_discount_schedule() + + async def fetch_historical_trade_records(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_historical_trade_records(market_id=market_id) + + async def fetch_market_volatility( + self, + market_id: str, + trade_grouping_sec: Optional[int] = None, + max_age: Optional[int] = None, + include_raw_history: Optional[bool] = None, + include_metadata: Optional[bool] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_market_volatility( + market_id=market_id, + trade_grouping_sec=trade_grouping_sec, + max_age=max_age, + include_raw_history=include_raw_history, + include_metadata=include_metadata, + ) + + async def fetch_chain_binary_options_markets(self, status: Optional[str] = None) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_binary_options_markets(status=status) + + async def fetch_trader_derivative_conditional_orders( + self, + subaccount_id: Optional[str] = None, + market_id: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_trader_derivative_conditional_orders( + subaccount_id=subaccount_id, + market_id=market_id, + ) + + async def fetch_l3_derivative_orderbook(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_l3_derivative_orderbook(market_id=market_id) + + async def fetch_l3_spot_orderbook(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_l3_spot_orderbook(market_id=market_id) + + async def fetch_denom_min_notional(self, denom: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_denom_min_notional(denom=denom) + + async def fetch_denom_min_notionals(self) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_denom_min_notionals() + + async def fetch_open_interest(self, market_id: str) -> Dict[str, Any]: + return await self.chain_exchange_v2_api.fetch_open_interest(market_id=market_id) + + # Wasm module + async def fetch_contract_info(self, address: str) -> Dict[str, Any]: + return await self.wasm_api.fetch_contract_info(address=address) + + async def fetch_contract_history( + self, + address: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_contract_history( + address=address, + pagination=pagination, + ) + + async def fetch_contracts_by_code( + self, + code_id: int, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_contracts_by_code( + code_id=code_id, + pagination=pagination, + ) + + async def fetch_all_contracts_state( + self, + address: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_all_contracts_state( + address=address, + pagination=pagination, + ) + + async def fetch_raw_contract_state(self, address: str, query_data: str) -> Dict[str, Any]: + return await self.wasm_api.fetch_raw_contract_state(address=address, query_data=query_data) + + async def fetch_smart_contract_state(self, address: str, query_data: str) -> Dict[str, Any]: + return await self.wasm_api.fetch_smart_contract_state(address=address, query_data=query_data) + + async def fetch_code(self, code_id: int) -> Dict[str, Any]: + return await self.wasm_api.fetch_code(code_id=code_id) + + async def fetch_codes( + self, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_codes( + pagination=pagination, + ) + + async def fetch_pinned_codes( + self, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_pinned_codes( + pagination=pagination, + ) + + async def fetch_contracts_by_creator( + self, + creator_address: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.wasm_api.fetch_contracts_by_creator( + creator_address=creator_address, + pagination=pagination, + ) + + # Token Factory module + + async def fetch_denom_authority_metadata( + self, + creator: str, + sub_denom: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.token_factory_api.fetch_denom_authority_metadata(creator=creator, sub_denom=sub_denom) + + async def fetch_denoms_from_creator( + self, + creator: str, + ) -> Dict[str, Any]: + return await self.token_factory_api.fetch_denoms_from_creator(creator=creator) + + async def fetch_tokenfactory_module_state(self) -> Dict[str, Any]: + return await self.token_factory_api.fetch_tokenfactory_module_state() + + # ------------------------------ + # region Tendermint module + async def fetch_node_info(self) -> Dict[str, Any]: + return await self.tendermint_api.fetch_node_info() + + async def fetch_syncing(self) -> Dict[str, Any]: + return await self.tendermint_api.fetch_syncing() + + async def fetch_latest_block(self) -> Dict[str, Any]: + return await self.tendermint_api.fetch_latest_block() + + async def fetch_block_by_height(self, height: int) -> Dict[str, Any]: + return await self.tendermint_api.fetch_block_by_height(height=height) + + async def fetch_latest_validator_set(self) -> Dict[str, Any]: + return await self.tendermint_api.fetch_latest_validator_set() + + async def fetch_validator_set_by_height( + self, height: int, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + return await self.tendermint_api.fetch_validator_set_by_height(height=height, pagination=pagination) + + async def abci_query( + self, path: str, data: Optional[bytes] = None, height: Optional[int] = None, prove: bool = False + ) -> Dict[str, Any]: + return await self.tendermint_api.abci_query(path=path, data=data, height=height, prove=prove) + + # endregion + + async def listen_chain_stream_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + bank_balances_filter: Optional[chain_stream_v2_query.BankBalancesFilter] = None, + subaccount_deposits_filter: Optional[chain_stream_v2_query.SubaccountDepositsFilter] = None, + spot_trades_filter: Optional[chain_stream_v2_query.TradesFilter] = None, + derivative_trades_filter: Optional[chain_stream_v2_query.TradesFilter] = None, + spot_orders_filter: Optional[chain_stream_v2_query.OrdersFilter] = None, + derivative_orders_filter: Optional[chain_stream_v2_query.OrdersFilter] = None, + spot_orderbooks_filter: Optional[chain_stream_v2_query.OrderbookFilter] = None, + derivative_orderbooks_filter: Optional[chain_stream_v2_query.OrderbookFilter] = None, + positions_filter: Optional[chain_stream_v2_query.PositionsFilter] = None, + oracle_price_filter: Optional[chain_stream_v2_query.OraclePriceFilter] = None, + order_failures_filter: Optional[chain_stream_v2_query.OrderFailuresFilter] = None, + conditional_order_trigger_failures_filter: Optional[ + chain_stream_v2_query.ConditionalOrderTriggerFailuresFilter + ] = None, + ): + return await self.chain_stream_api.stream_v2( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + bank_balances_filter=bank_balances_filter, + subaccount_deposits_filter=subaccount_deposits_filter, + spot_trades_filter=spot_trades_filter, + derivative_trades_filter=derivative_trades_filter, + spot_orders_filter=spot_orders_filter, + derivative_orders_filter=derivative_orders_filter, + spot_orderbooks_filter=spot_orderbooks_filter, + derivative_orderbooks_filter=derivative_orderbooks_filter, + positions_filter=positions_filter, + oracle_price_filter=oracle_price_filter, + order_failures_filter=order_failures_filter, + conditional_order_trigger_failures_filter=conditional_order_trigger_failures_filter, + ) + + # region IBC Transfer module + async def fetch_denom_trace(self, hash: str) -> Dict[str, Any]: + return await self.ibc_transfer_api.fetch_denom_trace(hash=hash) + + async def fetch_denom_traces(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.ibc_transfer_api.fetch_denom_traces(pagination=pagination) + + async def fetch_denom_hash(self, trace: str) -> Dict[str, Any]: + return await self.ibc_transfer_api.fetch_denom_hash(trace=trace) + + async def fetch_escrow_address(self, port_id: str, channel_id: str) -> Dict[str, Any]: + return await self.ibc_transfer_api.fetch_escrow_address(port_id=port_id, channel_id=channel_id) + + async def fetch_total_escrow_for_denom(self, denom: str) -> Dict[str, Any]: + return await self.ibc_transfer_api.fetch_total_escrow_for_denom(denom=denom) + + # endregion + + # region IBC Channel module + async def fetch_ibc_channel(self, port_id: str, channel_id: str) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_channel(port_id=port_id, channel_id=channel_id) + + async def fetch_ibc_channels(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_channels(pagination=pagination) + + async def fetch_ibc_connection_channels( + self, connection: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_connection_channels(connection=connection, pagination=pagination) + + async def fetch_ibc_channel_client_state(self, port_id: str, channel_id: str) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_channel_client_state(port_id=port_id, channel_id=channel_id) + + async def fetch_ibc_channel_consensus_state( + self, + port_id: str, + channel_id: str, + revision_number: int, + revision_height: int, + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_channel_consensus_state( + port_id=port_id, + channel_id=channel_id, + revision_number=revision_number, + revision_height=revision_height, + ) + + async def fetch_ibc_packet_commitment(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_packet_commitment( + port_id=port_id, channel_id=channel_id, sequence=sequence + ) + + async def fetch_ibc_packet_commitments( + self, port_id: str, channel_id: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_packet_commitments( + port_id=port_id, channel_id=channel_id, pagination=pagination + ) + + async def fetch_ibc_packet_receipt(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_packet_receipt( + port_id=port_id, channel_id=channel_id, sequence=sequence + ) + + async def fetch_ibc_packet_acknowledgement(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_packet_acknowledgement( + port_id=port_id, channel_id=channel_id, sequence=sequence + ) + + async def fetch_ibc_packet_acknowledgements( + self, + port_id: str, + channel_id: str, + packet_commitment_sequences: Optional[List[int]] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_packet_acknowledgements( + port_id=port_id, + channel_id=channel_id, + packet_commitment_sequences=packet_commitment_sequences, + pagination=pagination, + ) + + async def fetch_ibc_unreceived_packets( + self, port_id: str, channel_id: str, packet_commitment_sequences: Optional[List[int]] = None + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_unreceived_packets( + port_id=port_id, channel_id=channel_id, packet_commitment_sequences=packet_commitment_sequences + ) + + async def fetch_ibc_unreceived_acks( + self, port_id: str, channel_id: str, packet_ack_sequences: Optional[List[int]] = None + ) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_unreceived_acks( + port_id=port_id, channel_id=channel_id, packet_ack_sequences=packet_ack_sequences + ) + + async def fetch_next_sequence_receive(self, port_id: str, channel_id: str) -> Dict[str, Any]: + return await self.ibc_channel_api.fetch_next_sequence_receive(port_id=port_id, channel_id=channel_id) + + # endregion + + # region IBC Client module + async def fetch_ibc_client_state(self, client_id: str) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_client_state(client_id=client_id) + + async def fetch_ibc_client_states(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_client_states(pagination=pagination) + + async def fetch_ibc_consensus_state( + self, + client_id: str, + revision_number: int, + revision_height: int, + latest_height: Optional[bool] = None, + ) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_consensus_state( + client_id=client_id, + revision_number=revision_number, + revision_height=revision_height, + latest_height=latest_height, + ) + + async def fetch_ibc_consensus_states( + self, + client_id: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_consensus_states(client_id=client_id, pagination=pagination) + + async def fetch_ibc_consensus_state_heights( + self, + client_id: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_consensus_state_heights(client_id=client_id, pagination=pagination) + + async def fetch_ibc_client_status(self, client_id: str) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_client_status(client_id=client_id) + + async def fetch_ibc_client_params(self) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_client_params() + + async def fetch_ibc_upgraded_client_state(self) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_upgraded_client_state() + + async def fetch_ibc_upgraded_consensus_state(self) -> Dict[str, Any]: + return await self.ibc_client_api.fetch_upgraded_consensus_state() + + # endregion + + # region IBC Connection module + async def fetch_ibc_connection(self, connection_id: str) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_connection(connection_id=connection_id) + + async def fetch_ibc_connections(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_connections(pagination=pagination) + + async def fetch_ibc_client_connections(self, client_id: str) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_client_connections(client_id=client_id) + + async def fetch_ibc_connection_client_state(self, connection_id: str) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_connection_client_state(connection_id=connection_id) + + async def fetch_ibc_connection_consensus_state( + self, + connection_id: str, + revision_number: int, + revision_height: int, + ) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_connection_consensus_state( + connection_id=connection_id, revision_number=revision_number, revision_height=revision_height + ) + + async def fetch_ibc_connection_params(self) -> Dict[str, Any]: + return await self.ibc_connection_api.fetch_connection_params() + + # endregion + + # ------------------------------ + # region Permissions module + + async def fetch_permissions_namespace_denoms(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace_denoms() + + async def fetch_permissions_namespaces(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespaces() + + async def fetch_permissions_namespace(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace(denom=denom) + + async def fetch_permissions_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_roles_by_actor(denom=denom, actor=actor) + + async def fetch_permissions_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_actors_by_role(denom=denom, role=role) + + async def fetch_permissions_role_managers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_managers(denom=denom) + + async def fetch_permissions_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_manager(denom=denom, manager=manager) + + async def fetch_permissions_policy_statuses(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_statuses(denom=denom) + + async def fetch_permissions_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_manager_capabilities(denom=denom) + + async def fetch_permissions_vouchers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_vouchers(denom=denom) + + async def fetch_permissions_voucher(self, denom: str, address: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_voucher(denom=denom, address=address) + + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_permissions_module_state() + + # endregion + + # ------------------------------ + # region Auction module (chain) + + async def fetch_auction_module_params(self) -> Dict[str, Any]: + return await self.auction_chain_api.fetch_module_params() + + async def fetch_current_auction_basket(self) -> Dict[str, Any]: + return await self.auction_chain_api.fetch_current_basket() + + async def fetch_auction_vouchers(self, denom: str) -> Dict[str, Any]: + return await self.auction_chain_api.fetch_vouchers(denom=denom) + + async def fetch_auction_voucher(self, denom: str, address: str) -> Dict[str, Any]: + return await self.auction_chain_api.fetch_voucher(denom=denom, address=address) + + # endregion + + # ------------------------------ + # region Insurance module (chain) + + async def fetch_insurance_module_params(self) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_module_params() + + async def fetch_insurance_fund(self, market_id: str) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_insurance_fund(market_id=market_id) + + async def fetch_insurance_funds(self) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_insurance_funds() + + async def fetch_estimated_redemptions(self, market_id: str, address: str) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_estimated_redemptions(market_id=market_id, address=address) + + async def fetch_pending_redemptions(self, market_id: str, address: str) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_pending_redemptions(market_id=market_id, address=address) + + async def fetch_failed_redemptions(self) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_failed_redemptions() + + async def fetch_insurance_vouchers(self, denom: str) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_vouchers(denom=denom) + + async def fetch_insurance_voucher(self, denom: str, address: str) -> Dict[str, Any]: + return await self.insurance_chain_api.fetch_voucher(denom=denom, address=address) + + # endregion + + # ------------------------- + # region IBC Channel module + async def fetch_eip_base_fee(self) -> Dict[str, Any]: + return await self.txfees_api.fetch_eip_base_fee() + + # endregion + + # ------------------------- + # region Chain ERC20 module + async def fetch_erc20_all_token_pairs(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + return await self.chain_erc20_api.fetch_all_token_pairs(pagination=pagination) + + async def fetch_erc20_token_pair_by_denom(self, bank_denom: str) -> Dict[str, Any]: + return await self.chain_erc20_api.fetch_token_pair_by_denom(bank_denom=bank_denom) + + async def fetch_erc20_token_pair_by_erc20_address(self, erc20_address: str) -> Dict[str, Any]: + return await self.chain_erc20_api.fetch_token_pair_by_erc20_address(erc20_address=erc20_address) + + # endregion + + # ------------------------- + # region Chain EVM module + async def fetch_evm_account(self, address: str) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_account(address=address) + + async def fetch_evm_cosmos_account(self, address: str) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_cosmos_account(address=address) + + async def fetch_evm_validator_account(self, cons_address: str) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_validator_account(cons_address=cons_address) + + async def fetch_evm_balance(self, address: str) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_balance(address=address) + + async def fetch_evm_storage(self, address: str, key: Optional[str] = None) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_storage(address=address, key=key) + + async def fetch_evm_code(self, address: str) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_code(address=address) + + async def fetch_evm_base_fee(self) -> Dict[str, Any]: + return await self.chain_evm_api.fetch_base_fee() + + # endregion + + async def composer(self): + return Composer( + network=self.network.string(), + ) + + async def current_chain_gas_price(self) -> int: + gas_price = GAS_PRICE + try: + eip_base_fee_response = await self.fetch_eip_base_fee() + gas_price = int( + Token.convert_value_from_extended_decimal_format(Decimal(eip_base_fee_response["baseFee"]["baseFee"])) + ) + except Exception as e: + logger = LoggerProvider().logger_for_class(logging_class=self.__class__) + logger.error("an error occurred when querying the gas price from the chain, using the default gas price") + logger.debug(f"error querying the gas price from chain {e}") + + return gas_price + + async def initialize_tokens_from_chain_denoms(self): + # force initialization of markets and tokens + await self.all_tokens() + + all_denoms_metadata = [] + + query_result = await self.fetch_denoms_metadata() + + all_denoms_metadata.extend(query_result.get("metadatas", [])) + next_key = query_result.get("pagination", {}).get("nextKey", "") + + while next_key != "": + query_result = await self.fetch_denoms_metadata(pagination=PaginationOption(encoded_page_key=next_key)) + + all_denoms_metadata.extend(query_result.get("metadatas", [])) + next_key = query_result.get("pagination", {}).get("nextKey", "") + + for token_metadata in all_denoms_metadata: + symbol = token_metadata["symbol"] + denom = token_metadata["base"] + + if denom != "" and symbol != "" and denom not in self._tokens_by_denom: + name = token_metadata["name"] or symbol + decimals = max({denom_unit["exponent"] for denom_unit in token_metadata["denomUnits"]}) + + unique_symbol = denom + for symbol_candidate in [symbol, name]: + if symbol_candidate not in self._tokens_by_symbol: + unique_symbol = symbol_candidate + break + + token = Token( + name=name, + symbol=symbol, + denom=denom, + address="", + decimals=decimals, + logo=token_metadata["uri"], + updated=-1, + unique_symbol=unique_symbol, + ) + + self._tokens_by_denom[denom] = token + self._tokens_by_symbol[unique_symbol] = token + + async def _initialize_tokens_and_markets(self): + spot_markets = dict() + derivative_markets = dict() + binary_option_markets = dict() + tokens_by_symbol, tokens_by_denom = await self._tokens_from_official_lists(network=self.network) + self._tokens_by_denom.update(tokens_by_denom) + self._tokens_by_symbol.update(tokens_by_symbol) + + markets_info = (await self.fetch_chain_spot_markets(status="Active"))["markets"] + for market_info in markets_info: + base_token = self._tokens_by_denom.get(market_info["baseDenom"]) + quote_token = self._tokens_by_denom.get(market_info["quoteDenom"]) + + market = SpotMarket( + id=market_info["marketId"], + status=market_info["status"], + ticker=market_info["ticker"], + base_token=base_token, + quote_token=quote_token, + maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["makerFeeRate"])), + taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["takerFeeRate"])), + service_provider_fee=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["relayerFeeShareRate"]) + ), + min_price_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["minPriceTickSize"]) + ), + min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["minQuantityTickSize"]) + ), + min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market_info["minNotional"])), + ) + + spot_markets[market.id] = market + + markets_info = (await self.fetch_chain_derivative_markets(status="Active", with_mid_price_and_tob=False))[ + "markets" + ] + for market_info in markets_info: + market = market_info["market"] + quote_token = self._tokens_by_denom.get(market["quoteDenom"]) + + derivative_market = DerivativeMarket( + id=market["marketId"], + status=market["status"], + ticker=market["ticker"], + oracle_base=market["oracleBase"], + oracle_quote=market["oracleQuote"], + oracle_type=market["oracleType"], + oracle_scale_factor=market["oracleScaleFactor"], + initial_margin_ratio=Token.convert_value_from_extended_decimal_format( + Decimal(market["initialMarginRatio"]) + ), + maintenance_margin_ratio=Token.convert_value_from_extended_decimal_format( + Decimal(market["maintenanceMarginRatio"]) + ), + quote_token=quote_token, + maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market["makerFeeRate"])), + taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market["takerFeeRate"])), + service_provider_fee=Token.convert_value_from_extended_decimal_format( + Decimal(market["relayerFeeShareRate"]) + ), + min_price_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market["minPriceTickSize"]) + ), + min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market["minQuantityTickSize"]) + ), + min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market["minNotional"])), + ) + + derivative_markets[derivative_market.id] = derivative_market + + markets_info = (await self.fetch_chain_binary_options_markets(status="Active"))["markets"] + for market_info in markets_info: + quote_token = self._tokens_by_denom.get(market_info["quoteDenom"]) + + market = BinaryOptionMarket( + id=market_info["marketId"], + status=market_info["status"], + ticker=market_info["ticker"], + oracle_symbol=market_info["oracleSymbol"], + oracle_provider=market_info["oracleProvider"], + oracle_type=market_info["oracleType"], + oracle_scale_factor=market_info["oracleScaleFactor"], + expiration_timestamp=market_info["expirationTimestamp"], + settlement_timestamp=market_info["settlementTimestamp"], + quote_token=quote_token, + maker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["makerFeeRate"])), + taker_fee_rate=Token.convert_value_from_extended_decimal_format(Decimal(market_info["takerFeeRate"])), + service_provider_fee=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["relayerFeeShareRate"]) + ), + min_price_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["minPriceTickSize"]) + ), + min_quantity_tick_size=Token.convert_value_from_extended_decimal_format( + Decimal(market_info["minQuantityTickSize"]) + ), + min_notional=Token.convert_value_from_extended_decimal_format(Decimal(market_info["minNotional"])), + settlement_price=None + if market_info["settlementPrice"] == "" + else Token.convert_value_from_extended_decimal_format(Decimal(market_info["settlementPrice"])), + ) + + binary_option_markets[market.id] = market + + self._spot_markets = spot_markets + self._derivative_markets = derivative_markets + self._binary_option_markets = binary_option_markets + + def _token_representation( + self, + token_meta: Dict[str, Any], + denom: str, + tokens_by_denom: Dict[str, Token], + tokens_by_symbol: Dict[str, Token], + ) -> Token: + if denom not in tokens_by_denom: + unique_symbol = denom + for symbol_candidate in [token_meta["symbol"], token_meta["name"]]: + if symbol_candidate not in tokens_by_symbol: + unique_symbol = symbol_candidate + break + + token = Token( + name=token_meta["name"], + symbol=token_meta["symbol"], + denom=denom, + address=token_meta["address"], + decimals=token_meta["decimals"], + logo=token_meta["logo"], + updated=int(token_meta["updatedAt"]), + unique_symbol=unique_symbol, + ) + + tokens_by_denom[denom] = token + tokens_by_symbol[unique_symbol] = token + + return tokens_by_denom[denom] + + async def _tokens_from_official_lists( + self, + network: Network, + ) -> Tuple[Dict[str, Token], Dict[str, Token]]: + tokens_by_symbol = dict() + tokens_by_denom = dict() + + loader = TokensFileLoader() + tokens = await loader.load_tokens(network.official_tokens_list_url) + + for token in tokens: + if token.denom is not None and token.denom != "" and token.denom not in tokens_by_denom: + unique_symbol = token.denom + for symbol_candidate in [token.symbol, token.name]: + if symbol_candidate not in tokens_by_symbol: + unique_symbol = symbol_candidate + break + + new_token = Token( + name=token.name, + symbol=token.symbol, + denom=token.denom, + address=token.address, + decimals=token.decimals, + logo=token.logo, + updated=token.updated, + unique_symbol=unique_symbol, + ) + + tokens_by_denom[new_token.denom] = new_token + tokens_by_symbol[unique_symbol] = new_token + + return tokens_by_symbol, tokens_by_denom + + def _initialize_timeout_height_sync_task(self): + self._cancel_timeout_height_sync_task() + self._timeout_height_sync_task = asyncio.get_event_loop().create_task(self._timeout_height_sync_process()) + + async def _timeout_height_sync_process(self): + while True: + await self.sync_timeout_height() + await asyncio.sleep(DEFAULT_TIMEOUTHEIGHT_SYNC_INTERVAL) + + def _cancel_timeout_height_sync_task(self): + if self._timeout_height_sync_task is not None: + self._timeout_height_sync_task.cancel() + self._timeout_height_sync_task = None diff --git a/pyinjective/client/chain/grpc/chain_grpc_auction_api.py b/pyinjective/client/chain/grpc/chain_grpc_auction_api.py index d2d2a211..9163311e 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_auction_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_auction_api.py @@ -33,5 +33,17 @@ async def fetch_current_basket(self) -> Dict[str, Any]: return response + async def fetch_vouchers(self, denom: str) -> Dict[str, Any]: + request = auction_query_pb.QueryVouchersRequest(denom=denom) + response = await self._execute_call(call=self._stub.Vouchers, request=request) + + return response + + async def fetch_voucher(self, denom: str, address: str) -> Dict[str, Any]: + request = auction_query_pb.QueryVoucherRequest(denom=denom, address=address) + response = await self._execute_call(call=self._stub.Voucher, request=request) + + return response + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc/chain_grpc_erc20_api.py b/pyinjective/client/chain/grpc/chain_grpc_erc20_api.py new file mode 100644 index 00000000..2286bee5 --- /dev/null +++ b/pyinjective/client/chain/grpc/chain_grpc_erc20_api.py @@ -0,0 +1,49 @@ +from typing import Any, Callable, Dict, Optional + +from grpc.aio import Channel + +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.injective.erc20.v1beta1 import query_pb2 as erc20_query_pb, query_pb2_grpc as erc20_query_grpc +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class ChainGrpcERC20Api: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = erc20_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_erc20_params(self) -> Dict[str, Any]: + request = erc20_query_pb.QueryParamsRequest() + response = await self._execute_call(call=self._stub.Params, request=request) + + return response + + async def fetch_all_token_pairs( + self, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + pagination_request = None + if pagination is not None: + pagination_request = pagination.create_pagination_request() + request = erc20_query_pb.QueryAllTokenPairsRequest( + pagination=pagination_request, + ) + response = await self._execute_call(call=self._stub.AllTokenPairs, request=request) + + return response + + async def fetch_token_pair_by_denom(self, bank_denom: str) -> Dict[str, Any]: + request = erc20_query_pb.QueryTokenPairByDenomRequest(bank_denom=bank_denom) + response = await self._execute_call(call=self._stub.TokenPairByDenom, request=request) + + return response + + async def fetch_token_pair_by_erc20_address(self, erc20_address: str) -> Dict[str, Any]: + request = erc20_query_pb.QueryTokenPairByERC20AddressRequest(erc20_address=erc20_address) + response = await self._execute_call(call=self._stub.TokenPairByERC20Address, request=request) + + return response + + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: + return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc/chain_grpc_evm_api.py b/pyinjective/client/chain/grpc/chain_grpc_evm_api.py new file mode 100644 index 00000000..2eba4bc6 --- /dev/null +++ b/pyinjective/client/chain/grpc/chain_grpc_evm_api.py @@ -0,0 +1,64 @@ +from typing import Any, Callable, Dict, Optional + +from grpc.aio import Channel + +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.injective.evm.v1 import query_pb2 as evm_query_pb, query_pb2_grpc as evm_query_grpc +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class ChainGrpcEVMApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = evm_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_params(self) -> Dict[str, Any]: + request = evm_query_pb.QueryParamsRequest() + response = await self._execute_call(call=self._stub.Params, request=request) + + return response + + async def fetch_account(self, address: str) -> Dict[str, Any]: + request = evm_query_pb.QueryAccountRequest(address=address) + response = await self._execute_call(call=self._stub.Account, request=request) + + return response + + async def fetch_cosmos_account(self, address: str) -> Dict[str, Any]: + request = evm_query_pb.QueryCosmosAccountRequest(address=address) + response = await self._execute_call(call=self._stub.CosmosAccount, request=request) + + return response + + async def fetch_validator_account(self, cons_address: str) -> Dict[str, Any]: + request = evm_query_pb.QueryValidatorAccountRequest(cons_address=cons_address) + response = await self._execute_call(call=self._stub.ValidatorAccount, request=request) + + return response + + async def fetch_balance(self, address: str) -> Dict[str, Any]: + request = evm_query_pb.QueryBalanceRequest(address=address) + response = await self._execute_call(call=self._stub.Balance, request=request) + + return response + + async def fetch_storage(self, address: str, key: Optional[str] = None) -> Dict[str, Any]: + request = evm_query_pb.QueryStorageRequest(address=address, key=key) + response = await self._execute_call(call=self._stub.Storage, request=request) + + return response + + async def fetch_code(self, address: str) -> Dict[str, Any]: + request = evm_query_pb.QueryCodeRequest(address=address) + response = await self._execute_call(call=self._stub.Code, request=request) + + return response + + async def fetch_base_fee(self) -> Dict[str, Any]: + request = evm_query_pb.QueryBaseFeeRequest() + response = await self._execute_call(call=self._stub.BaseFee, request=request) + + return response + + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: + return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py b/pyinjective/client/chain/grpc/chain_grpc_exchange_v2_api.py similarity index 85% rename from pyinjective/client/chain/grpc/chain_grpc_exchange_api.py rename to pyinjective/client/chain/grpc/chain_grpc_exchange_v2_api.py index 6ac66a67..4ee88e43 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_exchange_v2_api.py @@ -4,14 +4,14 @@ from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import CookieAssistant -from pyinjective.proto.injective.exchange.v1beta1 import ( +from pyinjective.proto.injective.exchange.v2 import ( query_pb2 as exchange_query_pb, query_pb2_grpc as exchange_query_grpc, ) from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant -class ChainGrpcExchangeApi: +class ChainGrpcExchangeV2Api: def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): self._stub = exchange_query_grpc.QueryStub(channel) self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) @@ -87,15 +87,17 @@ async def fetch_aggregate_market_volumes(self, market_ids: Optional[List[str]] = return response - async def fetch_denom_decimal(self, denom: str) -> Dict[str, Any]: - request = exchange_query_pb.QueryDenomDecimalRequest(denom=denom) - response = await self._execute_call(call=self._stub.DenomDecimal, request=request) + async def fetch_auction_exchange_transfer_denom_decimal(self, denom: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalRequest(denom=denom) + response = await self._execute_call(call=self._stub.AuctionExchangeTransferDenomDecimal, request=request) return response - async def fetch_denom_decimals(self, denoms: Optional[List[str]] = None) -> Dict[str, Any]: - request = exchange_query_pb.QueryDenomDecimalsRequest(denoms=denoms) - response = await self._execute_call(call=self._stub.DenomDecimals, request=request) + async def fetch_auction_exchange_transfer_denom_decimals( + self, denoms: Optional[List[str]] = None + ) -> Dict[str, Any]: + request = exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalsRequest(denoms=denoms) + response = await self._execute_call(call=self._stub.AuctionExchangeTransferDenomDecimals, request=request) return response @@ -378,6 +380,12 @@ async def fetch_positions(self) -> Dict[str, Any]: return response + async def fetch_positions_in_market(self, market_id: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryPositionsInMarketRequest(market_id=market_id) + response = await self._execute_call(call=self._stub.PositionsInMarket, request=request) + + return response + async def fetch_subaccount_positions(self, subaccount_id: str) -> Dict[str, Any]: request = exchange_query_pb.QuerySubaccountPositionsRequest(subaccount_id=subaccount_id) response = await self._execute_call(call=self._stub.SubaccountPositions, request=request) @@ -575,5 +583,81 @@ async def fetch_market_atomic_execution_fee_multiplier( return response + async def fetch_l3_derivative_orderbook( + self, + market_id: str, + ) -> Dict[str, Any]: + request = exchange_query_pb.QueryFullDerivativeOrderbookRequest( + market_id=market_id, + ) + response = await self._execute_call(call=self._stub.L3DerivativeOrderBook, request=request) + + return response + + async def fetch_l3_spot_orderbook( + self, + market_id: str, + ) -> Dict[str, Any]: + request = exchange_query_pb.QueryFullSpotOrderbookRequest( + market_id=market_id, + ) + response = await self._execute_call(call=self._stub.L3SpotOrderBook, request=request) + + return response + + async def fetch_market_balance(self, market_id: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryMarketBalanceRequest(market_id=market_id) + response = await self._execute_call(call=self._stub.MarketBalance, request=request) + + return response + + async def fetch_market_balances(self) -> Dict[str, Any]: + request = exchange_query_pb.QueryMarketBalancesRequest() + response = await self._execute_call(call=self._stub.MarketBalances, request=request) + + return response + + async def fetch_denom_min_notional(self, denom: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryDenomMinNotionalRequest(denom=denom) + response = await self._execute_call(call=self._stub.DenomMinNotional, request=request) + + return response + + async def fetch_denom_min_notionals(self) -> Dict[str, Any]: + request = exchange_query_pb.QueryDenomMinNotionalsRequest() + response = await self._execute_call(call=self._stub.DenomMinNotionals, request=request) + return response + + async def fetch_active_stake_grant(self, grantee: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryActiveStakeGrantRequest(grantee=grantee) + response = await self._execute_call(call=self._stub.ActiveStakeGrant, request=request) + + return response + + async def fetch_grant_authorization( + self, + granter: str, + grantee: str, + ) -> Dict[str, Any]: + request = exchange_query_pb.QueryGrantAuthorizationRequest( + granter=granter, + grantee=grantee, + ) + response = await self._execute_call(call=self._stub.GrantAuthorization, request=request) + + return response + + async def fetch_grant_authorizations(self, granter: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryGrantAuthorizationsRequest(granter=granter) + response = await self._execute_call(call=self._stub.GrantAuthorizations, request=request) + + return response + + async def fetch_open_interest(self, market_id: str) -> Dict[str, Any]: + request = exchange_query_pb.QueryOpenInterestRequest(market_id=market_id) + response = await self._execute_call(call=self._stub.OpenInterest, request=request) + + return response + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc/chain_grpc_insurance_api.py b/pyinjective/client/chain/grpc/chain_grpc_insurance_api.py new file mode 100644 index 00000000..a70361d5 --- /dev/null +++ b/pyinjective/client/chain/grpc/chain_grpc_insurance_api.py @@ -0,0 +1,73 @@ +from typing import Any, Callable, Dict + +from grpc.aio import Channel + +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.injective.insurance.v1beta1 import ( + query_pb2 as insurance_query_pb, + query_pb2_grpc as insurance_query_grpc, +) +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class ChainGrpcInsuranceApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = insurance_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_module_params(self) -> Dict[str, Any]: + request = insurance_query_pb.QueryInsuranceParamsRequest() + response = await self._execute_call(call=self._stub.InsuranceParams, request=request) + + return response + + async def fetch_insurance_fund(self, market_id: str) -> Dict[str, Any]: + request = insurance_query_pb.QueryInsuranceFundRequest(market_id=market_id) + response = await self._execute_call(call=self._stub.InsuranceFund, request=request) + + return response + + async def fetch_insurance_funds(self) -> Dict[str, Any]: + request = insurance_query_pb.QueryInsuranceFundsRequest() + response = await self._execute_call(call=self._stub.InsuranceFunds, request=request) + + return response + + async def fetch_estimated_redemptions(self, market_id: str, address: str) -> Dict[str, Any]: + request = insurance_query_pb.QueryEstimatedRedemptionsRequest(marketId=market_id, address=address) + response = await self._execute_call(call=self._stub.EstimatedRedemptions, request=request) + + return response + + async def fetch_pending_redemptions(self, market_id: str, address: str) -> Dict[str, Any]: + request = insurance_query_pb.QueryPendingRedemptionsRequest(marketId=market_id, address=address) + response = await self._execute_call(call=self._stub.PendingRedemptions, request=request) + + return response + + async def fetch_module_state(self) -> Dict[str, Any]: + request = insurance_query_pb.QueryModuleStateRequest() + response = await self._execute_call(call=self._stub.InsuranceModuleState, request=request) + + return response + + async def fetch_failed_redemptions(self) -> Dict[str, Any]: + request = insurance_query_pb.QueryFailedRedemptionsRequest() + response = await self._execute_call(call=self._stub.FailedRedemptions, request=request) + + return response + + async def fetch_vouchers(self, denom: str) -> Dict[str, Any]: + request = insurance_query_pb.QueryVouchersRequest(denom=denom) + response = await self._execute_call(call=self._stub.Vouchers, request=request) + + return response + + async def fetch_voucher(self, denom: str, address: str) -> Dict[str, Any]: + request = insurance_query_pb.QueryVoucherRequest(denom=denom, address=address) + response = await self._execute_call(call=self._stub.Voucher, request=request) + + return response + + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: + return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py index 4a268981..cdbc4c25 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py @@ -21,33 +21,75 @@ async def fetch_module_params(self) -> Dict[str, Any]: return response - async def fetch_all_namespaces(self) -> Dict[str, Any]: - request = permissions_query_pb.QueryAllNamespacesRequest() - response = await self._execute_call(call=self._stub.AllNamespaces, request=request) + async def fetch_namespace_denoms(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceDenomsRequest() + response = await self._execute_call(call=self._stub.NamespaceDenoms, request=request) return response - async def fetch_namespace_by_denom(self, denom: str, include_roles: bool) -> Dict[str, Any]: - request = permissions_query_pb.QueryNamespaceByDenomRequest(denom=denom, include_roles=include_roles) - response = await self._execute_call(call=self._stub.NamespaceByDenom, request=request) + async def fetch_namespaces(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespacesRequest() + response = await self._execute_call(call=self._stub.Namespaces, request=request) return response - async def fetch_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressRolesRequest(denom=denom, address=address) - response = await self._execute_call(call=self._stub.AddressRoles, request=request) + async def fetch_namespace(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceRequest(denom=denom) + response = await self._execute_call(call=self._stub.Namespace, request=request) return response - async def fetch_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressesByRoleRequest(denom=denom, role=role) - response = await self._execute_call(call=self._stub.AddressesByRole, request=request) + async def fetch_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRolesByActorRequest(denom=denom, actor=actor) + response = await self._execute_call(call=self._stub.RolesByActor, request=request) return response - async def fetch_vouchers_for_address(self, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryVouchersForAddressRequest(address=address) - response = await self._execute_call(call=self._stub.VouchersForAddress, request=request) + async def fetch_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryActorsByRoleRequest(denom=denom, role=role) + response = await self._execute_call(call=self._stub.ActorsByRole, request=request) + + return response + + async def fetch_role_managers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagersRequest(denom=denom) + response = await self._execute_call(call=self._stub.RoleManagers, request=request) + + return response + + async def fetch_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagerRequest(denom=denom, manager=manager) + response = await self._execute_call(call=self._stub.RoleManager, request=request) + + return response + + async def fetch_policy_statuses(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyStatusesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyStatuses, request=request) + + return response + + async def fetch_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyManagerCapabilitiesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyManagerCapabilities, request=request) + + return response + + async def fetch_vouchers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVouchersRequest(denom=denom) + response = await self._execute_call(call=self._stub.Vouchers, request=request) + + return response + + async def fetch_voucher(self, denom: str, address: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVoucherRequest(denom=denom, address=address) + response = await self._execute_call(call=self._stub.Voucher, request=request) + + return response + + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryModuleStateRequest() + response = await self._execute_call(call=self._stub.PermissionsModuleState, request=request) return response diff --git a/pyinjective/client/chain/grpc/chain_grpc_token_factory_api.py b/pyinjective/client/chain/grpc/chain_grpc_token_factory_api.py index 457f6f1b..60cc8e0a 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_token_factory_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_token_factory_api.py @@ -6,7 +6,6 @@ from pyinjective.proto.injective.tokenfactory.v1beta1 import ( query_pb2 as token_factory_query_pb, query_pb2_grpc as token_factory_query_grpc, - tx_pb2_grpc as token_factory_tx_grpc, ) from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant @@ -14,7 +13,6 @@ class ChainGrpcTokenFactoryApi: def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): self._query_stub = token_factory_query_grpc.QueryStub(channel) - self._tx_stub = token_factory_tx_grpc.MsgStub(channel) self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) async def fetch_module_params(self) -> Dict[str, Any]: diff --git a/pyinjective/client/chain/grpc/chain_grpc_txfees_api.py b/pyinjective/client/chain/grpc/chain_grpc_txfees_api.py new file mode 100644 index 00000000..3a020311 --- /dev/null +++ b/pyinjective/client/chain/grpc/chain_grpc_txfees_api.py @@ -0,0 +1,28 @@ +from typing import Any, Callable, Dict + +from grpc.aio import Channel + +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.injective.txfees.v1beta1 import query_pb2 as txfees_query_pb, query_pb2_grpc as txfees_query_grpc +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class ChainGrpcTxfeesApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._query_stub = txfees_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_module_params(self) -> Dict[str, Any]: + request = txfees_query_pb.QueryParamsRequest() + response = await self._execute_call(call=self._query_stub.Params, request=request) + + return response + + async def fetch_eip_base_fee(self) -> Dict[str, Any]: + request = txfees_query_pb.QueryEipBaseFeeRequest() + response = await self._execute_call(call=self._query_stub.GetEipBaseFee, request=request) + + return response + + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: + return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py b/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py index 019ecc31..8f871309 100644 --- a/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py +++ b/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py @@ -1,15 +1,21 @@ +import warnings from typing import Callable, Optional from grpc.aio import Channel from pyinjective.core.network import CookieAssistant from pyinjective.proto.injective.stream.v1beta1 import query_pb2 as chain_stream_pb, query_pb2_grpc as chain_stream_grpc +from pyinjective.proto.injective.stream.v2 import ( + query_pb2 as chain_stream_v2_pb, + query_pb2_grpc as chain_stream_v2_grpc, +) from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant class ChainGrpcChainStream: def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = chain_stream_grpc.StreamStub(channel) + self._stub = chain_stream_grpc.StreamStub(channel) + self._stub_v2 = chain_stream_v2_grpc.StreamStub(channel) self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) async def stream( @@ -28,6 +34,11 @@ async def stream( positions_filter: Optional[chain_stream_pb.PositionsFilter] = None, oracle_price_filter: Optional[chain_stream_pb.OraclePriceFilter] = None, ): + warnings.warn( + "stream is deprecated. Use stream_v2 instead.", + DeprecationWarning, + stacklevel=2, + ) request = chain_stream_pb.StreamRequest( bank_balances_filter=bank_balances_filter, subaccount_deposits_filter=subaccount_deposits_filter, @@ -48,3 +59,46 @@ async def stream( on_end_callback=on_end_callback, on_status_callback=on_status_callback, ) + + async def stream_v2( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + bank_balances_filter: Optional[chain_stream_v2_pb.BankBalancesFilter] = None, + subaccount_deposits_filter: Optional[chain_stream_v2_pb.SubaccountDepositsFilter] = None, + spot_trades_filter: Optional[chain_stream_v2_pb.TradesFilter] = None, + derivative_trades_filter: Optional[chain_stream_v2_pb.TradesFilter] = None, + spot_orders_filter: Optional[chain_stream_v2_pb.OrdersFilter] = None, + derivative_orders_filter: Optional[chain_stream_v2_pb.OrdersFilter] = None, + spot_orderbooks_filter: Optional[chain_stream_v2_pb.OrderbookFilter] = None, + derivative_orderbooks_filter: Optional[chain_stream_v2_pb.OrderbookFilter] = None, + positions_filter: Optional[chain_stream_v2_pb.PositionsFilter] = None, + oracle_price_filter: Optional[chain_stream_v2_pb.OraclePriceFilter] = None, + order_failures_filter: Optional[chain_stream_v2_pb.OrderFailuresFilter] = None, + conditional_order_trigger_failures_filter: Optional[ + chain_stream_v2_pb.ConditionalOrderTriggerFailuresFilter + ] = None, + ): + request = chain_stream_v2_pb.StreamRequest( + bank_balances_filter=bank_balances_filter, + subaccount_deposits_filter=subaccount_deposits_filter, + spot_trades_filter=spot_trades_filter, + derivative_trades_filter=derivative_trades_filter, + spot_orders_filter=spot_orders_filter, + derivative_orders_filter=derivative_orders_filter, + spot_orderbooks_filter=spot_orderbooks_filter, + derivative_orderbooks_filter=derivative_orderbooks_filter, + positions_filter=positions_filter, + oracle_price_filter=oracle_price_filter, + order_failures_filter=order_failures_filter, + conditional_order_trigger_failures_filter=conditional_order_trigger_failures_filter, + ) + + await self._assistant.listen_stream( + call=self._stub_v2.StreamV2, + request=request, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py index e543d16e..425f6f81 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py @@ -27,5 +27,11 @@ async def fetch_auctions(self) -> Dict[str, Any]: return response + async def fetch_inj_burnt(self) -> Dict[str, Any]: + request = exchange_auction_pb.InjBurntEndpointRequest() + response = await self._execute_call(call=self._stub.InjBurntEndpoint, request=request) + + return response + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_derivative_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_derivative_api.py index 1d0220ee..3720372b 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_derivative_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_derivative_api.py @@ -58,14 +58,14 @@ async def fetch_binary_options_market(self, market_id: str) -> Dict[str, Any]: return response - async def fetch_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - request = exchange_derivative_pb.OrderbookV2Request(market_id=market_id) + async def fetch_orderbook_v2(self, market_id: str, depth: int) -> Dict[str, Any]: + request = exchange_derivative_pb.OrderbookV2Request(market_id=market_id, depth=depth) response = await self._execute_call(call=self._stub.OrderbookV2, request=request) return response - async def fetch_orderbooks_v2(self, market_ids: List[str]) -> Dict[str, Any]: - request = exchange_derivative_pb.OrderbooksV2Request(market_ids=market_ids) + async def fetch_orderbooks_v2(self, market_ids: List[str], depth: int) -> Dict[str, Any]: + request = exchange_derivative_pb.OrderbooksV2Request(market_ids=market_ids, depth=depth) response = await self._execute_call(call=self._stub.OrderbooksV2, request=request) return response @@ -214,6 +214,7 @@ async def fetch_trades( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() @@ -230,6 +231,7 @@ async def fetch_trades( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) response = await self._execute_call(call=self._stub.Trades, request=request) @@ -322,6 +324,7 @@ async def fetch_trades_v2( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() @@ -338,11 +341,18 @@ async def fetch_trades_v2( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) response = await self._execute_call(call=self._stub.TradesV2, request=request) return response + async def fetch_open_interest(self, market_ids: List[str]) -> Dict[str, Any]: + request = exchange_derivative_pb.OpenInterestRequest(market_i_ds=market_ids) + response = await self._execute_call(call=self._stub.OpenInterest, request=request) + + return response + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_explorer_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_explorer_api.py index b08f5390..230e0cbb 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_explorer_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_explorer_api.py @@ -68,6 +68,32 @@ async def fetch_contract_txs( return response + async def fetch_contract_txs_v2( + self, + address: str, + height: Optional[int] = None, + token: Optional[str] = None, + status: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + pagination = pagination or PaginationOption() + request = exchange_explorer_pb.GetContractTxsV2Request( + address=address, + token=token, + ) + if height is not None: + request.height = height + if pagination is not None: + setattr(request, "from", pagination.start_time) + request.to = pagination.end_time + request.per_page = pagination.limit + if status is not None: + request.status = status + + response = await self._execute_call(call=self._stub.GetContractTxsV2, request=request) + + return response + async def fetch_blocks( self, before: Optional[int] = None, @@ -214,15 +240,13 @@ async def fetch_ibc_transfer_txs( async def fetch_wasm_codes( self, - from_number: Optional[int] = None, - to_number: Optional[int] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() request = exchange_explorer_pb.GetWasmCodesRequest( limit=pagination.limit, - from_number=from_number, - to_number=to_number, + from_number=pagination.from_number, + to_number=pagination.to_number, ) response = await self._execute_call(call=self._stub.GetWasmCodes, request=request) @@ -242,21 +266,23 @@ async def fetch_wasm_code_by_id( async def fetch_wasm_contracts( self, code_id: Optional[int] = None, - from_number: Optional[int] = None, - to_number: Optional[int] = None, assets_only: Optional[bool] = None, label: Optional[str] = None, + token: Optional[str] = None, + lookup: Optional[str] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() request = exchange_explorer_pb.GetWasmContractsRequest( limit=pagination.limit, code_id=code_id, - from_number=from_number, - to_number=to_number, + from_number=pagination.from_number, + to_number=pagination.to_number, assets_only=assets_only, skip=pagination.skip, label=label, + token=token, + lookup=lookup, ) response = await self._execute_call(call=self._stub.GetWasmContracts, request=request) diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py index ccf16ee9..995ca535 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Dict, Optional +from typing import Any, Callable, Dict, List, Optional from grpc.aio import Channel @@ -15,8 +15,19 @@ def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): self._stub = self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - async def fetch_oracle_list(self) -> Dict[str, Any]: - request = exchange_oracle_pb.OracleListRequest() + async def fetch_oracle_list( + self, + symbol: Optional[str] = None, + oracle_type: Optional[str] = None, + per_page: Optional[int] = None, + token: Optional[str] = None, + ) -> Dict[str, Any]: + request = exchange_oracle_pb.OracleListRequest( + symbol=symbol, + oracle_type=oracle_type, + per_page=per_page, + token=token, + ) response = await self._execute_call(call=self._stub.OracleList, request=request) return response @@ -38,5 +49,11 @@ async def fetch_oracle_price( return response + async def fetch_oracle_price_v2(self, filters: List[exchange_oracle_pb.PricePayloadV2]) -> Dict[str, Any]: + request = exchange_oracle_pb.PriceV2Request(filters=filters) + response = await self._execute_call(call=self._stub.PriceV2, request=request) + + return response + async def _execute_call(self, call: Callable, request) -> Dict[str, Any]: return await self._assistant.execute_call(call=call, request=request) diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_portfolio_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_portfolio_api.py index d9d7460c..4a5cab86 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_portfolio_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_portfolio_api.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Dict +from typing import Any, Callable, Dict, Optional from grpc.aio import Channel @@ -21,8 +21,10 @@ async def fetch_account_portfolio(self, account_address: str) -> Dict[str, Any]: return response - async def fetch_account_portfolio_balances(self, account_address: str) -> Dict[str, Any]: - request = exchange_portfolio_pb.AccountPortfolioBalancesRequest(account_address=account_address) + async def fetch_account_portfolio_balances( + self, account_address: str, usd: Optional[bool] = None + ) -> Dict[str, Any]: + request = exchange_portfolio_pb.AccountPortfolioBalancesRequest(account_address=account_address, usd=usd) response = await self._execute_call(call=self._stub.AccountPortfolioBalances, request=request) return response diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py index f91ecaf8..dd0a0320 100644 --- a/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py +++ b/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py @@ -37,14 +37,14 @@ async def fetch_market(self, market_id: str) -> Dict[str, Any]: return response - async def fetch_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - request = exchange_spot_pb.OrderbookV2Request(market_id=market_id) + async def fetch_orderbook_v2(self, market_id: str, depth: int) -> Dict[str, Any]: + request = exchange_spot_pb.OrderbookV2Request(market_id=market_id, depth=depth) response = await self._execute_call(call=self._stub.OrderbookV2, request=request) return response - async def fetch_orderbooks_v2(self, market_ids: List[str]) -> Dict[str, Any]: - request = exchange_spot_pb.OrderbooksV2Request(market_ids=market_ids) + async def fetch_orderbooks_v2(self, market_ids: List[str], depth: int) -> Dict[str, Any]: + request = exchange_spot_pb.OrderbooksV2Request(market_ids=market_ids, depth=depth) response = await self._execute_call(call=self._stub.OrderbooksV2, request=request) return response @@ -89,6 +89,7 @@ async def fetch_trades( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() @@ -105,6 +106,7 @@ async def fetch_trades( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) response = await self._execute_call(call=self._stub.Trades, request=request) @@ -215,6 +217,7 @@ async def fetch_trades_v2( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ) -> Dict[str, Any]: pagination = pagination or PaginationOption() @@ -231,6 +234,7 @@ async def fetch_trades_v2( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) response = await self._execute_call(call=self._stub.TradesV2, request=request) diff --git a/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py index 2759e6a5..cecf05fa 100644 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py +++ b/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py @@ -141,6 +141,7 @@ async def stream_trades( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ): pagination = pagination or PaginationOption() @@ -156,6 +157,7 @@ async def stream_trades( execution_types=execution_types, trade_id=trade_id, account_address=account_address, + fee_recipient=fee_recipient, cid=cid, ) @@ -209,6 +211,7 @@ async def stream_trades_v2( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ): pagination = pagination or PaginationOption() @@ -225,6 +228,7 @@ async def stream_trades_v2( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) await self._assistant.listen_stream( @@ -234,3 +238,30 @@ async def stream_trades_v2( on_end_callback=on_end_callback, on_status_callback=on_status_callback, ) + + async def stream_positions_v2( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + subaccount_id: Optional[str] = None, + market_id: Optional[str] = None, + market_ids: Optional[List[str]] = None, + subaccount_ids: Optional[List[str]] = None, + account_address: Optional[str] = None, + ): + request = exchange_derivative_pb.StreamPositionsV2Request( + subaccount_id=subaccount_id, + market_id=market_id, + market_ids=market_ids, + subaccount_ids=subaccount_ids, + account_address=account_address, + ) + + await self._assistant.listen_stream( + call=self._stub.StreamPositionsV2, + request=request, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) diff --git a/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py index 5ff2e4d5..c6b5bdb9 100644 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py +++ b/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py @@ -12,7 +12,7 @@ class IndexerGrpcOracleStream: def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) + self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) async def stream_oracle_prices( @@ -38,6 +38,27 @@ async def stream_oracle_prices( on_status_callback=on_status_callback, ) + async def stream_oracle_list( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + oracle_type: Optional[str] = None, + symbols: Optional[List[str]] = None, + ): + request = exchange_oracle_pb.StreamOracleListRequest( + oracle_type=oracle_type, + symbols=symbols or [], + ) + + await self._assistant.listen_stream( + call=self._stub.StreamOracleList, + request=request, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + async def stream_oracle_prices_by_markets( self, market_ids: List[str], diff --git a/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py index 0d7f32c9..6bfdc89c 100644 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py +++ b/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py @@ -119,6 +119,7 @@ async def stream_trades( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ): pagination = pagination or PaginationOption() @@ -135,6 +136,7 @@ async def stream_trades( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) await self._assistant.listen_stream( @@ -187,6 +189,7 @@ async def stream_trades_v2( trade_id: Optional[str] = None, account_address: Optional[str] = None, cid: Optional[str] = None, + fee_recipient: Optional[str] = None, pagination: Optional[PaginationOption] = None, ): pagination = pagination or PaginationOption() @@ -203,6 +206,7 @@ async def stream_trades_v2( trade_id=trade_id, account_address=account_address, cid=cid, + fee_recipient=fee_recipient, ) await self._assistant.listen_stream( diff --git a/pyinjective/composer.py b/pyinjective/composer.py deleted file mode 100644 index 08e17021..00000000 --- a/pyinjective/composer.py +++ /dev/null @@ -1,2607 +0,0 @@ -import json -from decimal import Decimal -from time import time -from typing import Any, Dict, List, Optional -from warnings import warn - -from google.protobuf import any_pb2, json_format, timestamp_pb2 - -from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS, INJ_DECIMALS, INJ_DENOM -from pyinjective.core.market import BinaryOptionMarket, DerivativeMarket, SpotMarket -from pyinjective.core.token import Token -from pyinjective.ofac import OfacChecker -from pyinjective.proto.cosmos.authz.v1beta1 import authz_pb2 as cosmos_authz_pb, tx_pb2 as cosmos_authz_tx_pb -from pyinjective.proto.cosmos.bank.v1beta1 import bank_pb2 as bank_pb, tx_pb2 as cosmos_bank_tx_pb -from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as base_coin_pb -from pyinjective.proto.cosmos.distribution.v1beta1 import ( - distribution_pb2 as cosmos_distribution_pb2, - tx_pb2 as cosmos_distribution_tx_pb, -) -from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as cosmos_gov_tx_pb -from pyinjective.proto.cosmos.staking.v1beta1 import tx_pb2 as cosmos_staking_tx_pb -from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb -from pyinjective.proto.exchange import injective_explorer_rpc_pb2 as explorer_pb2 -from pyinjective.proto.ibc.applications.transfer.v1 import tx_pb2 as ibc_transfer_tx_pb -from pyinjective.proto.ibc.core.client.v1 import client_pb2 as ibc_core_client_pb -from pyinjective.proto.injective.auction.v1beta1 import tx_pb2 as injective_auction_tx_pb -from pyinjective.proto.injective.exchange.v1beta1 import ( - authz_pb2 as injective_authz_pb, - exchange_pb2 as injective_exchange_pb, - tx_pb2 as injective_exchange_tx_pb, -) -from pyinjective.proto.injective.insurance.v1beta1 import tx_pb2 as injective_insurance_tx_pb -from pyinjective.proto.injective.oracle.v1beta1 import ( - oracle_pb2 as injective_oracle_pb, - tx_pb2 as injective_oracle_tx_pb, -) -from pyinjective.proto.injective.peggy.v1 import msgs_pb2 as injective_peggy_tx_pb -from pyinjective.proto.injective.permissions.v1beta1 import ( - permissions_pb2 as injective_permissions_pb, - tx_pb2 as injective_permissions_tx_pb, -) -from pyinjective.proto.injective.stream.v1beta1 import query_pb2 as chain_stream_query -from pyinjective.proto.injective.tokenfactory.v1beta1 import tx_pb2 as token_factory_tx_pb -from pyinjective.proto.injective.wasmx.v1 import tx_pb2 as wasmx_tx_pb -from pyinjective.utils.denom import Denom - -REQUEST_TO_RESPONSE_TYPE_MAP = { - "MsgCreateSpotLimitOrder": injective_exchange_tx_pb.MsgCreateSpotLimitOrderResponse, - "MsgCreateSpotMarketOrder": injective_exchange_tx_pb.MsgCreateSpotMarketOrderResponse, - "MsgCreateDerivativeLimitOrder": injective_exchange_tx_pb.MsgCreateDerivativeLimitOrderResponse, - "MsgCreateDerivativeMarketOrder": injective_exchange_tx_pb.MsgCreateDerivativeMarketOrderResponse, - "MsgCancelSpotOrder": injective_exchange_tx_pb.MsgCancelSpotOrderResponse, - "MsgCancelDerivativeOrder": injective_exchange_tx_pb.MsgCancelDerivativeOrderResponse, - "MsgBatchCancelSpotOrders": injective_exchange_tx_pb.MsgBatchCancelSpotOrdersResponse, - "MsgBatchCancelDerivativeOrders": injective_exchange_tx_pb.MsgBatchCancelDerivativeOrdersResponse, - "MsgBatchCreateSpotLimitOrders": injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrdersResponse, - "MsgBatchCreateDerivativeLimitOrders": injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrdersResponse, - "MsgBatchUpdateOrders": injective_exchange_tx_pb.MsgBatchUpdateOrdersResponse, - "MsgDeposit": injective_exchange_tx_pb.MsgDepositResponse, - "MsgWithdraw": injective_exchange_tx_pb.MsgWithdrawResponse, - "MsgSubaccountTransfer": injective_exchange_tx_pb.MsgSubaccountTransferResponse, - "MsgLiquidatePosition": injective_exchange_tx_pb.MsgLiquidatePositionResponse, - "MsgIncreasePositionMargin": injective_exchange_tx_pb.MsgIncreasePositionMarginResponse, - "MsgCreateBinaryOptionsLimitOrder": injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrderResponse, - "MsgCreateBinaryOptionsMarketOrder": injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrderResponse, - "MsgCancelBinaryOptionsOrder": injective_exchange_tx_pb.MsgCancelBinaryOptionsOrderResponse, - "MsgAdminUpdateBinaryOptionsMarket": injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarketResponse, - "MsgInstantBinaryOptionsMarketLaunch": injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunchResponse, -} - -GRPC_MESSAGE_TYPE_TO_CLASS_MAP = { - "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder": injective_exchange_tx_pb.MsgCreateSpotLimitOrder, - "/injective.exchange.v1beta1.MsgCreateSpotMarketOrder": injective_exchange_tx_pb.MsgCreateSpotMarketOrder, - "/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder": injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder, - "/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder": injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder, # noqa: 121 - "/injective.exchange.v1beta1.MsgCancelSpotOrder": injective_exchange_tx_pb.MsgCancelSpotOrder, - "/injective.exchange.v1beta1.MsgCancelDerivativeOrder": injective_exchange_tx_pb.MsgCancelDerivativeOrder, - "/injective.exchange.v1beta1.MsgBatchCancelSpotOrders": injective_exchange_tx_pb.MsgBatchCancelSpotOrders, - "/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders": injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders, # noqa: 121 - "/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders": injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders, - "/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders": injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders, # noqa: 121 - "/injective.exchange.v1beta1.MsgBatchUpdateOrders": injective_exchange_tx_pb.MsgBatchUpdateOrders, - "/injective.exchange.v1beta1.MsgDeposit": injective_exchange_tx_pb.MsgDeposit, - "/injective.exchange.v1beta1.MsgWithdraw": injective_exchange_tx_pb.MsgWithdraw, - "/injective.exchange.v1beta1.MsgSubaccountTransfer": injective_exchange_tx_pb.MsgSubaccountTransfer, - "/injective.exchange.v1beta1.MsgLiquidatePosition": injective_exchange_tx_pb.MsgLiquidatePosition, - "/injective.exchange.v1beta1.MsgIncreasePositionMargin": injective_exchange_tx_pb.MsgIncreasePositionMargin, - "/injective.auction.v1beta1.MsgBid": injective_auction_tx_pb.MsgBid, - "/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder": injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrder, # noqa: 121 - "/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder": injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrder, # noqa: 121 - "/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder": injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder, - "/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket": injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarket, # noqa: 121 - "/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch": injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunch, # noqa: 121 - "/cosmos.bank.v1beta1.MsgSend": cosmos_bank_tx_pb.MsgSend, - "/cosmos.authz.v1beta1.MsgGrant": cosmos_authz_tx_pb.MsgGrant, - "/cosmos.authz.v1beta1.MsgExec": cosmos_authz_tx_pb.MsgExec, - "/cosmos.authz.v1beta1.MsgRevoke": cosmos_authz_tx_pb.MsgRevoke, - "/injective.oracle.v1beta1.MsgRelayPriceFeedPrice": injective_oracle_tx_pb.MsgRelayPriceFeedPrice, - "/injective.oracle.v1beta1.MsgRelayProviderPrices": injective_oracle_tx_pb.MsgRelayProviderPrices, -} - - -class Composer: - DEFAULT_PERMISSIONS_EVERYONE_ROLE = "EVERYONE" - UNDEFINED_ACTION_PERMISSION = 0 - MINT_ACTION_PERMISSION = 1 - RECEIVE_ACTION_PERMISSION = 2 - BURN_ACTION_PERMISSION = 4 - - def __init__( - self, - network: str, - spot_markets: Optional[Dict[str, SpotMarket]] = None, - derivative_markets: Optional[Dict[str, DerivativeMarket]] = None, - binary_option_markets: Optional[Dict[str, BinaryOptionMarket]] = None, - tokens: Optional[Dict[str, Token]] = None, - ): - """Composer is used to create the requests to send to the nodes using the Client - - :param network: the name of the network to use (mainnet, testnet, devnet) - :type network: str - - :param spot_markets: a dictionary containing all spot markets - :type spot_markets: Dictionary - - :param derivative_markets: a dictionary containing all derivative markets - :type derivative_markets: Dictionary - - :param binary_option_markets: a dictionary containing all derivative markets - :type binary_option_markets: Dictionary - - :param tokens: a dictionary with all the possible tokens - :type tokens: Dictionary - - - """ - self.network = network - self.spot_markets = spot_markets or dict() - self.derivative_markets = derivative_markets or dict() - self.binary_option_markets = binary_option_markets or dict() - self.tokens = tokens or dict() - - self._ofac_checker = OfacChecker() - - def Coin(self, amount: int, denom: str): - """ - This method is deprecated and will be removed soon. Please use `coin` instead - """ - warn("This method is deprecated. Use coin instead", DeprecationWarning, stacklevel=2) - return base_coin_pb.Coin(amount=str(amount), denom=denom) - - def coin(self, amount: int, denom: str) -> base_coin_pb.Coin: - """ - This method create an instance of Coin gRPC type, considering the amount is already expressed in chain format - """ - formatted_amount_string = str(int(amount)) - return base_coin_pb.Coin(amount=formatted_amount_string, denom=denom) - - def create_coin_amount(self, amount: Decimal, token_name: str) -> base_coin_pb.Coin: - """ - This method create an instance of Coin gRPC type, considering the amount is already expressed in chain format - """ - token = self.tokens[token_name] - chain_amount = token.chain_formatted_value(human_readable_value=amount) - return self.coin(amount=int(chain_amount), denom=token.denom) - - def OrderData( - self, market_id: str, subaccount_id: str, order_hash: Optional[str] = None, cid: Optional[str] = None, **kwargs - ): - """ - This method is deprecated and will be removed soon. Please use `order_data` instead - """ - warn("This method is deprecated. Use order_data instead", DeprecationWarning, stacklevel=2) - - is_conditional = kwargs.get("is_conditional", False) - is_buy = kwargs.get("order_direction", "buy") == "buy" - is_market_order = kwargs.get("order_type", "limit") == "market" - order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) - - return injective_exchange_tx_pb.OrderData( - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=order_mask, - cid=cid, - ) - - def order_data( - self, - market_id: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - is_conditional: Optional[bool] = False, - is_buy: Optional[bool] = False, - is_market_order: Optional[bool] = False, - ) -> injective_exchange_tx_pb.OrderData: - order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) - - return injective_exchange_tx_pb.OrderData( - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=order_mask, - cid=cid, - ) - - def order_data_without_mask( - self, - market_id: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - ) -> injective_exchange_tx_pb.OrderData: - return injective_exchange_tx_pb.OrderData( - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=1, - cid=cid, - ) - - def SpotOrder( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `spot_order` instead - """ - warn("This method is deprecated. Use spot_order instead", DeprecationWarning, stacklevel=2) - - market = self.spot_markets[market_id] - - # prepare values - quantity = market.quantity_to_chain_format(human_readable_value=Decimal(str(quantity))) - price = market.price_to_chain_format(human_readable_value=Decimal(str(price))) - trigger_price = market.price_to_chain_format(human_readable_value=Decimal(0)) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.BUY - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.SELL - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.BUY_PO - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.SELL_PO - - return injective_exchange_pb.SpotOrder( - market_id=market_id, - order_info=injective_exchange_pb.OrderInfo( - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=str(int(price)), - quantity=str(int(quantity)), - cid=cid, - ), - order_type=order_type, - trigger_price=str(int(trigger_price)), - ) - - def spot_order( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_pb.SpotOrder: - market = self.spot_markets[market_id] - - chain_quantity = f"{market.quantity_to_chain_format(human_readable_value=quantity).normalize():f}" - chain_price = f"{market.price_to_chain_format(human_readable_value=price).normalize():f}" - - trigger_price = trigger_price or Decimal(0) - chain_trigger_price = f"{market.price_to_chain_format(human_readable_value=trigger_price).normalize():f}" - - chain_order_type = injective_exchange_pb.OrderType.Value(order_type) - - return injective_exchange_pb.SpotOrder( - market_id=market_id, - order_info=injective_exchange_pb.OrderInfo( - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=chain_price, - quantity=chain_quantity, - cid=cid, - ), - order_type=chain_order_type, - trigger_price=chain_trigger_price, - ) - - def calculate_margin( - self, quantity: Decimal, price: Decimal, leverage: Decimal, is_reduce_only: bool = False - ) -> Decimal: - if is_reduce_only: - margin = Decimal(0) - else: - margin = quantity * price / leverage - - return margin - - def DerivativeOrder( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - trigger_price: float = 0, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `derivative_order` instead - """ - warn("This method is deprecated. Use derivative_order instead", DeprecationWarning, stacklevel=2) - market = self.derivative_markets[market_id] - - if kwargs.get("is_reduce_only", False): - margin = 0 - else: - margin = market.calculate_margin_in_chain_format( - human_readable_quantity=Decimal(str(quantity)), - human_readable_price=Decimal(str(price)), - leverage=Decimal(str(kwargs["leverage"])), - ) - - # prepare values - quantity = market.quantity_to_chain_format(human_readable_value=Decimal(str(quantity))) - price = market.price_to_chain_format(human_readable_value=Decimal(str(price))) - trigger_price = market.price_to_chain_format(human_readable_value=Decimal(str(trigger_price))) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.BUY - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.SELL - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.BUY_PO - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.SELL_PO - - elif kwargs.get("stop_buy"): - order_type = injective_exchange_pb.OrderType.STOP_BUY - - elif kwargs.get("stop_sell"): - order_type = injective_exchange_pb.OrderType.STOP_SEll - - elif kwargs.get("take_buy"): - order_type = injective_exchange_pb.OrderType.TAKE_BUY - - elif kwargs.get("take_sell"): - order_type = injective_exchange_pb.OrderType.TAKE_SELL - - return injective_exchange_pb.DerivativeOrder( - market_id=market_id, - order_info=injective_exchange_pb.OrderInfo( - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=str(int(price)), - quantity=str(int(quantity)), - cid=cid, - ), - margin=str(int(margin)), - order_type=order_type, - trigger_price=str(int(trigger_price)), - ) - - def derivative_order( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_pb.DerivativeOrder: - market = self.derivative_markets[market_id] - - chain_quantity = market.quantity_to_chain_format(human_readable_value=quantity) - chain_price = market.price_to_chain_format(human_readable_value=price) - chain_margin = market.margin_to_chain_format(human_readable_value=margin) - - trigger_price = trigger_price or Decimal(0) - chain_trigger_price = market.price_to_chain_format(human_readable_value=trigger_price) - - return self._basic_derivative_order( - market_id=market.id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - chain_price=chain_price, - chain_quantity=chain_quantity, - chain_margin=chain_margin, - order_type=order_type, - cid=cid, - chain_trigger_price=chain_trigger_price, - ) - - def binary_options_order( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - denom: Optional[Denom] = None, - ) -> injective_exchange_pb.DerivativeOrder: - market = self.binary_option_markets[market_id] - - chain_quantity = market.quantity_to_chain_format(human_readable_value=quantity, special_denom=denom) - chain_price = market.price_to_chain_format(human_readable_value=price, special_denom=denom) - chain_margin = market.margin_to_chain_format(human_readable_value=margin, special_denom=denom) - - trigger_price = trigger_price or Decimal(0) - chain_trigger_price = market.price_to_chain_format(human_readable_value=trigger_price, special_denom=denom) - - return self._basic_derivative_order( - market_id=market.id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - chain_price=chain_price, - chain_quantity=chain_quantity, - chain_margin=chain_margin, - order_type=order_type, - cid=cid, - chain_trigger_price=chain_trigger_price, - ) - - def create_grant_authorization(self, grantee: str, amount: Decimal) -> injective_exchange_pb.GrantAuthorization: - chain_formatted_amount = int(amount * Decimal(f"1e{INJ_DECIMALS}")) - return injective_exchange_pb.GrantAuthorization(grantee=grantee, amount=str(chain_formatted_amount)) - - # region Auction module - def MsgBid(self, sender: str, bid_amount: float, round: float): - be_amount = Decimal(str(bid_amount)) * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - - return injective_auction_tx_pb.MsgBid( - sender=sender, - round=round, - bid_amount=self.coin(amount=int(be_amount), denom=INJ_DENOM), - ) - - # endregion - - # region Authz module - def MsgGrantGeneric(self, granter: str, grantee: str, msg_type: str, expire_in: int): - if self._ofac_checker.is_blacklisted(granter): - raise Exception(f"Address {granter} is in the OFAC list") - auth = cosmos_authz_pb.GenericAuthorization(msg=msg_type) - any_auth = any_pb2.Any() - any_auth.Pack(auth, type_url_prefix="") - - grant = cosmos_authz_pb.Grant( - authorization=any_auth, - expiration=timestamp_pb2.Timestamp(seconds=(int(time()) + expire_in)), - ) - - return cosmos_authz_tx_pb.MsgGrant(granter=granter, grantee=grantee, grant=grant) - - def MsgExec(self, grantee: str, msgs: List): - any_msgs: List[any_pb2.Any] = [] - for msg in msgs: - any_msg = any_pb2.Any() - any_msg.Pack(msg, type_url_prefix="") - any_msgs.append(any_msg) - - return cosmos_authz_tx_pb.MsgExec(grantee=grantee, msgs=any_msgs) - - def MsgRevoke(self, granter: str, grantee: str, msg_type: str): - return cosmos_authz_tx_pb.MsgRevoke(granter=granter, grantee=grantee, msg_type_url=msg_type) - - def msg_execute_contract_compat(self, sender: str, contract: str, msg: str, funds: str): - return wasmx_tx_pb.MsgExecuteContractCompat( - sender=sender, - contract=contract, - msg=msg, - funds=funds, - ) - - # endregion - - # region Bank module - def MsgSend(self, from_address: str, to_address: str, amount: float, denom: str): - coin = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - - return cosmos_bank_tx_pb.MsgSend( - from_address=from_address, - to_address=to_address, - amount=[coin], - ) - - # endregion - - # region Chain Exchange module - def MsgDeposit(self, sender: str, subaccount_id: str, amount: float, denom: str): - """ - This method is deprecated and will be removed soon. Please use `msg_deposit` instead - """ - warn("This method is deprecated. Use msg_deposit instead", DeprecationWarning, stacklevel=2) - coin = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - - return injective_exchange_tx_pb.MsgDeposit( - sender=sender, - subaccount_id=subaccount_id, - amount=coin, - ) - - def msg_deposit(self, sender: str, subaccount_id: str, amount: Decimal, denom: str): - coin = self.create_coin_amount(amount=amount, token_name=denom) - - return injective_exchange_tx_pb.MsgDeposit( - sender=sender, - subaccount_id=subaccount_id, - amount=coin, - ) - - def MsgWithdraw(self, sender: str, subaccount_id: str, amount: float, denom: str): - """ - This method is deprecated and will be removed soon. Please use `msg_withdraw` instead - """ - warn("This method is deprecated. Use msg_withdraw instead", DeprecationWarning, stacklevel=2) - be_amount = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - - return injective_exchange_tx_pb.MsgWithdraw( - sender=sender, - subaccount_id=subaccount_id, - amount=be_amount, - ) - - def msg_withdraw(self, sender: str, subaccount_id: str, amount: Decimal, denom: str): - be_amount = self.create_coin_amount(amount=amount, token_name=denom) - - return injective_exchange_tx_pb.MsgWithdraw( - sender=sender, - subaccount_id=subaccount_id, - amount=be_amount, - ) - - def msg_instant_spot_market_launch( - self, - sender: str, - ticker: str, - base_denom: str, - quote_denom: str, - min_price_tick_size: Decimal, - min_quantity_tick_size: Decimal, - min_notional: Decimal, - ) -> injective_exchange_tx_pb.MsgInstantSpotMarketLaunch: - base_token = self.tokens[base_denom] - quote_token = self.tokens[quote_denom] - - chain_min_price_tick_size = ( - quote_token.chain_formatted_value(min_price_tick_size) / base_token.chain_formatted_value(Decimal("1")) - ) * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_min_quantity_tick_size = base_token.chain_formatted_value(min_quantity_tick_size) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_notional = quote_token.chain_formatted_value(min_notional) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - - return injective_exchange_tx_pb.MsgInstantSpotMarketLaunch( - sender=sender, - ticker=ticker, - base_denom=base_token.denom, - quote_denom=quote_token.denom, - min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - min_notional=f"{chain_min_notional.normalize():f}", - ) - - def msg_instant_perpetual_market_launch( - self, - sender: str, - ticker: str, - quote_denom: str, - oracle_base: str, - oracle_quote: str, - oracle_scale_factor: int, - oracle_type: str, - maker_fee_rate: Decimal, - taker_fee_rate: Decimal, - initial_margin_ratio: Decimal, - maintenance_margin_ratio: Decimal, - min_price_tick_size: Decimal, - min_quantity_tick_size: Decimal, - min_notional: Decimal, - ) -> injective_exchange_tx_pb.MsgInstantPerpetualMarketLaunch: - quote_token = self.tokens[quote_denom] - - chain_min_price_tick_size = quote_token.chain_formatted_value(min_price_tick_size) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_initial_margin_ratio = initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maintenance_margin_ratio = maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_min_notional = quote_token.chain_formatted_value(min_notional) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - - return injective_exchange_tx_pb.MsgInstantPerpetualMarketLaunch( - sender=sender, - ticker=ticker, - quote_denom=quote_token.denom, - oracle_base=oracle_base, - oracle_quote=oracle_quote, - oracle_scale_factor=oracle_scale_factor, - oracle_type=injective_oracle_pb.OracleType.Value(oracle_type), - maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", - taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", - initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", - maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", - min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - min_notional=f"{chain_min_notional.normalize():f}", - ) - - def msg_instant_expiry_futures_market_launch( - self, - sender: str, - ticker: str, - quote_denom: str, - oracle_base: str, - oracle_quote: str, - oracle_scale_factor: int, - oracle_type: str, - expiry: int, - maker_fee_rate: Decimal, - taker_fee_rate: Decimal, - initial_margin_ratio: Decimal, - maintenance_margin_ratio: Decimal, - min_price_tick_size: Decimal, - min_quantity_tick_size: Decimal, - min_notional: Decimal, - ) -> injective_exchange_tx_pb.MsgInstantPerpetualMarketLaunch: - quote_token = self.tokens[quote_denom] - - chain_min_price_tick_size = quote_token.chain_formatted_value(min_price_tick_size) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_initial_margin_ratio = initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maintenance_margin_ratio = maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_min_notional = quote_token.chain_formatted_value(min_notional) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - - return injective_exchange_tx_pb.MsgInstantExpiryFuturesMarketLaunch( - sender=sender, - ticker=ticker, - quote_denom=quote_token.denom, - oracle_base=oracle_base, - oracle_quote=oracle_quote, - oracle_scale_factor=oracle_scale_factor, - oracle_type=injective_oracle_pb.OracleType.Value(oracle_type), - expiry=expiry, - maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", - taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", - initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", - maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", - min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - min_notional=f"{chain_min_notional.normalize():f}", - ) - - def MsgCreateSpotLimitOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_spot_limit_order` instead - """ - warn("This method is deprecated. Use msg_create_spot_limit_order instead", DeprecationWarning, stacklevel=2) - - order_type_name = "BUY" - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type_name = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY) - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type_name = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type_name = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY_PO) - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type_name = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL_PO) - - return injective_exchange_tx_pb.MsgCreateSpotLimitOrder( - sender=sender, - order=self.spot_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - order_type=order_type_name, - cid=cid, - ), - ) - - def msg_create_spot_limit_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_tx_pb.MsgCreateSpotLimitOrder: - return injective_exchange_tx_pb.MsgCreateSpotLimitOrder( - sender=sender, - order=self.spot_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - ), - ) - - def MsgBatchCreateSpotLimitOrders(self, sender: str, orders: List): - """ - This method is deprecated and will be removed soon. Please use `msg_batch_create_spot_limit_orders` instead - """ - warn( - "This method is deprecated. Use msg_batch_create_spot_limit_orders instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders(sender=sender, orders=orders) - - def msg_batch_create_spot_limit_orders( - self, sender: str, orders: List[injective_exchange_pb.SpotOrder] - ) -> injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders: - return injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders(sender=sender, orders=orders) - - def MsgCreateSpotMarketOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - is_buy: bool, - cid: Optional[str] = None, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_spot_market_order` instead - """ - warn("This method is deprecated. Use msg_create_spot_market_order instead", DeprecationWarning, stacklevel=2) - - order_type_name = "BUY" - if not is_buy: - order_type_name = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - return injective_exchange_tx_pb.MsgCreateSpotMarketOrder( - sender=sender, - order=self.spot_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - order_type=order_type_name, - cid=cid, - ), - ) - - def msg_create_spot_market_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_tx_pb.MsgCreateSpotMarketOrder: - return injective_exchange_tx_pb.MsgCreateSpotMarketOrder( - sender=sender, - order=self.spot_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - ), - ) - - def MsgCancelSpotOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_cancel_spot_order` instead - """ - warn("This method is deprecated. Use msg_cancel_spot_order instead", DeprecationWarning, stacklevel=2) - return injective_exchange_tx_pb.MsgCancelSpotOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - cid=cid, - ) - - def msg_cancel_spot_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - ) -> injective_exchange_tx_pb.MsgCancelSpotOrder: - return injective_exchange_tx_pb.MsgCancelSpotOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - cid=cid, - ) - - def MsgBatchCancelSpotOrders(self, sender: str, data: List): - """ - This method is deprecated and will be removed soon. Please use `msg_batch_cancel_spot_orders` instead - """ - warn("This method is deprecated. Use msg_batch_cancel_spot_orders instead", DeprecationWarning, stacklevel=2) - return injective_exchange_tx_pb.MsgBatchCancelSpotOrders(sender=sender, data=data) - - def msg_batch_cancel_spot_orders( - self, sender: str, orders_data: List[injective_exchange_tx_pb.OrderData] - ) -> injective_exchange_tx_pb.MsgBatchCancelSpotOrders: - return injective_exchange_tx_pb.MsgBatchCancelSpotOrders(sender=sender, data=orders_data) - - def MsgBatchUpdateOrders(self, sender: str, **kwargs): - """ - This method is deprecated and will be removed soon. Please use `msg_batch_update_orders` instead - """ - warn("This method is deprecated. Use msg_batch_update_orders instead", DeprecationWarning, stacklevel=2) - return injective_exchange_tx_pb.MsgBatchUpdateOrders( - sender=sender, - subaccount_id=kwargs.get("subaccount_id"), - spot_market_ids_to_cancel_all=kwargs.get("spot_market_ids_to_cancel_all"), - derivative_market_ids_to_cancel_all=kwargs.get("derivative_market_ids_to_cancel_all"), - spot_orders_to_cancel=kwargs.get("spot_orders_to_cancel"), - derivative_orders_to_cancel=kwargs.get("derivative_orders_to_cancel"), - spot_orders_to_create=kwargs.get("spot_orders_to_create"), - derivative_orders_to_create=kwargs.get("derivative_orders_to_create"), - binary_options_orders_to_cancel=kwargs.get("binary_options_orders_to_cancel"), - binary_options_market_ids_to_cancel_all=kwargs.get("binary_options_market_ids_to_cancel_all"), - binary_options_orders_to_create=kwargs.get("binary_options_orders_to_create"), - ) - - def msg_batch_update_orders( - self, - sender: str, - subaccount_id: Optional[str] = None, - spot_market_ids_to_cancel_all: Optional[List[str]] = None, - derivative_market_ids_to_cancel_all: Optional[List[str]] = None, - spot_orders_to_cancel: Optional[List[injective_exchange_tx_pb.OrderData]] = None, - derivative_orders_to_cancel: Optional[List[injective_exchange_tx_pb.OrderData]] = None, - spot_orders_to_create: Optional[List[injective_exchange_pb.SpotOrder]] = None, - derivative_orders_to_create: Optional[List[injective_exchange_pb.DerivativeOrder]] = None, - binary_options_orders_to_cancel: Optional[List[injective_exchange_tx_pb.OrderData]] = None, - binary_options_market_ids_to_cancel_all: Optional[List[str]] = None, - binary_options_orders_to_create: Optional[List[injective_exchange_pb.DerivativeOrder]] = None, - ) -> injective_exchange_tx_pb.MsgBatchUpdateOrders: - return injective_exchange_tx_pb.MsgBatchUpdateOrders( - sender=sender, - subaccount_id=subaccount_id, - spot_market_ids_to_cancel_all=spot_market_ids_to_cancel_all, - derivative_market_ids_to_cancel_all=derivative_market_ids_to_cancel_all, - spot_orders_to_cancel=spot_orders_to_cancel, - derivative_orders_to_cancel=derivative_orders_to_cancel, - spot_orders_to_create=spot_orders_to_create, - derivative_orders_to_create=derivative_orders_to_create, - binary_options_orders_to_cancel=binary_options_orders_to_cancel, - binary_options_market_ids_to_cancel_all=binary_options_market_ids_to_cancel_all, - binary_options_orders_to_create=binary_options_orders_to_create, - ) - - def MsgPrivilegedExecuteContract( - self, sender: str, contract: str, msg: str, **kwargs - ) -> injective_exchange_tx_pb.MsgPrivilegedExecuteContract: - """ - This method is deprecated and will be removed soon. Please use `msg_privileged_execute_contract` instead - """ - warn("This method is deprecated. Use msg_privileged_execute_contract instead", DeprecationWarning, stacklevel=2) - - return injective_exchange_tx_pb.MsgPrivilegedExecuteContract( - sender=sender, - contract_address=contract, - data=msg, - funds=kwargs.get("funds") # funds is a string of Coin strings, comma separated, - # e.g. 100000inj,20000000000usdt - ) - - def msg_privileged_execute_contract( - self, - sender: str, - contract_address: str, - data: str, - funds: Optional[str] = None, - ) -> injective_exchange_tx_pb.MsgPrivilegedExecuteContract: - # funds is a string of Coin strings, comma separated, e.g. 100000inj,20000000000usdt - return injective_exchange_tx_pb.MsgPrivilegedExecuteContract( - sender=sender, - contract_address=contract_address, - data=data, - funds=funds, - ) - - def MsgCreateDerivativeLimitOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_derivative_limit_order` instead - """ - warn( - "This method is deprecated. Use msg_create_derivative_limit_order instead", DeprecationWarning, stacklevel=2 - ) - - if kwargs.get("is_reduce_only", False): - margin = Decimal(0) - else: - margin = Decimal(str(price)) * Decimal(str(quantity)) / Decimal(str(kwargs["leverage"])) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY) - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY_PO) - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL_PO) - - elif kwargs.get("stop_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_BUY) - - elif kwargs.get("stop_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_SEll) - - elif kwargs.get("take_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_BUY) - - elif kwargs.get("take_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_SELL) - - return injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder( - sender=sender, - order=self.derivative_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=Decimal(str(kwargs["trigger_price"])) if "trigger_price" in kwargs else None, - ), - ) - - def msg_create_derivative_limit_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder: - return injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder( - sender=sender, - order=self.derivative_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - ), - ) - - def MsgBatchCreateDerivativeLimitOrders(self, sender: str, orders: List): - """ - This method is deprecated and will be removed soon. - Please use `msg_batch_create_derivative_limit_orders` instead - """ - warn( - "This method is deprecated. Use msg_batch_create_derivative_limit_orders instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders(sender=sender, orders=orders) - - def msg_batch_create_derivative_limit_orders( - self, - sender: str, - orders: List[injective_exchange_pb.DerivativeOrder], - ) -> injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders: - return injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders(sender=sender, orders=orders) - - def MsgCreateDerivativeMarketOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_derivative_market_order` instead - """ - warn( - "This method is deprecated. Use msg_create_derivative_market_order instead", - DeprecationWarning, - stacklevel=2, - ) - - if kwargs.get("is_reduce_only", False): - margin = Decimal(0) - else: - margin = Decimal(str(price)) * Decimal(str(quantity)) / Decimal(str(kwargs["leverage"])) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY) - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY_PO) - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL_PO) - - elif kwargs.get("stop_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_BUY) - - elif kwargs.get("stop_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_SEll) - - elif kwargs.get("take_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_BUY) - - elif kwargs.get("take_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_SELL) - - return injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder( - sender=sender, - order=self.derivative_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=Decimal(str(kwargs["trigger_price"])) if "trigger_price" in kwargs else None, - ), - ) - - def msg_create_derivative_market_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder: - return injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder( - sender=sender, - order=self.derivative_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - ), - ) - - def MsgCancelDerivativeOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_cancel_derivative_order` instead - """ - warn( - "This method is deprecated. Use msg_cancel_derivative_order instead", - DeprecationWarning, - stacklevel=2, - ) - - is_conditional = kwargs.get("is_conditional", False) - is_buy = kwargs.get("order_direction", "buy") == "buy" - is_market_order = kwargs.get("order_type", "limit") == "market" - order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) - - return injective_exchange_tx_pb.MsgCancelDerivativeOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=order_mask, - cid=cid, - ) - - def msg_cancel_derivative_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - is_conditional: Optional[bool] = False, - is_buy: Optional[bool] = False, - is_market_order: Optional[bool] = False, - ) -> injective_exchange_tx_pb.MsgCancelDerivativeOrder: - order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) - - return injective_exchange_tx_pb.MsgCancelDerivativeOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=order_mask, - cid=cid, - ) - - def MsgBatchCancelDerivativeOrders(self, sender: str, data: List): - """ - This method is deprecated and will be removed soon. Please use `msg_batch_cancel_derivative_orders` instead - """ - warn( - "This method is deprecated. Use msg_batch_cancel_derivative_orders instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders(sender=sender, data=data) - - def msg_batch_cancel_derivative_orders( - self, sender: str, orders_data: List[injective_exchange_tx_pb.OrderData] - ) -> injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders: - return injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders(sender=sender, data=orders_data) - - def MsgInstantBinaryOptionsMarketLaunch( - self, - sender: str, - ticker: str, - oracle_symbol: str, - oracle_provider: str, - oracle_type: str, - oracle_scale_factor: int, - maker_fee_rate: float, - taker_fee_rate: float, - expiration_timestamp: int, - settlement_timestamp: int, - quote_denom: str, - quote_decimals: int, - min_price_tick_size: float, - min_quantity_tick_size: float, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. - Please use `msg_instant_binary_options_market_launch` instead - """ - warn( - "This method is deprecated. Use msg_instant_binary_options_market_launch instead", - DeprecationWarning, - stacklevel=2, - ) - scaled_maker_fee_rate = Decimal((maker_fee_rate * pow(10, 18))) - maker_fee_to_bytes = bytes(str(scaled_maker_fee_rate), "utf-8") - - scaled_taker_fee_rate = Decimal((taker_fee_rate * pow(10, 18))) - taker_fee_to_bytes = bytes(str(scaled_taker_fee_rate), "utf-8") - - scaled_min_price_tick_size = Decimal((min_price_tick_size * pow(10, quote_decimals + 18))) - min_price_to_bytes = bytes(str(scaled_min_price_tick_size), "utf-8") - - scaled_min_quantity_tick_size = Decimal((min_quantity_tick_size * pow(10, 18))) - min_quantity_to_bytes = bytes(str(scaled_min_quantity_tick_size), "utf-8") - - return injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunch( - sender=sender, - ticker=ticker, - oracle_symbol=oracle_symbol, - oracle_provider=oracle_provider, - oracle_type=oracle_type, - oracle_scale_factor=oracle_scale_factor, - maker_fee_rate=maker_fee_to_bytes, - taker_fee_rate=taker_fee_to_bytes, - expiration_timestamp=expiration_timestamp, - settlement_timestamp=settlement_timestamp, - quote_denom=quote_denom, - min_price_tick_size=min_price_to_bytes, - min_quantity_tick_size=min_quantity_to_bytes, - admin=kwargs.get("admin"), - ) - - def msg_instant_binary_options_market_launch( - self, - sender: str, - ticker: str, - oracle_symbol: str, - oracle_provider: str, - oracle_type: str, - oracle_scale_factor: int, - maker_fee_rate: Decimal, - taker_fee_rate: Decimal, - expiration_timestamp: int, - settlement_timestamp: int, - admin: str, - quote_denom: str, - min_price_tick_size: Decimal, - min_quantity_tick_size: Decimal, - min_notional: Decimal, - ) -> injective_exchange_tx_pb.MsgInstantPerpetualMarketLaunch: - quote_token = self.tokens[quote_denom] - - chain_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_min_notional = quote_token.chain_formatted_value(min_notional) * Decimal( - f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - - return injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunch( - sender=sender, - ticker=ticker, - oracle_symbol=oracle_symbol, - oracle_provider=oracle_provider, - oracle_type=injective_oracle_pb.OracleType.Value(oracle_type), - oracle_scale_factor=oracle_scale_factor, - maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", - taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", - expiration_timestamp=expiration_timestamp, - settlement_timestamp=settlement_timestamp, - admin=admin, - quote_denom=quote_token.denom, - min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - min_notional=f"{chain_min_notional.normalize():f}", - ) - - def MsgCreateBinaryOptionsLimitOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_binary_options_limit_order` instead - """ - warn( - "This method is deprecated. Use msg_create_binary_options_limit_order instead", - DeprecationWarning, - stacklevel=2, - ) - if kwargs.get("is_reduce_only", False): - margin = Decimal(0) - else: - margin = Decimal(str(price)) * Decimal(str(quantity)) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY) - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY_PO) - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL_PO) - - elif kwargs.get("stop_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_BUY) - - elif kwargs.get("stop_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_SEll) - - elif kwargs.get("take_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_BUY) - - elif kwargs.get("take_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_SELL) - - return injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrder( - sender=sender, - order=self.binary_options_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=Decimal(str(kwargs["trigger_price"])) if "trigger_price" in kwargs else None, - denom=kwargs.get("denom"), - ), - ) - - def msg_create_binary_options_limit_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - denom: Optional[Denom] = None, - ) -> injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder: - return injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder( - sender=sender, - order=self.binary_options_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - denom=denom, - ), - ) - - def MsgCreateBinaryOptionsMarketOrder( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: float, - quantity: float, - cid: Optional[str] = None, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_create_binary_options_market_order` instead - """ - warn( - "This method is deprecated. Use msg_create_binary_options_market_order instead", - DeprecationWarning, - stacklevel=2, - ) - if kwargs.get("is_reduce_only", False): - margin = Decimal(0) - else: - margin = Decimal(str(price)) * Decimal(str(quantity)) - - if kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY) - - elif not kwargs.get("is_buy") and not kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL) - - elif kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.BUY_PO) - - elif not kwargs.get("is_buy") and kwargs.get("is_po"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.SELL_PO) - - elif kwargs.get("stop_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_BUY) - - elif kwargs.get("stop_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.STOP_SEll) - - elif kwargs.get("take_buy"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_BUY) - - elif kwargs.get("take_sell"): - order_type = injective_exchange_pb.OrderType.Name(injective_exchange_pb.OrderType.TAKE_SELL) - - return injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrder( - sender=sender, - order=self.binary_options_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=Decimal(str(price)), - quantity=Decimal(str(quantity)), - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=Decimal(str(kwargs["trigger_price"])) if "trigger_price" in kwargs else None, - denom=kwargs.get("denom"), - ), - ) - - def msg_create_binary_options_market_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - fee_recipient: str, - price: Decimal, - quantity: Decimal, - margin: Decimal, - order_type: str, - cid: Optional[str] = None, - trigger_price: Optional[Decimal] = None, - denom: Optional[Denom] = None, - ): - return injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrder( - sender=sender, - order=self.binary_options_order( - market_id=market_id, - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=price, - quantity=quantity, - margin=margin, - order_type=order_type, - cid=cid, - trigger_price=trigger_price, - denom=denom, - ), - ) - - def MsgCancelBinaryOptionsOrder( - self, - sender: str, - market_id: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_cancel_binary_options_order` instead - """ - warn( - "This method is deprecated. Use msg_cancel_binary_options_order instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - cid=cid, - ) - - def msg_cancel_binary_options_order( - self, - market_id: str, - sender: str, - subaccount_id: str, - order_hash: Optional[str] = None, - cid: Optional[str] = None, - is_conditional: Optional[bool] = False, - is_buy: Optional[bool] = False, - is_market_order: Optional[bool] = False, - ) -> injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder: - order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) - - return injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder( - sender=sender, - market_id=market_id, - subaccount_id=subaccount_id, - order_hash=order_hash, - order_mask=order_mask, - cid=cid, - ) - - def MsgSubaccountTransfer( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - amount: int, - denom: str, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_subaccount_transfer` instead - """ - warn( - "This method is deprecated. Use msg_subaccount_transfer instead", - DeprecationWarning, - stacklevel=2, - ) - be_amount = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - - return injective_exchange_tx_pb.MsgSubaccountTransfer( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - amount=be_amount, - ) - - def msg_subaccount_transfer( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - amount: Decimal, - denom: str, - ) -> injective_exchange_tx_pb.MsgSubaccountTransfer: - be_amount = self.create_coin_amount(amount=amount, token_name=denom) - - return injective_exchange_tx_pb.MsgSubaccountTransfer( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - amount=be_amount, - ) - - def MsgExternalTransfer( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - amount: int, - denom: str, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_external_transfer` instead - """ - warn( - "This method is deprecated. Use msg_external_transfer instead", - DeprecationWarning, - stacklevel=2, - ) - coin = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - - return injective_exchange_tx_pb.MsgExternalTransfer( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - amount=coin, - ) - - def msg_external_transfer( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - amount: Decimal, - denom: str, - ) -> injective_exchange_tx_pb.MsgExternalTransfer: - coin = self.create_coin_amount(amount=amount, token_name=denom) - - return injective_exchange_tx_pb.MsgExternalTransfer( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - amount=coin, - ) - - def MsgLiquidatePosition( - self, - sender: str, - subaccount_id: str, - market_id: str, - order: Optional[injective_exchange_pb.DerivativeOrder] = None, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_liquidate_position` instead - """ - warn( - "This method is deprecated. Use msg_liquidate_position instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgLiquidatePosition( - sender=sender, subaccount_id=subaccount_id, market_id=market_id, order=order - ) - - def msg_liquidate_position( - self, - sender: str, - subaccount_id: str, - market_id: str, - order: Optional[injective_exchange_pb.DerivativeOrder] = None, - ) -> injective_exchange_tx_pb.MsgLiquidatePosition: - return injective_exchange_tx_pb.MsgLiquidatePosition( - sender=sender, subaccount_id=subaccount_id, market_id=market_id, order=order - ) - - def msg_emergency_settle_market( - self, - sender: str, - subaccount_id: str, - market_id: str, - ) -> injective_exchange_tx_pb.MsgEmergencySettleMarket: - return injective_exchange_tx_pb.MsgEmergencySettleMarket( - sender=sender, subaccount_id=subaccount_id, market_id=market_id - ) - - def MsgIncreasePositionMargin( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - market_id: str, - amount: float, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_increase_position_margin` instead - """ - warn( - "This method is deprecated. Use msg_increase_position_margin instead", - DeprecationWarning, - stacklevel=2, - ) - market = self.derivative_markets[market_id] - - additional_margin = market.margin_to_chain_format(human_readable_value=Decimal(str(amount))) - return injective_exchange_tx_pb.MsgIncreasePositionMargin( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - market_id=market_id, - amount=str(int(additional_margin)), - ) - - def msg_increase_position_margin( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - market_id: str, - amount: Decimal, - ): - market = self.derivative_markets[market_id] - - additional_margin = market.margin_to_chain_format(human_readable_value=amount) - return injective_exchange_tx_pb.MsgIncreasePositionMargin( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - market_id=market_id, - amount=str(int(additional_margin)), - ) - - def MsgRewardsOptOut(self, sender: str): - """ - This method is deprecated and will be removed soon. Please use `msg_rewards_opt_out` instead - """ - warn( - "This method is deprecated. Use msg_rewards_opt_out instead", - DeprecationWarning, - stacklevel=2, - ) - return injective_exchange_tx_pb.MsgRewardsOptOut(sender=sender) - - def msg_rewards_opt_out(self, sender: str) -> injective_exchange_tx_pb.MsgRewardsOptOut: - return injective_exchange_tx_pb.MsgRewardsOptOut(sender=sender) - - def MsgAdminUpdateBinaryOptionsMarket( - self, - sender: str, - market_id: str, - status: str, - **kwargs, - ): - """ - This method is deprecated and will be removed soon. Please use `msg_admin_update_binary_options_market` instead - """ - warn( - "This method is deprecated. Use msg_admin_update_binary_options_market instead", - DeprecationWarning, - stacklevel=2, - ) - - if kwargs.get("settlement_price") is not None: - scale_price = Decimal((kwargs.get("settlement_price") * pow(10, 18))) - price_to_bytes = bytes(str(scale_price), "utf-8") - - else: - price_to_bytes = "" - - return injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarket( - sender=sender, - market_id=market_id, - settlement_price=price_to_bytes, - expiration_timestamp=kwargs.get("expiration_timestamp"), - settlement_timestamp=kwargs.get("settlement_timestamp"), - status=status, - ) - - def msg_admin_update_binary_options_market( - self, - sender: str, - market_id: str, - status: str, - settlement_price: Optional[Decimal] = None, - expiration_timestamp: Optional[int] = None, - settlement_timestamp: Optional[int] = None, - ) -> injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarket: - market = self.binary_option_markets[market_id] - - if settlement_price is not None: - chain_settlement_price = market.price_to_chain_format(human_readable_value=settlement_price) - price_parameter = f"{chain_settlement_price.normalize():f}" - else: - price_parameter = None - - return injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarket( - sender=sender, - market_id=market_id, - settlement_price=price_parameter, - expiration_timestamp=expiration_timestamp, - settlement_timestamp=settlement_timestamp, - status=status, - ) - - def msg_decrease_position_margin( - self, - sender: str, - source_subaccount_id: str, - destination_subaccount_id: str, - market_id: str, - amount: Decimal, - ) -> injective_exchange_tx_pb.MsgDecreasePositionMargin: - market = self.derivative_markets[market_id] - - additional_margin = market.margin_to_chain_format(human_readable_value=amount) - return injective_exchange_tx_pb.MsgDecreasePositionMargin( - sender=sender, - source_subaccount_id=source_subaccount_id, - destination_subaccount_id=destination_subaccount_id, - market_id=market_id, - amount=str(int(additional_margin)), - ) - - def msg_update_spot_market( - self, - admin: str, - market_id: str, - new_ticker: str, - new_min_price_tick_size: Decimal, - new_min_quantity_tick_size: Decimal, - new_min_notional: Decimal, - ) -> injective_exchange_tx_pb.MsgUpdateSpotMarket: - market = self.spot_markets[market_id] - - chain_min_price_tick_size = new_min_price_tick_size * Decimal( - f"1e{market.quote_token.decimals - market.base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_quantity_tick_size = new_min_quantity_tick_size * Decimal( - f"1e{market.base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_notional = new_min_notional * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - - return injective_exchange_tx_pb.MsgUpdateSpotMarket( - admin=admin, - market_id=market_id, - new_ticker=new_ticker, - new_min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - new_min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - new_min_notional=f"{chain_min_notional.normalize():f}", - ) - - def msg_update_derivative_market( - self, - admin: str, - market_id: str, - new_ticker: str, - new_min_price_tick_size: Decimal, - new_min_quantity_tick_size: Decimal, - new_min_notional: Decimal, - new_initial_margin_ratio: Decimal, - new_maintenance_margin_ratio: Decimal, - ) -> injective_exchange_tx_pb.MsgUpdateDerivativeMarket: - market = self.derivative_markets[market_id] - - chain_min_price_tick_size = new_min_price_tick_size * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_min_quantity_tick_size = new_min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_min_notional = new_min_notional * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - chain_initial_margin_ratio = new_initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - chain_maintenance_margin_ratio = new_maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - - return injective_exchange_tx_pb.MsgUpdateDerivativeMarket( - admin=admin, - market_id=market_id, - new_ticker=new_ticker, - new_min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", - new_min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", - new_min_notional=f"{chain_min_notional.normalize():f}", - new_initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", - new_maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", - ) - - def msg_authorize_stake_grants( - self, sender: str, grants: List[injective_exchange_pb.GrantAuthorization] - ) -> injective_exchange_tx_pb.MsgAuthorizeStakeGrants: - return injective_exchange_tx_pb.MsgAuthorizeStakeGrants( - sender=sender, - grants=grants, - ) - - def msg_activate_stake_grant(self, sender: str, granter: str) -> injective_exchange_tx_pb.MsgActivateStakeGrant: - return injective_exchange_tx_pb.MsgActivateStakeGrant( - sender=sender, - granter=granter, - ) - - # endregion - - # region Insurance module - def MsgCreateInsuranceFund( - self, - sender: str, - ticker: str, - quote_denom: str, - oracle_base: str, - oracle_quote: str, - oracle_type: int, - expiry: int, - initial_deposit: int, - ): - token = self.tokens[quote_denom] - deposit = self.create_coin_amount(Decimal(str(initial_deposit)), quote_denom) - - return injective_insurance_tx_pb.MsgCreateInsuranceFund( - sender=sender, - ticker=ticker, - quote_denom=token.denom, - oracle_base=oracle_base, - oracle_quote=oracle_quote, - oracle_type=oracle_type, - expiry=expiry, - initial_deposit=deposit, - ) - - def MsgUnderwrite( - self, - sender: str, - market_id: str, - quote_denom: str, - amount: int, - ): - be_amount = self.create_coin_amount(amount=Decimal(str(amount)), token_name=quote_denom) - - return injective_insurance_tx_pb.MsgUnderwrite( - sender=sender, - market_id=market_id, - deposit=be_amount, - ) - - def MsgRequestRedemption( - self, - sender: str, - market_id: str, - share_denom: str, - amount: int, - ): - return injective_insurance_tx_pb.MsgRequestRedemption( - sender=sender, - market_id=market_id, - amount=self.coin(amount=amount, denom=share_denom), - ) - - # endregion - - # region Oracle module - def MsgRelayProviderPrices(self, sender: str, provider: str, symbols: list, prices: list): - oracle_prices = [] - - for price in prices: - scale_price = Decimal((price) * pow(10, 18)) - price_to_bytes = bytes(str(scale_price), "utf-8") - oracle_prices.append(price_to_bytes) - - return injective_oracle_tx_pb.MsgRelayProviderPrices( - sender=sender, provider=provider, symbols=symbols, prices=oracle_prices - ) - - def MsgRelayPriceFeedPrice(self, sender: list, base: list, quote: list, price: list): - return injective_oracle_tx_pb.MsgRelayPriceFeedPrice(sender=sender, base=base, quote=quote, price=price) - - # endregion - - # region Peggy module - def MsgSendToEth(self, denom: str, sender: str, eth_dest: str, amount: float, bridge_fee: float): - be_amount = self.create_coin_amount(amount=Decimal(str(amount)), token_name=denom) - be_bridge_fee = self.create_coin_amount(amount=Decimal(str(bridge_fee)), token_name=denom) - - return injective_peggy_tx_pb.MsgSendToEth( - sender=sender, - eth_dest=eth_dest, - amount=be_amount, - bridge_fee=be_bridge_fee, - ) - - # endregion - - # region Staking module - def MsgDelegate(self, delegator_address: str, validator_address: str, amount: float): - be_amount = Decimal(str(amount)) * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - - return cosmos_staking_tx_pb.MsgDelegate( - delegator_address=delegator_address, - validator_address=validator_address, - amount=self.coin(amount=int(be_amount), denom=INJ_DENOM), - ) - - # endregion - - # region Tokenfactory module - def msg_create_denom( - self, - sender: str, - subdenom: str, - name: str, - symbol: str, - decimals: int, - ) -> token_factory_tx_pb.MsgCreateDenom: - return token_factory_tx_pb.MsgCreateDenom( - sender=sender, - subdenom=subdenom, - name=name, - symbol=symbol, - decimals=decimals, - ) - - def msg_mint( - self, - sender: str, - amount: base_coin_pb.Coin, - ) -> token_factory_tx_pb.MsgMint: - return token_factory_tx_pb.MsgMint(sender=sender, amount=amount) - - def msg_burn( - self, - sender: str, - amount: base_coin_pb.Coin, - ) -> token_factory_tx_pb.MsgBurn: - return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount) - - def msg_set_denom_metadata( - self, - sender: str, - description: str, - denom: str, - subdenom: str, - token_decimals: int, - name: str, - symbol: str, - uri: str, - uri_hash: str, - ) -> token_factory_tx_pb.MsgSetDenomMetadata: - micro_denom_unit = bank_pb.DenomUnit( - denom=denom, - exponent=0, - aliases=[f"micro{subdenom}"], - ) - denom_unit = bank_pb.DenomUnit( - denom=subdenom, - exponent=token_decimals, - aliases=[subdenom], - ) - metadata = bank_pb.Metadata( - description=description, - denom_units=[micro_denom_unit, denom_unit], - base=denom, - display=subdenom, - name=name, - symbol=symbol, - uri=uri, - uri_hash=uri_hash, - decimals=token_decimals, - ) - return token_factory_tx_pb.MsgSetDenomMetadata(sender=sender, metadata=metadata) - - def msg_change_admin( - self, - sender: str, - denom: str, - new_admin: str, - ) -> token_factory_tx_pb.MsgChangeAdmin: - return token_factory_tx_pb.MsgChangeAdmin( - sender=sender, - denom=denom, - new_admin=new_admin, - ) - - # endregion - - # region Wasm module - def MsgInstantiateContract( - self, sender: str, admin: str, code_id: int, label: str, message: bytes, **kwargs - ) -> wasm_tx_pb.MsgInstantiateContract: - return wasm_tx_pb.MsgInstantiateContract( - sender=sender, - admin=admin, - code_id=code_id, - label=label, - msg=message, - funds=kwargs.get("funds"), # funds is a list of base_coin_pb.Coin. - # The coins in the list must be sorted in alphabetical order by denoms. - ) - - def MsgExecuteContract(self, sender: str, contract: str, msg: str, **kwargs): - return wasm_tx_pb.MsgExecuteContract( - sender=sender, - contract=contract, - msg=bytes(msg, "utf-8"), - funds=kwargs.get("funds") # funds is a list of base_coin_pb.Coin. - # The coins in the list must be sorted in alphabetical order by denoms. - ) - - # endregion - - def MsgGrantTyped( - self, - granter: str, - grantee: str, - msg_type: str, - expire_in: int, - subaccount_id: str, - **kwargs, - ): - if self._ofac_checker.is_blacklisted(granter): - raise Exception(f"Address {granter} is in the OFAC list") - - auth = None - if msg_type == "CreateSpotLimitOrderAuthz": - auth = injective_authz_pb.CreateSpotLimitOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "CreateSpotMarketOrderAuthz": - auth = injective_authz_pb.CreateSpotMarketOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "BatchCreateSpotLimitOrdersAuthz": - auth = injective_authz_pb.BatchCreateSpotLimitOrdersAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "CancelSpotOrderAuthz": - auth = injective_authz_pb.CancelSpotOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "BatchCancelSpotOrdersAuthz": - auth = injective_authz_pb.BatchCancelSpotOrdersAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "CreateDerivativeLimitOrderAuthz": - auth = injective_authz_pb.CreateDerivativeLimitOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "CreateDerivativeMarketOrderAuthz": - auth = injective_authz_pb.CreateDerivativeMarketOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "BatchCreateDerivativeLimitOrdersAuthz": - auth = injective_authz_pb.BatchCreateDerivativeLimitOrdersAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "CancelDerivativeOrderAuthz": - auth = injective_authz_pb.CancelDerivativeOrderAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "BatchCancelDerivativeOrdersAuthz": - auth = injective_authz_pb.BatchCancelDerivativeOrdersAuthz( - subaccount_id=subaccount_id, market_ids=kwargs.get("market_ids") - ) - elif msg_type == "BatchUpdateOrdersAuthz": - auth = injective_authz_pb.BatchUpdateOrdersAuthz( - subaccount_id=subaccount_id, - spot_markets=kwargs.get("spot_markets"), - derivative_markets=kwargs.get("derivative_markets"), - ) - - any_auth = any_pb2.Any() - any_auth.Pack(auth, type_url_prefix="") - - grant = cosmos_authz_pb.Grant( - authorization=any_auth, - expiration=timestamp_pb2.Timestamp(seconds=(int(time()) + expire_in)), - ) - - return cosmos_authz_tx_pb.MsgGrant(granter=granter, grantee=grantee, grant=grant) - - def MsgVote( - self, - proposal_id: str, - voter: str, - option: int, - ): - return cosmos_gov_tx_pb.MsgVote(proposal_id=proposal_id, voter=voter, option=option) - - def chain_stream_bank_balances_filter( - self, accounts: Optional[List[str]] = None - ) -> chain_stream_query.BankBalancesFilter: - accounts = accounts or ["*"] - return chain_stream_query.BankBalancesFilter(accounts=accounts) - - def chain_stream_subaccount_deposits_filter( - self, - subaccount_ids: Optional[List[str]] = None, - ) -> chain_stream_query.SubaccountDepositsFilter: - subaccount_ids = subaccount_ids or ["*"] - return chain_stream_query.SubaccountDepositsFilter(subaccount_ids=subaccount_ids) - - def chain_stream_trades_filter( - self, - subaccount_ids: Optional[List[str]] = None, - market_ids: Optional[List[str]] = None, - ) -> chain_stream_query.TradesFilter: - subaccount_ids = subaccount_ids or ["*"] - market_ids = market_ids or ["*"] - return chain_stream_query.TradesFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) - - def chain_stream_orders_filter( - self, - subaccount_ids: Optional[List[str]] = None, - market_ids: Optional[List[str]] = None, - ) -> chain_stream_query.OrdersFilter: - subaccount_ids = subaccount_ids or ["*"] - market_ids = market_ids or ["*"] - return chain_stream_query.OrdersFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) - - def chain_stream_orderbooks_filter( - self, - market_ids: Optional[List[str]] = None, - ) -> chain_stream_query.OrderbookFilter: - market_ids = market_ids or ["*"] - return chain_stream_query.OrderbookFilter(market_ids=market_ids) - - def chain_stream_positions_filter( - self, - subaccount_ids: Optional[List[str]] = None, - market_ids: Optional[List[str]] = None, - ) -> chain_stream_query.PositionsFilter: - subaccount_ids = subaccount_ids or ["*"] - market_ids = market_ids or ["*"] - return chain_stream_query.PositionsFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) - - def chain_stream_oracle_price_filter( - self, - symbols: Optional[List[str]] = None, - ) -> chain_stream_query.PositionsFilter: - symbols = symbols or ["*"] - return chain_stream_query.OraclePriceFilter(symbol=symbols) - - # ------------------------------------------------ - # region Distribution module's messages - - def msg_set_withdraw_address(self, delegator_address: str, withdraw_address: str): - return cosmos_distribution_tx_pb.MsgSetWithdrawAddress( - delegator_address=delegator_address, withdraw_address=withdraw_address - ) - - # Deprecated - def MsgWithdrawDelegatorReward(self, delegator_address: str, validator_address: str): - """ - This method is deprecated and will be removed soon. Please use `msg_withdraw_delegator_reward` instead - """ - warn("This method is deprecated. Use msg_withdraw_delegator_reward instead", DeprecationWarning, stacklevel=2) - return cosmos_distribution_tx_pb.MsgWithdrawDelegatorReward( - delegator_address=delegator_address, validator_address=validator_address - ) - - def msg_withdraw_delegator_reward(self, delegator_address: str, validator_address: str): - return cosmos_distribution_tx_pb.MsgWithdrawDelegatorReward( - delegator_address=delegator_address, validator_address=validator_address - ) - - def MsgWithdrawValidatorCommission(self, validator_address: str): - """ - This method is deprecated and will be removed soon. Please use `msg_withdraw_validator_commission` instead - """ - warn( - "This method is deprecated. Use msg_withdraw_validator_commission instead", DeprecationWarning, stacklevel=2 - ) - return cosmos_distribution_tx_pb.MsgWithdrawValidatorCommission(validator_address=validator_address) - - def msg_withdraw_validator_commission(self, validator_address: str): - return cosmos_distribution_tx_pb.MsgWithdrawValidatorCommission(validator_address=validator_address) - - def msg_fund_community_pool(self, amounts: List[base_coin_pb.Coin], depositor: str): - return cosmos_distribution_tx_pb.MsgFundCommunityPool(amount=amounts, depositor=depositor) - - def msg_update_distribution_params(self, authority: str, community_tax: str, withdraw_address_enabled: bool): - params = cosmos_distribution_pb2.Params( - community_tax=community_tax, - withdraw_addr_enabled=withdraw_address_enabled, - ) - return cosmos_distribution_tx_pb.MsgUpdateParams(authority=authority, params=params) - - def msg_community_pool_spend(self, authority: str, recipient: str, amount: List[base_coin_pb.Coin]): - return cosmos_distribution_tx_pb.MsgCommunityPoolSpend(authority=authority, recipient=recipient, amount=amount) - - # region IBC Transfer module - def msg_ibc_transfer( - self, - source_port: str, - source_channel: str, - token_amount: base_coin_pb.Coin, - sender: str, - receiver: str, - timeout_height: Optional[int] = None, - timeout_timestamp: Optional[int] = None, - memo: Optional[str] = None, - ) -> ibc_transfer_tx_pb.MsgTransfer: - if timeout_height is None and timeout_timestamp is None: - raise ValueError("IBC Transfer error: Either timeout_height or timeout_timestamp must be provided") - parsed_timeout_height = None - if timeout_height: - parsed_timeout_height = ibc_core_client_pb.Height( - revision_number=timeout_height, revision_height=timeout_height - ) - return ibc_transfer_tx_pb.MsgTransfer( - source_port=source_port, - source_channel=source_channel, - token=token_amount, - sender=sender, - receiver=receiver, - timeout_height=parsed_timeout_height, - timeout_timestamp=timeout_timestamp, - memo=memo, - ) - - # endregion - - # region Permissions module - def permissions_role(self, role: str, permissions: int) -> injective_permissions_pb.Role: - return injective_permissions_pb.Role(role=role, permissions=permissions) - - def permissions_address_roles(self, address: str, roles: List[str]) -> injective_permissions_pb.AddressRoles: - return injective_permissions_pb.AddressRoles(address=address, roles=roles) - - def msg_create_namespace( - self, - sender: str, - denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, - role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgCreateNamespace: - namespace = injective_permissions_pb.Namespace( - denom=denom, - wasm_hook=wasm_hook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, - role_permissions=role_permissions, - address_roles=address_roles, - ) - return injective_permissions_tx_pb.MsgCreateNamespace( - sender=sender, - namespace=namespace, - ) - - def msg_delete_namespace(self, sender: str, namespace_denom: str) -> injective_permissions_tx_pb.MsgDeleteNamespace: - return injective_permissions_tx_pb.MsgDeleteNamespace(sender=sender, namespace_denom=namespace_denom) - - def msg_update_namespace( - self, - sender: str, - namespace_denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, - ) -> injective_permissions_tx_pb.MsgUpdateNamespace: - wasmhook_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetWasmHook(new_value=wasm_hook) - mints_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetMintsPaused(new_value=mints_paused) - sends_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetSendsPaused(new_value=sends_paused) - burns_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetBurnsPaused(new_value=burns_paused) - - return injective_permissions_tx_pb.MsgUpdateNamespace( - sender=sender, - namespace_denom=namespace_denom, - wasm_hook=wasmhook_update, - mints_paused=mints_paused_update, - sends_paused=sends_paused_update, - burns_paused=burns_paused_update, - ) - - def msg_update_namespace_roles( - self, - sender: str, - namespace_denom: str, - role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgUpdateNamespaceRoles: - return injective_permissions_tx_pb.MsgUpdateNamespaceRoles( - sender=sender, - namespace_denom=namespace_denom, - role_permissions=role_permissions, - address_roles=address_roles, - ) - - def msg_revoke_namespace_roles( - self, - sender: str, - namespace_denom: str, - address_roles_to_revoke: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgRevokeNamespaceRoles: - return injective_permissions_tx_pb.MsgRevokeNamespaceRoles( - sender=sender, - namespace_denom=namespace_denom, - address_roles_to_revoke=address_roles_to_revoke, - ) - - def msg_claim_voucher( - self, - sender: str, - denom: str, - ) -> injective_permissions_tx_pb.MsgClaimVoucher: - return injective_permissions_tx_pb.MsgClaimVoucher( - sender=sender, - denom=denom, - ) - - # endregion - - # data field format: [request-msg-header][raw-byte-msg-response] - # you need to figure out this magic prefix number to trim request-msg-header off the data - # this method handles only exchange responses - @staticmethod - def MsgResponses(response, simulation=False): - data = response.result - if not simulation: - data = bytes.fromhex(data) - # fmt: off - header_map = { - "/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse": - injective_exchange_tx_pb.MsgCreateSpotLimitOrderResponse, - "/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse": - injective_exchange_tx_pb.MsgCreateSpotMarketOrderResponse, - "/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse": - injective_exchange_tx_pb.MsgCreateDerivativeLimitOrderResponse, - "/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse": - injective_exchange_tx_pb.MsgCreateDerivativeMarketOrderResponse, - "/injective.exchange.v1beta1.MsgCancelSpotOrderResponse": - injective_exchange_tx_pb.MsgCancelSpotOrderResponse, - "/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse": - injective_exchange_tx_pb.MsgCancelDerivativeOrderResponse, - "/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse": - injective_exchange_tx_pb.MsgBatchCancelSpotOrdersResponse, - "/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse": - injective_exchange_tx_pb.MsgBatchCancelDerivativeOrdersResponse, - "/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse": - injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrdersResponse, - "/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse": - injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrdersResponse, - "/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse": - injective_exchange_tx_pb.MsgBatchUpdateOrdersResponse, - "/injective.exchange.v1beta1.MsgDepositResponse": - injective_exchange_tx_pb.MsgDepositResponse, - "/injective.exchange.v1beta1.MsgWithdrawResponse": - injective_exchange_tx_pb.MsgWithdrawResponse, - "/injective.exchange.v1beta1.MsgSubaccountTransferResponse": - injective_exchange_tx_pb.MsgSubaccountTransferResponse, - "/injective.exchange.v1beta1.MsgLiquidatePositionResponse": - injective_exchange_tx_pb.MsgLiquidatePositionResponse, - "/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse": - injective_exchange_tx_pb.MsgIncreasePositionMarginResponse, - "/injective.auction.v1beta1.MsgBidResponse": - injective_auction_tx_pb.MsgBidResponse, - "/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse": - injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrderResponse, - "/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse": - injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrderResponse, - "/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse": - injective_exchange_tx_pb.MsgCancelBinaryOptionsOrderResponse, - "/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse": - injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarketResponse, - "/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse": - injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunchResponse, - "/cosmos.bank.v1beta1.MsgSendResponse": - cosmos_bank_tx_pb.MsgSendResponse, - "/cosmos.authz.v1beta1.MsgGrantResponse": - cosmos_authz_tx_pb.MsgGrantResponse, - "/cosmos.authz.v1beta1.MsgExecResponse": - cosmos_authz_tx_pb.MsgExecResponse, - "/cosmos.authz.v1beta1.MsgRevokeResponse": - cosmos_authz_tx_pb.MsgRevokeResponse, - "/injective.oracle.v1beta1.MsgRelayPriceFeedPriceResponse": - injective_oracle_tx_pb.MsgRelayPriceFeedPriceResponse, - "/injective.oracle.v1beta1.MsgRelayProviderPricesResponse": - injective_oracle_tx_pb.MsgRelayProviderPrices, - } - # fmt: on - msgs = [] - for msg in data.msg_responses: - msgs.append(header_map[msg.type_url].FromString(msg.value)) - - return msgs - - @staticmethod - def UnpackMsgExecResponse(msg_type, data): - responses = [] - dict_message = json_format.MessageToDict(message=data, always_print_fields_with_no_presence=True) - json_responses = Composer.unpack_msg_exec_response(underlying_msg_type=msg_type, msg_exec_response=dict_message) - for json_response in json_responses: - response = REQUEST_TO_RESPONSE_TYPE_MAP[msg_type]() - json_format.ParseDict(js_dict=json_response, message=response, ignore_unknown_fields=True) - responses.append(response) - return responses - - @staticmethod - def unpack_msg_exec_response(underlying_msg_type: str, msg_exec_response: Dict[str, Any]) -> List[Dict[str, Any]]: - grpc_response = cosmos_authz_tx_pb.MsgExecResponse() - json_format.ParseDict(js_dict=msg_exec_response, message=grpc_response, ignore_unknown_fields=True) - responses = [ - json_format.MessageToDict( - message=REQUEST_TO_RESPONSE_TYPE_MAP[underlying_msg_type].FromString(result), - always_print_fields_with_no_presence=True, - ) - for result in grpc_response.results - ] - - return responses - - @staticmethod - def UnpackTransactionMessages(transaction): - meta_messages = json.loads(transaction.messages.decode()) - header_map = GRPC_MESSAGE_TYPE_TO_CLASS_MAP - msgs = [] - for msg in meta_messages: - msg_as_string_dict = json.dumps(msg["value"]) - msgs.append(json_format.Parse(msg_as_string_dict, header_map[msg["type"]]())) - - return msgs - - @staticmethod - def unpack_transaction_messages(transaction_data: Dict[str, Any]) -> List[Dict[str, Any]]: - grpc_tx = explorer_pb2.TxDetailData() - json_format.ParseDict(js_dict=transaction_data, message=grpc_tx, ignore_unknown_fields=True) - meta_messages = json.loads(grpc_tx.messages.decode()) - msgs = [] - for msg in meta_messages: - msg_as_string_dict = json.dumps(msg["value"]) - grpc_message = json_format.Parse(msg_as_string_dict, GRPC_MESSAGE_TYPE_TO_CLASS_MAP[msg["type"]]()) - msgs.append( - { - "type": msg["type"], - "value": json_format.MessageToDict(message=grpc_message, always_print_fields_with_no_presence=True), - } - ) - - return msgs - - def _order_mask(self, is_conditional: bool, is_buy: bool, is_market_order: bool) -> int: - order_mask = 0 - - if is_conditional: - order_mask += injective_exchange_pb.OrderMask.CONDITIONAL - else: - order_mask += injective_exchange_pb.OrderMask.REGULAR - - if is_buy: - order_mask += injective_exchange_pb.OrderMask.DIRECTION_BUY_OR_HIGHER - else: - order_mask += injective_exchange_pb.OrderMask.DIRECTION_SELL_OR_LOWER - - if is_market_order: - order_mask += injective_exchange_pb.OrderMask.TYPE_MARKET - else: - order_mask += injective_exchange_pb.OrderMask.TYPE_LIMIT - - if order_mask == 0: - order_mask = 1 - - return order_mask - - def _basic_derivative_order( - self, - market_id: str, - subaccount_id: str, - fee_recipient: str, - chain_price: Decimal, - chain_quantity: Decimal, - chain_margin: Decimal, - order_type: str, - cid: Optional[str] = None, - chain_trigger_price: Optional[Decimal] = None, - ) -> injective_exchange_pb.DerivativeOrder: - formatted_quantity = f"{chain_quantity.normalize():f}" - formatted_price = f"{chain_price.normalize():f}" - formatted_margin = f"{chain_margin.normalize():f}" - - trigger_price = chain_trigger_price or Decimal(0) - formatted_trigger_price = f"{trigger_price.normalize():f}" - - chain_order_type = injective_exchange_pb.OrderType.Value(order_type) - - return injective_exchange_pb.DerivativeOrder( - market_id=market_id, - order_info=injective_exchange_pb.OrderInfo( - subaccount_id=subaccount_id, - fee_recipient=fee_recipient, - price=formatted_price, - quantity=formatted_quantity, - cid=cid, - ), - order_type=chain_order_type, - margin=formatted_margin, - trigger_price=formatted_trigger_price, - ) diff --git a/pyinjective/composer_v2.py b/pyinjective/composer_v2.py new file mode 100644 index 00000000..1d64e7e8 --- /dev/null +++ b/pyinjective/composer_v2.py @@ -0,0 +1,1989 @@ +import json +from decimal import Decimal +from enum import IntEnum, IntFlag +from time import time +from typing import Any, Dict, List, Optional, Union + +from google.protobuf import any_pb2, json_format, timestamp_pb2 + +from pyinjective.constant import INJ_DECIMALS, INJ_DENOM +from pyinjective.core.token import Token +from pyinjective.ofac import OfacChecker +from pyinjective.proto.cosmos.authz.v1beta1 import authz_pb2 as cosmos_authz_pb, tx_pb2 as cosmos_authz_tx_pb +from pyinjective.proto.cosmos.bank.v1beta1 import bank_pb2 as bank_pb, tx_pb2 as cosmos_bank_tx_pb +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as base_coin_pb +from pyinjective.proto.cosmos.distribution.v1beta1 import ( + distribution_pb2 as cosmos_distribution_pb2, + tx_pb2 as cosmos_distribution_tx_pb, +) +from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as cosmos_gov_tx_pb +from pyinjective.proto.cosmos.staking.v1beta1 import tx_pb2 as cosmos_staking_tx_pb +from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb +from pyinjective.proto.exchange import injective_explorer_rpc_pb2 as explorer_pb2 +from pyinjective.proto.ibc.applications.transfer.v1 import tx_pb2 as ibc_transfer_tx_pb +from pyinjective.proto.ibc.core.client.v1 import client_pb2 as ibc_core_client_pb +from pyinjective.proto.injective.auction.v1beta1 import tx_pb2 as injective_auction_tx_pb +from pyinjective.proto.injective.erc20.v1beta1 import erc20_pb2 as injective_erc20_pb2, tx_pb2 as injective_erc20_tx_pb +from pyinjective.proto.injective.exchange.v1beta1 import tx_pb2 as injective_exchange_tx_pb +from pyinjective.proto.injective.exchange.v2 import ( + authz_pb2 as injective_authz_v2_pb, + exchange_pb2 as injective_exchange_v2_pb, + market_pb2 as injective_market_v2_pb, + order_pb2 as injective_order_v2_pb, + proposal_pb2 as injective_proposal_v2_pb, + tx_pb2 as injective_exchange_tx_v2_pb, +) +from pyinjective.proto.injective.insurance.v1beta1 import tx_pb2 as injective_insurance_tx_pb +from pyinjective.proto.injective.oracle.v1beta1 import ( + oracle_pb2 as injective_oracle_pb, + tx_pb2 as injective_oracle_tx_pb, +) +from pyinjective.proto.injective.peggy.v1 import msgs_pb2 as injective_peggy_tx_pb +from pyinjective.proto.injective.permissions.v1beta1 import ( + permissions_pb2 as injective_permissions_pb, + tx_pb2 as injective_permissions_tx_pb, +) +from pyinjective.proto.injective.stream.v2 import query_pb2 as chain_stream_v2_query +from pyinjective.proto.injective.tokenfactory.v1beta1 import tx_pb2 as token_factory_tx_pb +from pyinjective.proto.injective.wasmx.v1 import tx_pb2 as wasmx_tx_pb + +# fmt: off +REQUEST_TO_RESPONSE_TYPE_MAP = { + "MsgCreateSpotLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateSpotLimitOrderResponse, + "MsgCreateSpotMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateSpotMarketOrderResponse, + "MsgCreateDerivativeLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrderResponse, + "MsgCreateDerivativeMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateDerivativeMarketOrderResponse, + "MsgCancelSpotOrder": + injective_exchange_tx_v2_pb.MsgCancelSpotOrderResponse, + "MsgCancelDerivativeOrder": + injective_exchange_tx_v2_pb.MsgCancelDerivativeOrderResponse, + "MsgBatchCancelSpotOrders": + injective_exchange_tx_v2_pb.MsgBatchCancelSpotOrdersResponse, + "MsgBatchCancelDerivativeOrders": + injective_exchange_tx_v2_pb.MsgBatchCancelDerivativeOrdersResponse, + "MsgBatchCreateSpotLimitOrders": + injective_exchange_tx_v2_pb.MsgBatchCreateSpotLimitOrdersResponse, + "MsgBatchCreateDerivativeLimitOrders": + injective_exchange_tx_v2_pb.MsgBatchCreateDerivativeLimitOrdersResponse, + "MsgBatchUpdateOrders": + injective_exchange_tx_v2_pb.MsgBatchUpdateOrdersResponse, + "MsgDeposit": + injective_exchange_tx_v2_pb.MsgDepositResponse, + "MsgWithdraw": + injective_exchange_tx_v2_pb.MsgWithdrawResponse, + "MsgSubaccountTransfer": + injective_exchange_tx_v2_pb.MsgSubaccountTransferResponse, + "MsgLiquidatePosition": + injective_exchange_tx_v2_pb.MsgLiquidatePositionResponse, + "MsgBatchLiquidatePositions": + injective_exchange_tx_v2_pb.MsgBatchLiquidatePositionsResponse, + "MsgIncreasePositionMargin": + injective_exchange_tx_v2_pb.MsgIncreasePositionMarginResponse, + "MsgCreateBinaryOptionsLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsLimitOrderResponse, + "MsgCreateBinaryOptionsMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsMarketOrderResponse, + "MsgCancelBinaryOptionsOrder": + injective_exchange_tx_v2_pb.MsgCancelBinaryOptionsOrderResponse, + "MsgAdminUpdateBinaryOptionsMarket": + injective_exchange_tx_v2_pb.MsgAdminUpdateBinaryOptionsMarketResponse, + "MsgInstantBinaryOptionsMarketLaunch": + injective_exchange_tx_v2_pb.MsgInstantBinaryOptionsMarketLaunchResponse, +} + +GRPC_MESSAGE_TYPE_TO_CLASS_MAP = { + "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder": + injective_exchange_tx_pb.MsgCreateSpotLimitOrder, + "/injective.exchange.v1beta1.MsgCreateSpotMarketOrder": + injective_exchange_tx_pb.MsgCreateSpotMarketOrder, + "/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder": + injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder, + "/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder": + injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder, + "/injective.exchange.v1beta1.MsgCancelSpotOrder": + injective_exchange_tx_pb.MsgCancelSpotOrder, + "/injective.exchange.v1beta1.MsgCancelDerivativeOrder": + injective_exchange_tx_pb.MsgCancelDerivativeOrder, + "/injective.exchange.v1beta1.MsgBatchCancelSpotOrders": + injective_exchange_tx_pb.MsgBatchCancelSpotOrders, + "/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders": + injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders, + "/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders": + injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders, + "/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders": + injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders, + "/injective.exchange.v1beta1.MsgBatchUpdateOrders": + injective_exchange_tx_pb.MsgBatchUpdateOrders, + "/injective.exchange.v1beta1.MsgDeposit": + injective_exchange_tx_pb.MsgDeposit, + "/injective.exchange.v1beta1.MsgWithdraw": + injective_exchange_tx_pb.MsgWithdraw, + "/injective.exchange.v1beta1.MsgSubaccountTransfer": + injective_exchange_tx_pb.MsgSubaccountTransfer, + "/injective.exchange.v1beta1.MsgLiquidatePosition": + injective_exchange_tx_pb.MsgLiquidatePosition, + "/injective.exchange.v1beta1.MsgIncreasePositionMargin": + injective_exchange_tx_pb.MsgIncreasePositionMargin, + "/injective.auction.v1beta1.MsgBid": + injective_auction_tx_pb.MsgBid, + "/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder": + injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrder, + "/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder": + injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrder, + "/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder": + injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder, + "/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket": + injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarket, + "/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch": + injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunch, + "/cosmos.bank.v1beta1.MsgSend": + cosmos_bank_tx_pb.MsgSend, + "/cosmos.authz.v1beta1.MsgGrant": + cosmos_authz_tx_pb.MsgGrant, + "/cosmos.authz.v1beta1.MsgExec": + cosmos_authz_tx_pb.MsgExec, + "/cosmos.authz.v1beta1.MsgRevoke": + cosmos_authz_tx_pb.MsgRevoke, + "/injective.oracle.v1beta1.MsgRelayPriceFeedPrice": + injective_oracle_tx_pb.MsgRelayPriceFeedPrice, + "/injective.oracle.v1beta1.MsgRelayProviderPrices": + injective_oracle_tx_pb.MsgRelayProviderPrices, + "/injective.exchange.v2.MsgCreateSpotLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateSpotLimitOrder, + "/injective.exchange.v2.MsgCreateSpotMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateSpotMarketOrder, + "/injective.exchange.v2.MsgCreateDerivativeLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrder, + "/injective.exchange.v2.MsgCreateDerivativeMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateDerivativeMarketOrder, + "/injective.exchange.v2.MsgCancelSpotOrder": + injective_exchange_tx_v2_pb.MsgCancelSpotOrder, + "/injective.exchange.v2.MsgCancelDerivativeOrder": + injective_exchange_tx_v2_pb.MsgCancelDerivativeOrder, + "/injective.exchange.v2.MsgBatchCancelSpotOrders": + injective_exchange_tx_v2_pb.MsgBatchCancelSpotOrders, + "/injective.exchange.v2.MsgBatchCancelDerivativeOrders": + injective_exchange_tx_v2_pb.MsgBatchCancelDerivativeOrders, + "/injective.exchange.v2.MsgBatchCreateSpotLimitOrders": + injective_exchange_tx_v2_pb.MsgBatchCreateSpotLimitOrders, + "/injective.exchange.v2.MsgBatchCreateDerivativeLimitOrders": + injective_exchange_tx_v2_pb.MsgBatchCreateDerivativeLimitOrders, + "/injective.exchange.v2.MsgBatchUpdateOrders": + injective_exchange_tx_v2_pb.MsgBatchUpdateOrders, + "/injective.exchange.v2.MsgDeposit": + injective_exchange_tx_v2_pb.MsgDeposit, + "/injective.exchange.v2.MsgWithdraw": + injective_exchange_tx_v2_pb.MsgWithdraw, + "/injective.exchange.v2.MsgSubaccountTransfer": + injective_exchange_tx_v2_pb.MsgSubaccountTransfer, + "/injective.exchange.v2.MsgLiquidatePosition": + injective_exchange_tx_v2_pb.MsgLiquidatePosition, + "/injective.exchange.v2.MsgBatchLiquidatePositions": + injective_exchange_tx_v2_pb.MsgBatchLiquidatePositions, + "/injective.exchange.v2.MsgIncreasePositionMargin": + injective_exchange_tx_v2_pb.MsgIncreasePositionMargin, + "/injective.exchange.v2.MsgCreateBinaryOptionsLimitOrder": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsLimitOrder, + "/injective.exchange.v2.MsgCreateBinaryOptionsMarketOrder": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsMarketOrder, + "/injective.exchange.v2.MsgCancelBinaryOptionsOrder": + injective_exchange_tx_v2_pb.MsgCancelBinaryOptionsOrder, + "/injective.exchange.v2.MsgAdminUpdateBinaryOptionsMarket": + injective_exchange_tx_v2_pb.MsgAdminUpdateBinaryOptionsMarket, + "/injective.exchange.v2.MsgInstantBinaryOptionsMarketLaunch": + injective_exchange_tx_v2_pb.MsgInstantBinaryOptionsMarketLaunch, +} + +GRPC_RESPONSE_TYPE_TO_CLASS_MAP = { + "/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse": + injective_exchange_tx_pb.MsgCreateSpotLimitOrderResponse, + "/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse": + injective_exchange_tx_pb.MsgCreateSpotMarketOrderResponse, + "/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse": + injective_exchange_tx_pb.MsgCreateDerivativeLimitOrderResponse, + "/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse": + injective_exchange_tx_pb.MsgCreateDerivativeMarketOrderResponse, + "/injective.exchange.v1beta1.MsgCancelSpotOrderResponse": + injective_exchange_tx_pb.MsgCancelSpotOrderResponse, + "/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse": + injective_exchange_tx_pb.MsgCancelDerivativeOrderResponse, + "/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse": + injective_exchange_tx_pb.MsgBatchCancelSpotOrdersResponse, + "/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse": + injective_exchange_tx_pb.MsgBatchCancelDerivativeOrdersResponse, + "/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse": + injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrdersResponse, + "/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse": + injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrdersResponse, + "/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse": + injective_exchange_tx_pb.MsgBatchUpdateOrdersResponse, + "/injective.exchange.v1beta1.MsgDepositResponse": + injective_exchange_tx_pb.MsgDepositResponse, + "/injective.exchange.v1beta1.MsgWithdrawResponse": + injective_exchange_tx_pb.MsgWithdrawResponse, + "/injective.exchange.v1beta1.MsgSubaccountTransferResponse": + injective_exchange_tx_pb.MsgSubaccountTransferResponse, + "/injective.exchange.v1beta1.MsgLiquidatePositionResponse": + injective_exchange_tx_pb.MsgLiquidatePositionResponse, + "/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse": + injective_exchange_tx_pb.MsgIncreasePositionMarginResponse, + "/injective.auction.v1beta1.MsgBidResponse": + injective_auction_tx_pb.MsgBidResponse, + "/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse": + injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrderResponse, + "/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse": + injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrderResponse, + "/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse": + injective_exchange_tx_pb.MsgCancelBinaryOptionsOrderResponse, + "/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse": + injective_exchange_tx_pb.MsgAdminUpdateBinaryOptionsMarketResponse, + "/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse": + injective_exchange_tx_pb.MsgInstantBinaryOptionsMarketLaunchResponse, + "/cosmos.bank.v1beta1.MsgSendResponse": + cosmos_bank_tx_pb.MsgSendResponse, + "/cosmos.authz.v1beta1.MsgGrantResponse": + cosmos_authz_tx_pb.MsgGrantResponse, + "/cosmos.authz.v1beta1.MsgExecResponse": + cosmos_authz_tx_pb.MsgExecResponse, + "/cosmos.authz.v1beta1.MsgRevokeResponse": + cosmos_authz_tx_pb.MsgRevokeResponse, + "/injective.oracle.v1beta1.MsgRelayPriceFeedPriceResponse": + injective_oracle_tx_pb.MsgRelayPriceFeedPriceResponse, + "/injective.oracle.v1beta1.MsgRelayProviderPricesResponse": + injective_oracle_tx_pb.MsgRelayProviderPrices, + "/injective.exchange.v2.MsgCreateSpotLimitOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateSpotLimitOrderResponse, + "/injective.exchange.v2.MsgCreateSpotMarketOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateSpotMarketOrderResponse, + "/injective.exchange.v2.MsgCreateDerivativeLimitOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrderResponse, + "/injective.exchange.v2.MsgCreateDerivativeMarketOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateDerivativeMarketOrderResponse, + "/injective.exchange.v2.MsgCancelSpotOrderResponse": + injective_exchange_tx_v2_pb.MsgCancelSpotOrderResponse, + "/injective.exchange.v2.MsgCancelDerivativeOrderResponse": + injective_exchange_tx_v2_pb.MsgCancelDerivativeOrderResponse, + "/injective.exchange.v2.MsgBatchCancelSpotOrdersResponse": + injective_exchange_tx_v2_pb.MsgBatchCancelSpotOrdersResponse, + "/injective.exchange.v2.MsgBatchCancelDerivativeOrdersResponse": + injective_exchange_tx_v2_pb.MsgBatchCancelDerivativeOrdersResponse, + "/injective.exchange.v2.MsgBatchCreateSpotLimitOrdersResponse": + injective_exchange_tx_v2_pb.MsgBatchCreateSpotLimitOrdersResponse, + "/injective.exchange.v2.MsgBatchCreateDerivativeLimitOrdersResponse": + injective_exchange_tx_v2_pb.MsgBatchCreateDerivativeLimitOrdersResponse, + "/injective.exchange.v2.MsgBatchUpdateOrdersResponse": + injective_exchange_tx_v2_pb.MsgBatchUpdateOrdersResponse, + "/injective.exchange.v2.MsgDepositResponse": + injective_exchange_tx_v2_pb.MsgDepositResponse, + "/injective.exchange.v2.MsgWithdrawResponse": + injective_exchange_tx_v2_pb.MsgWithdrawResponse, + "/injective.exchange.v2.MsgSubaccountTransferResponse": + injective_exchange_tx_v2_pb.MsgSubaccountTransferResponse, + "/injective.exchange.v2.MsgLiquidatePositionResponse": + injective_exchange_tx_v2_pb.MsgLiquidatePositionResponse, + "/injective.exchange.v2.MsgBatchLiquidatePositionsResponse": + injective_exchange_tx_v2_pb.MsgBatchLiquidatePositionsResponse, + "/injective.exchange.v2.MsgIncreasePositionMarginResponse": + injective_exchange_tx_v2_pb.MsgIncreasePositionMarginResponse, + "/injective.exchange.v2.MsgCreateBinaryOptionsLimitOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsLimitOrderResponse, + "/injective.exchange.v2.MsgCreateBinaryOptionsMarketOrderResponse": + injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsMarketOrderResponse, + "/injective.exchange.v2.MsgCancelBinaryOptionsOrderResponse": + injective_exchange_tx_v2_pb.MsgCancelBinaryOptionsOrderResponse, + "/injective.exchange.v2.MsgAdminUpdateBinaryOptionsMarketResponse": + injective_exchange_tx_v2_pb.MsgAdminUpdateBinaryOptionsMarketResponse, + "/injective.exchange.v2.MsgInstantBinaryOptionsMarketLaunchResponse": + injective_exchange_tx_v2_pb.MsgInstantBinaryOptionsMarketLaunchResponse, +} + +# fmt: on + + +class Composer: + PERMISSIONS_ACTION = IntFlag( + "PERMISSIONS_ACTION", + [ + (permission_name, injective_permissions_pb.Action.Value(permission_name)) + for permission_name in injective_permissions_pb.Action.keys() + ], + ) + ORDER_TYPE = IntEnum( + "ORDER_TYPE", + [(name, injective_order_v2_pb.OrderType.Value(name)) for name in injective_order_v2_pb.OrderType.keys()], + ) + ORACLE_TYPE = IntEnum( + "ORACLE_TYPE", + [(name, injective_oracle_pb.OracleType.Value(name)) for name in injective_oracle_pb.OracleType.keys()], + ) + CROSS_MARGIN_ELIGIBILITY = IntEnum( + "CROSS_MARGIN_ELIGIBILITY", + [ + (name, injective_proposal_v2_pb.CrossMarginEligibility.Value(name)) + for name in injective_proposal_v2_pb.CrossMarginEligibility.keys() + ], + ) + + @staticmethod + def _resolve_order_type(value: Union[str, int]) -> int: + if isinstance(value, str): + return injective_order_v2_pb.OrderType.Value(value) + return int(value) + + @staticmethod + def _resolve_oracle_type(value: Union[str, int]) -> int: + if isinstance(value, str): + return injective_oracle_pb.OracleType.Value(value) + return int(value) + + def __init__(self, network: str): + """Composer is used to create the requests to send to the nodes using the Client + + :param network: the name of the network to use (mainnet, testnet, devnet) + :type network: str + """ + self.network = network + self._ofac_checker = OfacChecker() + + def coin(self, amount: int, denom: str) -> base_coin_pb.Coin: + """ + This method create an instance of Coin gRPC type, considering the amount is already expressed in chain format + """ + formatted_amount_string = str(int(amount)) + return base_coin_pb.Coin(amount=formatted_amount_string, denom=denom) + + def order_data( + self, + market_id: str, + subaccount_id: str, + is_buy: bool, + is_market_order: bool, + is_conditional: bool, + order_hash: Optional[str] = None, + cid: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.OrderData: + order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) + + return injective_exchange_tx_v2_pb.OrderData( + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + order_mask=order_mask, + cid=cid, + ) + + def order_data_without_mask( + self, + market_id: str, + subaccount_id: str, + order_hash: Optional[str] = None, + cid: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.OrderData: + return injective_exchange_tx_v2_pb.OrderData( + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + order_mask=1, + cid=cid, + ) + + def spot_order( + self, + market_id: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + order_type: Union[str, int], + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_order_v2_pb.SpotOrder: + trigger_price = trigger_price or Decimal(0) + expiration_block = expiration_block or 0 + chain_order_type = self._resolve_order_type(order_type) + chain_quantity = f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}" + chain_price = f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}" + chain_trigger_price = f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}" + + return injective_order_v2_pb.SpotOrder( + market_id=market_id, + order_info=injective_order_v2_pb.OrderInfo( + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=chain_price, + quantity=chain_quantity, + cid=cid, + ), + order_type=chain_order_type, + trigger_price=chain_trigger_price, + expiration_block=expiration_block, + ) + + def calculate_margin( + self, quantity: Decimal, price: Decimal, leverage: Decimal, is_reduce_only: bool = False + ) -> Decimal: + if is_reduce_only: + margin = Decimal(0) + else: + margin = quantity * price / leverage + + return margin + + def derivative_order( + self, + market_id: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_order_v2_pb.DerivativeOrder: + return self._basic_derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + expiration_block=expiration_block, + ) + + def binary_options_order( + self, + market_id: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_order_v2_pb.DerivativeOrder: + return self._basic_derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + expiration_block=expiration_block, + ) + + def create_grant_authorization(self, grantee: str, amount: Decimal) -> injective_exchange_v2_pb.GrantAuthorization: + chain_formatted_amount = int(amount * Decimal(f"1e{INJ_DECIMALS}")) + return injective_exchange_v2_pb.GrantAuthorization(grantee=grantee, amount=str(chain_formatted_amount)) + + # region Auction module + def msg_bid(self, sender: str, bid_amount: float, round: float) -> injective_auction_tx_pb.MsgBid: + be_amount = Token.convert_value_to_extended_decimal_format(value=Decimal(str(bid_amount))) + + return injective_auction_tx_pb.MsgBid( + sender=sender, + round=round, + bid_amount=self.coin(amount=int(be_amount), denom=INJ_DENOM), + ) + + def msg_auction_claim_voucher(self, sender: str, denom: str) -> injective_auction_tx_pb.MsgClaimVoucher: + return injective_auction_tx_pb.MsgClaimVoucher( + sender=sender, + denom=denom, + ) + + # endregion + + # region Authz module + def msg_grant_generic( + self, granter: str, grantee: str, msg_type: str, expire_in: int + ) -> cosmos_authz_tx_pb.MsgGrant: + if self._ofac_checker.is_blacklisted(granter): + raise Exception(f"Address {granter} is in the OFAC list") + auth = cosmos_authz_pb.GenericAuthorization(msg=msg_type) + any_auth = any_pb2.Any() + any_auth.Pack(auth, type_url_prefix="") + + grant = cosmos_authz_pb.Grant( + authorization=any_auth, + expiration=timestamp_pb2.Timestamp(seconds=(int(time()) + expire_in)), + ) + + return cosmos_authz_tx_pb.MsgGrant(granter=granter, grantee=grantee, grant=grant) + + def msg_exec(self, grantee: str, msgs: List): + any_msgs: List[any_pb2.Any] = [] + for msg in msgs: + any_msg = any_pb2.Any() + any_msg.Pack(msg, type_url_prefix="") + any_msgs.append(any_msg) + + return cosmos_authz_tx_pb.MsgExec(grantee=grantee, msgs=any_msgs) + + def msg_revoke(self, granter: str, grantee: str, msg_type: str) -> cosmos_authz_tx_pb.MsgRevoke: + return cosmos_authz_tx_pb.MsgRevoke(granter=granter, grantee=grantee, msg_type_url=msg_type) + + def msg_execute_contract_compat(self, sender: str, contract: str, msg: str, funds: str): + return wasmx_tx_pb.MsgExecuteContractCompat( + sender=sender, + contract=contract, + msg=msg, + funds=funds, + ) + + # endregion + + # region Bank module + def msg_send(self, from_address: str, to_address: str, amount: int, denom: str): + coin = self.coin(amount=int(amount), denom=denom) + + return cosmos_bank_tx_pb.MsgSend( + from_address=from_address, + to_address=to_address, + amount=[coin], + ) + + # endregion + + # region Chain Exchange module + def msg_deposit( + self, sender: str, subaccount_id: str, amount: int, denom: str + ) -> injective_exchange_tx_v2_pb.MsgDeposit: + coin = self.coin(amount=int(amount), denom=denom) + + return injective_exchange_tx_v2_pb.MsgDeposit( + sender=sender, + subaccount_id=subaccount_id, + amount=coin, + ) + + def msg_withdraw( + self, + sender: str, + subaccount_id: str, + amount: int, + denom: str, + ) -> injective_exchange_tx_v2_pb.MsgWithdraw: + coin = self.coin(amount=int(amount), denom=denom) + + return injective_exchange_tx_v2_pb.MsgWithdraw( + sender=sender, + subaccount_id=subaccount_id, + amount=coin, + ) + + def msg_instant_spot_market_launch( + self, + sender: str, + ticker: str, + base_denom: str, + quote_denom: str, + min_price_tick_size: Decimal, + min_quantity_tick_size: Decimal, + min_notional: Decimal, + base_decimals: int, + quote_decimals: int, + ) -> injective_exchange_tx_v2_pb.MsgInstantSpotMarketLaunch: + chain_min_price_tick_size = ( + f"{Token.convert_value_to_extended_decimal_format(value=min_price_tick_size).normalize():f}" + ) + chain_min_quantity_tick_size = ( + f"{Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size).normalize():f}" + ) + chain_min_notional = f"{Token.convert_value_to_extended_decimal_format(value=min_notional).normalize():f}" + + return injective_exchange_tx_v2_pb.MsgInstantSpotMarketLaunch( + sender=sender, + ticker=ticker, + base_denom=base_denom, + quote_denom=quote_denom, + min_price_tick_size=chain_min_price_tick_size, + min_quantity_tick_size=chain_min_quantity_tick_size, + min_notional=chain_min_notional, + base_decimals=base_decimals, + quote_decimals=quote_decimals, + ) + + def msg_instant_perpetual_market_launch_v2( + self, + sender: str, + ticker: str, + quote_denom: str, + oracle_base: str, + oracle_quote: str, + oracle_scale_factor: int, + oracle_type: Union[str, int], + maker_fee_rate: Decimal, + taker_fee_rate: Decimal, + initial_margin_ratio: Decimal, + maintenance_margin_ratio: Decimal, + reduce_margin_ratio: Decimal, + min_price_tick_size: Decimal, + min_quantity_tick_size: Decimal, + min_notional: Decimal, + open_notional_cap: Optional[injective_market_v2_pb.OpenNotionalCap] = None, + cross_margin_eligible: bool = False, + ) -> injective_exchange_tx_v2_pb.MsgInstantPerpetualMarketLaunch: + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + chain_maker_fee_rate = Token.convert_value_to_extended_decimal_format(value=maker_fee_rate) + chain_taker_fee_rate = Token.convert_value_to_extended_decimal_format(value=taker_fee_rate) + chain_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=initial_margin_ratio) + chain_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format(value=maintenance_margin_ratio) + chain_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=reduce_margin_ratio) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + + return injective_exchange_tx_v2_pb.MsgInstantPerpetualMarketLaunch( + sender=sender, + ticker=ticker, + quote_denom=quote_denom, + oracle_base=oracle_base, + oracle_quote=oracle_quote, + oracle_scale_factor=oracle_scale_factor, + oracle_type=self._resolve_oracle_type(oracle_type), + maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", + taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", + initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", + maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", + reduce_margin_ratio=f"{chain_reduce_margin_ratio.normalize():f}", + min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", + min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", + min_notional=f"{chain_min_notional.normalize():f}", + open_notional_cap=open_notional_cap, + cross_margin_eligible=cross_margin_eligible, + ) + + def msg_instant_expiry_futures_market_launch_v2( + self, + sender: str, + ticker: str, + quote_denom: str, + oracle_base: str, + oracle_quote: str, + oracle_scale_factor: int, + oracle_type: Union[str, int], + expiry: int, + maker_fee_rate: Decimal, + taker_fee_rate: Decimal, + initial_margin_ratio: Decimal, + maintenance_margin_ratio: Decimal, + reduce_margin_ratio: Decimal, + min_price_tick_size: Decimal, + min_quantity_tick_size: Decimal, + min_notional: Decimal, + open_notional_cap: Optional[injective_market_v2_pb.OpenNotionalCap] = None, + cross_margin_eligible: bool = False, + ) -> injective_exchange_tx_v2_pb.MsgInstantExpiryFuturesMarketLaunch: + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + chain_maker_fee_rate = Token.convert_value_to_extended_decimal_format(value=maker_fee_rate) + chain_taker_fee_rate = Token.convert_value_to_extended_decimal_format(value=taker_fee_rate) + chain_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=initial_margin_ratio) + chain_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format(value=maintenance_margin_ratio) + chain_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=reduce_margin_ratio) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + + return injective_exchange_tx_v2_pb.MsgInstantExpiryFuturesMarketLaunch( + sender=sender, + ticker=ticker, + quote_denom=quote_denom, + oracle_base=oracle_base, + oracle_quote=oracle_quote, + oracle_scale_factor=oracle_scale_factor, + oracle_type=self._resolve_oracle_type(oracle_type), + expiry=expiry, + maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", + taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", + initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", + maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", + reduce_margin_ratio=f"{chain_reduce_margin_ratio.normalize():f}", + min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", + min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", + min_notional=f"{chain_min_notional.normalize():f}", + open_notional_cap=open_notional_cap, + cross_margin_eligible=cross_margin_eligible, + ) + + def msg_create_spot_limit_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateSpotLimitOrder: + return injective_exchange_tx_v2_pb.MsgCreateSpotLimitOrder( + sender=sender, + order=self.spot_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + expiration_block=expiration_block, + ), + ) + + def msg_batch_create_spot_limit_orders( + self, sender: str, orders: List[injective_order_v2_pb.SpotOrder] + ) -> injective_exchange_tx_v2_pb.MsgBatchCreateSpotLimitOrders: + return injective_exchange_tx_v2_pb.MsgBatchCreateSpotLimitOrders(sender=sender, orders=orders) + + def msg_create_spot_market_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateSpotMarketOrder: + return injective_exchange_tx_v2_pb.MsgCreateSpotMarketOrder( + sender=sender, + order=self.spot_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + ), + ) + + def msg_cancel_spot_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + order_hash: Optional[str] = None, + cid: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.MsgCancelSpotOrder: + return injective_exchange_tx_v2_pb.MsgCancelSpotOrder( + sender=sender, + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + cid=cid, + ) + + def msg_batch_cancel_spot_orders( + self, sender: str, orders_data: List[injective_exchange_tx_v2_pb.OrderData] + ) -> injective_exchange_tx_v2_pb.MsgBatchCancelSpotOrders: + return injective_exchange_tx_v2_pb.MsgBatchCancelSpotOrders(sender=sender, data=orders_data) + + def msg_batch_update_orders( + self, + sender: str, + subaccount_id: Optional[str] = None, + spot_market_ids_to_cancel_all: Optional[List[str]] = None, + derivative_market_ids_to_cancel_all: Optional[List[str]] = None, + spot_orders_to_cancel: Optional[List[injective_exchange_tx_v2_pb.OrderData]] = None, + derivative_orders_to_cancel: Optional[List[injective_exchange_tx_v2_pb.OrderData]] = None, + spot_orders_to_create: Optional[List[injective_order_v2_pb.SpotOrder]] = None, + derivative_orders_to_create: Optional[List[injective_order_v2_pb.DerivativeOrder]] = None, + binary_options_orders_to_cancel: Optional[List[injective_exchange_tx_v2_pb.OrderData]] = None, + binary_options_market_ids_to_cancel_all: Optional[List[str]] = None, + binary_options_orders_to_create: Optional[List[injective_order_v2_pb.DerivativeOrder]] = None, + spot_market_orders_to_create: Optional[List[injective_order_v2_pb.SpotOrder]] = None, + derivative_market_orders_to_create: Optional[List[injective_order_v2_pb.DerivativeOrder]] = None, + binary_options_market_orders_to_create: Optional[List[injective_order_v2_pb.DerivativeOrder]] = None, + ) -> injective_exchange_tx_v2_pb.MsgBatchUpdateOrders: + return injective_exchange_tx_v2_pb.MsgBatchUpdateOrders( + sender=sender, + subaccount_id=subaccount_id, + spot_market_ids_to_cancel_all=spot_market_ids_to_cancel_all, + derivative_market_ids_to_cancel_all=derivative_market_ids_to_cancel_all, + spot_orders_to_cancel=spot_orders_to_cancel, + derivative_orders_to_cancel=derivative_orders_to_cancel, + spot_orders_to_create=spot_orders_to_create, + derivative_orders_to_create=derivative_orders_to_create, + binary_options_orders_to_cancel=binary_options_orders_to_cancel, + binary_options_market_ids_to_cancel_all=binary_options_market_ids_to_cancel_all, + binary_options_orders_to_create=binary_options_orders_to_create, + spot_market_orders_to_create=spot_market_orders_to_create, + derivative_market_orders_to_create=derivative_market_orders_to_create, + binary_options_market_orders_to_create=binary_options_market_orders_to_create, + ) + + def msg_privileged_execute_contract( + self, + sender: str, + contract_address: str, + data: str, + funds: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.MsgPrivilegedExecuteContract: + return injective_exchange_tx_v2_pb.MsgPrivilegedExecuteContract( + sender=sender, + contract_address=contract_address, + data=data, + funds=funds, + ) + + def msg_create_derivative_limit_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrder: + return injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrder( + sender=sender, + order=self.derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + expiration_block=expiration_block, + ), + ) + + def msg_batch_create_derivative_limit_orders( + self, + sender: str, + orders: List[injective_order_v2_pb.DerivativeOrder], + ) -> injective_exchange_tx_v2_pb.MsgBatchCreateDerivativeLimitOrders: + return injective_exchange_tx_v2_pb.MsgBatchCreateDerivativeLimitOrders(sender=sender, orders=orders) + + def msg_create_derivative_market_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateDerivativeMarketOrder: + return injective_exchange_tx_v2_pb.MsgCreateDerivativeMarketOrder( + sender=sender, + order=self.derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + ), + ) + + def msg_cancel_derivative_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + is_buy: bool, + is_market_order: bool, + is_conditional: bool, + order_hash: Optional[str] = None, + cid: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.MsgCancelDerivativeOrder: + order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) + + return injective_exchange_tx_v2_pb.MsgCancelDerivativeOrder( + sender=sender, + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + order_mask=order_mask, + cid=cid, + ) + + def msg_batch_cancel_derivative_orders( + self, sender: str, orders_data: List[injective_exchange_tx_v2_pb.OrderData] + ) -> injective_exchange_tx_v2_pb.MsgBatchCancelDerivativeOrders: + return injective_exchange_tx_v2_pb.MsgBatchCancelDerivativeOrders(sender=sender, data=orders_data) + + def msg_instant_binary_options_market_launch( + self, + sender: str, + ticker: str, + oracle_symbol: str, + oracle_provider: str, + oracle_type: Union[str, int], + oracle_scale_factor: int, + maker_fee_rate: Decimal, + taker_fee_rate: Decimal, + expiration_timestamp: int, + settlement_timestamp: int, + admin: str, + quote_denom: str, + min_price_tick_size: Decimal, + min_quantity_tick_size: Decimal, + min_notional: Decimal, + open_notional_cap: Optional[injective_market_v2_pb.OpenNotionalCap] = None, + ) -> injective_exchange_tx_v2_pb.MsgInstantBinaryOptionsMarketLaunch: + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + chain_maker_fee_rate = Token.convert_value_to_extended_decimal_format(value=maker_fee_rate) + chain_taker_fee_rate = Token.convert_value_to_extended_decimal_format(value=taker_fee_rate) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + + return injective_exchange_tx_v2_pb.MsgInstantBinaryOptionsMarketLaunch( + sender=sender, + ticker=ticker, + oracle_symbol=oracle_symbol, + oracle_provider=oracle_provider, + oracle_type=self._resolve_oracle_type(oracle_type), + oracle_scale_factor=oracle_scale_factor, + maker_fee_rate=f"{chain_maker_fee_rate.normalize():f}", + taker_fee_rate=f"{chain_taker_fee_rate.normalize():f}", + expiration_timestamp=expiration_timestamp, + settlement_timestamp=settlement_timestamp, + admin=admin, + quote_denom=quote_denom, + min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", + min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", + min_notional=f"{chain_min_notional.normalize():f}", + open_notional_cap=open_notional_cap, + ) + + def msg_create_binary_options_limit_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrder: + return injective_exchange_tx_v2_pb.MsgCreateDerivativeLimitOrder( + sender=sender, + order=self.binary_options_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + expiration_block=expiration_block, + ), + ) + + def msg_create_binary_options_market_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: str, + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + ) -> injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsMarketOrder: + return injective_exchange_tx_v2_pb.MsgCreateBinaryOptionsMarketOrder( + sender=sender, + order=self.binary_options_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=price, + quantity=quantity, + margin=margin, + order_type=order_type, + cid=cid, + trigger_price=trigger_price, + ), + ) + + def msg_cancel_binary_options_order( + self, + market_id: str, + sender: str, + subaccount_id: str, + is_buy: bool, + is_market_order: bool, + is_conditional: bool, + order_hash: Optional[str] = None, + cid: Optional[str] = None, + ) -> injective_exchange_tx_v2_pb.MsgCancelBinaryOptionsOrder: + order_mask = self._order_mask(is_conditional=is_conditional, is_buy=is_buy, is_market_order=is_market_order) + + return injective_exchange_tx_v2_pb.MsgCancelBinaryOptionsOrder( + sender=sender, + market_id=market_id, + subaccount_id=subaccount_id, + order_hash=order_hash, + order_mask=order_mask, + cid=cid, + ) + + def msg_subaccount_transfer( + self, + sender: str, + source_subaccount_id: str, + destination_subaccount_id: str, + amount: int, + denom: str, + ) -> injective_exchange_tx_v2_pb.MsgSubaccountTransfer: + amount_coin = self.coin(amount=int(amount), denom=denom) + + return injective_exchange_tx_v2_pb.MsgSubaccountTransfer( + sender=sender, + source_subaccount_id=source_subaccount_id, + destination_subaccount_id=destination_subaccount_id, + amount=amount_coin, + ) + + def msg_external_transfer( + self, + sender: str, + source_subaccount_id: str, + destination_subaccount_id: str, + amount: int, + denom: str, + ) -> injective_exchange_tx_v2_pb.MsgExternalTransfer: + coin = self.coin(amount=int(amount), denom=denom) + + return injective_exchange_tx_v2_pb.MsgExternalTransfer( + sender=sender, + source_subaccount_id=source_subaccount_id, + destination_subaccount_id=destination_subaccount_id, + amount=coin, + ) + + def msg_liquidate_position( + self, + sender: str, + subaccount_id: str, + market_id: str, + order: Optional[injective_order_v2_pb.DerivativeOrder] = None, + ) -> injective_exchange_tx_v2_pb.MsgLiquidatePosition: + return injective_exchange_tx_v2_pb.MsgLiquidatePosition( + sender=sender, subaccount_id=subaccount_id, market_id=market_id, order=order + ) + + def liquidate_position_data( + self, + subaccount_id: str, + market_id: str, + order: Optional[injective_order_v2_pb.DerivativeOrder] = None, + ) -> injective_exchange_tx_v2_pb.LiquidatePositionData: + return injective_exchange_tx_v2_pb.LiquidatePositionData( + subaccount_id=subaccount_id, market_id=market_id, order=order + ) + + def msg_batch_liquidate_positions( + self, + sender: str, + liquidations: List[injective_exchange_tx_v2_pb.LiquidatePositionData], + ) -> injective_exchange_tx_v2_pb.MsgBatchLiquidatePositions: + return injective_exchange_tx_v2_pb.MsgBatchLiquidatePositions(sender=sender, liquidations=liquidations) + + def msg_emergency_settle_market( + self, + sender: str, + subaccount_id: str, + market_id: str, + ) -> injective_exchange_tx_v2_pb.MsgEmergencySettleMarket: + return injective_exchange_tx_v2_pb.MsgEmergencySettleMarket( + sender=sender, subaccount_id=subaccount_id, market_id=market_id + ) + + def msg_increase_position_margin( + self, + sender: str, + source_subaccount_id: str, + destination_subaccount_id: str, + market_id: str, + amount: Decimal, + ) -> injective_exchange_tx_v2_pb.MsgIncreasePositionMargin: + additional_margin = Token.convert_value_to_extended_decimal_format(value=amount) + return injective_exchange_tx_v2_pb.MsgIncreasePositionMargin( + sender=sender, + source_subaccount_id=source_subaccount_id, + destination_subaccount_id=destination_subaccount_id, + market_id=market_id, + amount=str(int(additional_margin)), + ) + + def msg_rewards_opt_out(self, sender: str) -> injective_exchange_tx_v2_pb.MsgRewardsOptOut: + return injective_exchange_tx_v2_pb.MsgRewardsOptOut(sender=sender) + + def msg_admin_update_binary_options_market( + self, + sender: str, + market_id: str, + status: str, + settlement_price: Optional[Decimal] = None, + expiration_timestamp: Optional[int] = None, + settlement_timestamp: Optional[int] = None, + ) -> injective_exchange_tx_v2_pb.MsgAdminUpdateBinaryOptionsMarket: + message = injective_exchange_tx_v2_pb.MsgAdminUpdateBinaryOptionsMarket( + sender=sender, + market_id=market_id, + expiration_timestamp=expiration_timestamp, + settlement_timestamp=settlement_timestamp, + status=status, + ) + + if settlement_price is not None: + chain_settlement_price = Token.convert_value_to_extended_decimal_format(value=settlement_price) + message.settlement_price = f"{chain_settlement_price.normalize():f}" + + return message + + def msg_decrease_position_margin( + self, + sender: str, + source_subaccount_id: str, + destination_subaccount_id: str, + market_id: str, + amount: Decimal, + ) -> injective_exchange_tx_v2_pb.MsgDecreasePositionMargin: + margin_to_remove = Token.convert_value_to_extended_decimal_format(value=amount) + return injective_exchange_tx_v2_pb.MsgDecreasePositionMargin( + sender=sender, + source_subaccount_id=source_subaccount_id, + destination_subaccount_id=destination_subaccount_id, + market_id=market_id, + amount=f"{margin_to_remove.normalize():f}", + ) + + def msg_update_spot_market( + self, + admin: str, + market_id: str, + new_ticker: str, + new_min_price_tick_size: Decimal, + new_min_quantity_tick_size: Decimal, + new_min_notional: Decimal, + ) -> injective_exchange_tx_v2_pb.MsgUpdateSpotMarket: + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=new_min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=new_min_quantity_tick_size) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=new_min_notional) + + return injective_exchange_tx_v2_pb.MsgUpdateSpotMarket( + admin=admin, + market_id=market_id, + new_ticker=new_ticker, + new_min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", + new_min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", + new_min_notional=f"{chain_min_notional.normalize():f}", + ) + + def msg_update_derivative_market( + self, + admin: str, + market_id: str, + new_ticker: str, + new_min_price_tick_size: Decimal, + new_min_quantity_tick_size: Decimal, + new_min_notional: Decimal, + new_initial_margin_ratio: Decimal, + new_maintenance_margin_ratio: Decimal, + new_reduce_margin_ratio: Decimal, + new_open_notional_cap: Optional[injective_market_v2_pb.OpenNotionalCap] = None, + cross_margin_eligibility: CROSS_MARGIN_ELIGIBILITY = CROSS_MARGIN_ELIGIBILITY.CM_ELIGIBILITY_INELIGIBLE, + ) -> injective_exchange_tx_v2_pb.MsgUpdateDerivativeMarket: + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=new_min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=new_min_quantity_tick_size) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=new_min_notional) + chain_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=new_initial_margin_ratio) + chain_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format( + value=new_maintenance_margin_ratio + ) + chain_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=new_reduce_margin_ratio) + + return injective_exchange_tx_v2_pb.MsgUpdateDerivativeMarket( + admin=admin, + market_id=market_id, + new_ticker=new_ticker, + new_min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", + new_min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", + new_min_notional=f"{chain_min_notional.normalize():f}", + new_initial_margin_ratio=f"{chain_initial_margin_ratio.normalize():f}", + new_maintenance_margin_ratio=f"{chain_maintenance_margin_ratio.normalize():f}", + new_reduce_margin_ratio=f"{chain_reduce_margin_ratio.normalize():f}", + new_open_notional_cap=new_open_notional_cap, + cross_margin_eligibility=cross_margin_eligibility, + ) + + def msg_authorize_stake_grants( + self, sender: str, grants: List[injective_exchange_v2_pb.GrantAuthorization] + ) -> injective_exchange_tx_v2_pb.MsgAuthorizeStakeGrants: + return injective_exchange_tx_v2_pb.MsgAuthorizeStakeGrants( + sender=sender, + grants=grants, + ) + + def msg_activate_stake_grant(self, sender: str, granter: str) -> injective_exchange_tx_v2_pb.MsgActivateStakeGrant: + return injective_exchange_tx_v2_pb.MsgActivateStakeGrant( + sender=sender, + granter=granter, + ) + + def msg_cancel_post_only_mode(self, sender: str) -> injective_exchange_tx_v2_pb.MsgCancelPostOnlyMode: + return injective_exchange_tx_v2_pb.MsgCancelPostOnlyMode(sender=sender) + + def msg_offset_position( + self, sender: str, subaccount_id: str, market_id: str, offsetting_subaccount_ids: List[str] + ) -> injective_exchange_tx_v2_pb.MsgOffsetPosition: + return injective_exchange_tx_v2_pb.MsgOffsetPosition( + sender=sender, + subaccount_id=subaccount_id, + market_id=market_id, + offsetting_subaccount_ids=offsetting_subaccount_ids, + ) + + def open_notional_cap(self, value: Decimal) -> injective_market_v2_pb.OpenNotionalCap: + chain_value = Token.convert_value_to_extended_decimal_format(value=value) + return injective_market_v2_pb.OpenNotionalCap( + capped=injective_market_v2_pb.OpenNotionalCapCapped( + value=f"{chain_value.normalize():f}", + ), + ) + + def uncapped_open_notional_cap(self) -> injective_market_v2_pb.OpenNotionalCap: + return injective_market_v2_pb.OpenNotionalCap(uncapped=injective_market_v2_pb.OpenNotionalCapUncapped()) + + # endregion + + # region Insurance module + def msg_create_insurance_fund( + self, + sender: str, + ticker: str, + quote_denom: str, + oracle_base: str, + oracle_quote: str, + oracle_type: Union[str, int], + expiry: int, + initial_deposit: int, + ) -> injective_insurance_tx_pb.MsgCreateInsuranceFund: + deposit = self.coin(amount=int(initial_deposit), denom=quote_denom) + + return injective_insurance_tx_pb.MsgCreateInsuranceFund( + sender=sender, + ticker=ticker, + quote_denom=quote_denom, + oracle_base=oracle_base, + oracle_quote=oracle_quote, + oracle_type=self._resolve_oracle_type(oracle_type), + expiry=expiry, + initial_deposit=deposit, + ) + + def msg_underwrite( + self, + sender: str, + market_id: str, + quote_denom: str, + amount: int, + ): + coin = self.coin(amount=int(amount), denom=quote_denom) + + return injective_insurance_tx_pb.MsgUnderwrite( + sender=sender, + market_id=market_id, + deposit=coin, + ) + + def msg_request_redemption( + self, + sender: str, + market_id: str, + share_denom: str, + amount: int, + ) -> injective_insurance_tx_pb.MsgRequestRedemption: + chain_amount = Token.convert_value_to_extended_decimal_format(value=Decimal(str(amount))) + + return injective_insurance_tx_pb.MsgRequestRedemption( + sender=sender, + market_id=market_id, + amount=self.coin(amount=int(chain_amount), denom=share_denom), + ) + + def msg_insurance_claim_voucher(self, sender: str, denom: str) -> injective_insurance_tx_pb.MsgClaimVoucher: + return injective_insurance_tx_pb.MsgClaimVoucher( + sender=sender, + denom=denom, + ) + + # endregion + + # region Oracle module + def msg_relay_provider_prices( + self, sender: str, provider: str, symbols: list, prices: list + ) -> injective_oracle_tx_pb.MsgRelayProviderPrices: + oracle_prices = [] + + for price in prices: + scale_price = Decimal(price * pow(10, 18)) + price_to_bytes = bytes(str(scale_price), "utf-8") + oracle_prices.append(price_to_bytes) + + return injective_oracle_tx_pb.MsgRelayProviderPrices( + sender=sender, provider=provider, symbols=symbols, prices=oracle_prices + ) + + def msg_relay_price_feed_price( + self, sender: list, base: list, quote: list, price: list + ) -> injective_oracle_tx_pb.MsgRelayPriceFeedPrice: + return injective_oracle_tx_pb.MsgRelayPriceFeedPrice(sender=sender, base=base, quote=quote, price=price) + + # endregion + + # region Peggy module + def msg_send_to_eth(self, denom: str, sender: str, eth_dest: str, amount: int, bridge_fee: int): + amount_coin = self.coin(amount=int(amount), denom=denom) + bridge_fee_coin = self.coin(amount=int(bridge_fee), denom=denom) + + return injective_peggy_tx_pb.MsgSendToEth( + sender=sender, + eth_dest=eth_dest, + amount=amount_coin, + bridge_fee=bridge_fee_coin, + ) + + # endregion + + # region Staking module + def msg_delegate( + self, delegator_address: str, validator_address: str, amount: float + ) -> cosmos_staking_tx_pb.MsgDelegate: + be_amount = Token.convert_value_to_extended_decimal_format(Decimal(str(amount))) + + return cosmos_staking_tx_pb.MsgDelegate( + delegator_address=delegator_address, + validator_address=validator_address, + amount=self.coin(amount=int(be_amount), denom=INJ_DENOM), + ) + + # endregion + + # region Tokenfactory module + def msg_create_denom( + self, + sender: str, + subdenom: str, + name: str, + symbol: str, + decimals: int, + allow_admin_burn: bool, + ) -> token_factory_tx_pb.MsgCreateDenom: + return token_factory_tx_pb.MsgCreateDenom( + sender=sender, + subdenom=subdenom, + name=name, + symbol=symbol, + decimals=decimals, + allow_admin_burn=allow_admin_burn, + ) + + def msg_mint( + self, + sender: str, + amount: base_coin_pb.Coin, + receiver: str, + ) -> token_factory_tx_pb.MsgMint: + return token_factory_tx_pb.MsgMint(sender=sender, amount=amount, receiver=receiver) + + def msg_burn( + self, + sender: str, + amount: base_coin_pb.Coin, + burn_from_address: str, + ) -> token_factory_tx_pb.MsgBurn: + return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount, burnFromAddress=burn_from_address) + + def msg_set_denom_metadata( + self, + sender: str, + description: str, + denom: str, + subdenom: str, + token_decimals: int, + name: str, + symbol: str, + uri: str, + uri_hash: str, + ) -> token_factory_tx_pb.MsgSetDenomMetadata: + micro_denom_unit = bank_pb.DenomUnit( + denom=denom, + exponent=0, + aliases=[f"micro{subdenom}"], + ) + denom_unit = bank_pb.DenomUnit( + denom=subdenom, + exponent=token_decimals, + aliases=[subdenom], + ) + metadata = bank_pb.Metadata( + description=description, + denom_units=[micro_denom_unit, denom_unit], + base=denom, + display=subdenom, + name=name, + symbol=symbol, + uri=uri, + uri_hash=uri_hash, + decimals=token_decimals, + ) + return token_factory_tx_pb.MsgSetDenomMetadata(sender=sender, metadata=metadata) + + def msg_change_admin( + self, + sender: str, + denom: str, + new_admin: str, + ) -> token_factory_tx_pb.MsgChangeAdmin: + return token_factory_tx_pb.MsgChangeAdmin( + sender=sender, + denom=denom, + new_admin=new_admin, + ) + + # endregion + + # region Wasm module + def msg_instantiate_contract( + self, + sender: str, + admin: str, + code_id: int, + label: str, + message: bytes, + funds: Optional[List[base_coin_pb.Coin]] = None, + ) -> wasm_tx_pb.MsgInstantiateContract: + return wasm_tx_pb.MsgInstantiateContract( + sender=sender, + admin=admin, + code_id=code_id, + label=label, + msg=message, + funds=funds, # The coins in the list must be sorted in alphabetical order by denoms. + ) + + def msg_execute_contract( + self, sender: str, contract: str, msg: str, funds: Optional[List[base_coin_pb.Coin]] = None + ): + return wasm_tx_pb.MsgExecuteContract( + sender=sender, + contract=contract, + msg=bytes(msg, "utf-8"), + funds=funds, # The coins in the list must be sorted in alphabetical order by denoms. + ) + + # endregion + + def msg_grant_typed( + self, + granter: str, + grantee: str, + msg_type: str, + expiration_time_seconds: int, + subaccount_id: str, + market_ids: Optional[List[str]] = None, + spot_markets: Optional[List[str]] = None, + derivative_markets: Optional[List[str]] = None, + ) -> cosmos_authz_tx_pb.MsgGrant: + if self._ofac_checker.is_blacklisted(granter): + raise Exception(f"Address {granter} is in the OFAC list") + + market_ids = market_ids or [] + auth = None + if msg_type == "CreateSpotLimitOrderAuthz": + auth = injective_authz_v2_pb.CreateSpotLimitOrderAuthz(subaccount_id=subaccount_id, market_ids=market_ids) + elif msg_type == "CreateSpotMarketOrderAuthz": + auth = injective_authz_v2_pb.CreateSpotMarketOrderAuthz(subaccount_id=subaccount_id, market_ids=market_ids) + elif msg_type == "BatchCreateSpotLimitOrdersAuthz": + auth = injective_authz_v2_pb.BatchCreateSpotLimitOrdersAuthz( + subaccount_id=subaccount_id, market_ids=market_ids + ) + elif msg_type == "CancelSpotOrderAuthz": + auth = injective_authz_v2_pb.CancelSpotOrderAuthz(subaccount_id=subaccount_id, market_ids=market_ids) + elif msg_type == "BatchCancelSpotOrdersAuthz": + auth = injective_authz_v2_pb.BatchCancelSpotOrdersAuthz(subaccount_id=subaccount_id, market_ids=market_ids) + elif msg_type == "CreateDerivativeLimitOrderAuthz": + auth = injective_authz_v2_pb.CreateDerivativeLimitOrderAuthz( + subaccount_id=subaccount_id, market_ids=market_ids + ) + elif msg_type == "CreateDerivativeMarketOrderAuthz": + auth = injective_authz_v2_pb.CreateDerivativeMarketOrderAuthz( + subaccount_id=subaccount_id, market_ids=market_ids + ) + elif msg_type == "BatchCreateDerivativeLimitOrdersAuthz": + auth = injective_authz_v2_pb.BatchCreateDerivativeLimitOrdersAuthz( + subaccount_id=subaccount_id, market_ids=market_ids + ) + elif msg_type == "CancelDerivativeOrderAuthz": + auth = injective_authz_v2_pb.CancelDerivativeOrderAuthz(subaccount_id=subaccount_id, market_ids=market_ids) + elif msg_type == "BatchCancelDerivativeOrdersAuthz": + auth = injective_authz_v2_pb.BatchCancelDerivativeOrdersAuthz( + subaccount_id=subaccount_id, market_ids=market_ids + ) + elif msg_type == "BatchUpdateOrdersAuthz": + spot_markets_ids = spot_markets or [] + derivative_markets_ids = derivative_markets or [] + + auth = injective_authz_v2_pb.BatchUpdateOrdersAuthz( + subaccount_id=subaccount_id, + spot_markets=spot_markets_ids, + derivative_markets=derivative_markets_ids, + ) + + any_auth = any_pb2.Any() + any_auth.Pack(auth, type_url_prefix="") + + grant = cosmos_authz_pb.Grant( + authorization=any_auth, + expiration=timestamp_pb2.Timestamp(seconds=(int(time()) + expiration_time_seconds)), + ) + + return cosmos_authz_tx_pb.MsgGrant(granter=granter, grantee=grantee, grant=grant) + + def msg_vote( + self, + proposal_id: int, + voter: str, + option: int, + ) -> cosmos_gov_tx_pb.MsgVote: + return cosmos_gov_tx_pb.MsgVote(proposal_id=proposal_id, voter=voter, option=option) + + # ------------------------------------------------ + # region Chain stream module's messages + + def chain_stream_bank_balances_filter( + self, accounts: Optional[List[str]] = None + ) -> chain_stream_v2_query.BankBalancesFilter: + accounts = accounts or ["*"] + return chain_stream_v2_query.BankBalancesFilter(accounts=accounts) + + def chain_stream_subaccount_deposits_filter( + self, + subaccount_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.SubaccountDepositsFilter: + subaccount_ids = subaccount_ids or ["*"] + return chain_stream_v2_query.SubaccountDepositsFilter(subaccount_ids=subaccount_ids) + + def chain_stream_trades_filter( + self, + subaccount_ids: Optional[List[str]] = None, + market_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.TradesFilter: + subaccount_ids = subaccount_ids or ["*"] + market_ids = market_ids or ["*"] + return chain_stream_v2_query.TradesFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) + + def chain_stream_orders_filter( + self, + subaccount_ids: Optional[List[str]] = None, + market_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.OrdersFilter: + subaccount_ids = subaccount_ids or ["*"] + market_ids = market_ids or ["*"] + return chain_stream_v2_query.OrdersFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) + + def chain_stream_orderbooks_filter( + self, + market_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.OrderbookFilter: + market_ids = market_ids or ["*"] + return chain_stream_v2_query.OrderbookFilter(market_ids=market_ids) + + def chain_stream_positions_filter( + self, + subaccount_ids: Optional[List[str]] = None, + market_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.PositionsFilter: + subaccount_ids = subaccount_ids or ["*"] + market_ids = market_ids or ["*"] + return chain_stream_v2_query.PositionsFilter(subaccount_ids=subaccount_ids, market_ids=market_ids) + + def chain_stream_oracle_price_filter( + self, + symbols: Optional[List[str]] = None, + ) -> chain_stream_v2_query.PositionsFilter: + symbols = symbols or ["*"] + return chain_stream_v2_query.OraclePriceFilter(symbol=symbols) + + def chain_stream_order_failures_filter( + self, + accounts: Optional[List[str]] = None, + ) -> chain_stream_v2_query.OrderFailuresFilter: + accounts = accounts or ["*"] + return chain_stream_v2_query.OrderFailuresFilter(accounts=accounts) + + def chain_stream_conditional_order_trigger_failures_filter( + self, + subaccount_ids: Optional[List[str]] = None, + market_ids: Optional[List[str]] = None, + ) -> chain_stream_v2_query.ConditionalOrderTriggerFailuresFilter: + subaccount_ids = subaccount_ids or ["*"] + market_ids = market_ids or ["*"] + return chain_stream_v2_query.ConditionalOrderTriggerFailuresFilter( + subaccount_ids=subaccount_ids, market_ids=market_ids + ) + + # endregion + + # ------------------------------------------------ + # region Distribution module's messages + + def msg_set_withdraw_address(self, delegator_address: str, withdraw_address: str): + return cosmos_distribution_tx_pb.MsgSetWithdrawAddress( + delegator_address=delegator_address, withdraw_address=withdraw_address + ) + + def msg_withdraw_delegator_reward(self, delegator_address: str, validator_address: str): + return cosmos_distribution_tx_pb.MsgWithdrawDelegatorReward( + delegator_address=delegator_address, validator_address=validator_address + ) + + def msg_withdraw_validator_commission(self, validator_address: str): + return cosmos_distribution_tx_pb.MsgWithdrawValidatorCommission(validator_address=validator_address) + + def msg_fund_community_pool(self, amounts: List[base_coin_pb.Coin], depositor: str): + return cosmos_distribution_tx_pb.MsgFundCommunityPool(amount=amounts, depositor=depositor) + + def msg_update_distribution_params(self, authority: str, community_tax: str, withdraw_address_enabled: bool): + params = cosmos_distribution_pb2.Params( + community_tax=community_tax, + withdraw_addr_enabled=withdraw_address_enabled, + ) + return cosmos_distribution_tx_pb.MsgUpdateParams(authority=authority, params=params) + + def msg_community_pool_spend(self, authority: str, recipient: str, amount: List[base_coin_pb.Coin]): + return cosmos_distribution_tx_pb.MsgCommunityPoolSpend(authority=authority, recipient=recipient, amount=amount) + + # endregion + + # region IBC Transfer module + def msg_ibc_transfer( + self, + source_port: str, + source_channel: str, + token_amount: base_coin_pb.Coin, + sender: str, + receiver: str, + timeout_height: Optional[int] = None, + timeout_timestamp: Optional[int] = None, + memo: Optional[str] = None, + ) -> ibc_transfer_tx_pb.MsgTransfer: + if timeout_height is None and timeout_timestamp is None: + raise ValueError("IBC Transfer error: Either timeout_height or timeout_timestamp must be provided") + parsed_timeout_height = None + if timeout_height: + parsed_timeout_height = ibc_core_client_pb.Height( + revision_number=timeout_height, revision_height=timeout_height + ) + return ibc_transfer_tx_pb.MsgTransfer( + source_port=source_port, + source_channel=source_channel, + token=token_amount, + sender=sender, + receiver=receiver, + timeout_height=parsed_timeout_height, + timeout_timestamp=timeout_timestamp, + memo=memo, + ) + + # endregion + + # region Permissions module + def permissions_role(self, name: str, role_id: int, permissions: int) -> injective_permissions_pb.Role: + return injective_permissions_pb.Role(name=name, role_id=role_id, permissions=permissions) + + def permissions_actor_roles(self, actor: str, roles: List[str]) -> injective_permissions_pb.ActorRoles: + return injective_permissions_pb.ActorRoles(actor=actor, roles=roles) + + def permissions_role_manager(self, manager: str, roles: List[str]) -> injective_permissions_pb.RoleManager: + return injective_permissions_pb.RoleManager(manager=manager, roles=roles) + + def permissions_policy_status( + self, action: int, is_disabled: bool, is_sealed: bool + ) -> injective_permissions_pb.PolicyStatus: + return injective_permissions_pb.PolicyStatus(action=action, is_disabled=is_disabled, is_sealed=is_sealed) + + def permissions_policy_manager_capability( + self, manager: str, action: int, can_disable: bool, can_seal: bool + ) -> injective_permissions_pb.PolicyManagerCapability: + return injective_permissions_pb.PolicyManagerCapability( + manager=manager, action=action, can_disable=can_disable, can_seal=can_seal + ) + + def permissions_role_actors(self, role: str, actors: List[str]) -> injective_permissions_pb.RoleActors: + return injective_permissions_pb.RoleActors(role=role, actors=actors) + + def msg_create_namespace( + self, + sender: str, + denom: str, + wasm_hook: str, + role_permissions: List[injective_permissions_pb.Role], + actor_roles: List[injective_permissions_pb.ActorRoles], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], + evm_hook: str, + ) -> injective_permissions_tx_pb.MsgCreateNamespace: + namespace = injective_permissions_pb.Namespace( + denom=denom, + wasm_hook=wasm_hook, + role_permissions=role_permissions, + actor_roles=actor_roles, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, + evm_hook=evm_hook, + ) + return injective_permissions_tx_pb.MsgCreateNamespace( + sender=sender, + namespace=namespace, + ) + + def msg_update_namespace( + self, + sender: str, + denom: str, + wasm_hook: str, + role_permissions: List[injective_permissions_pb.Role], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], + evm_hook: str, + ) -> injective_permissions_tx_pb.MsgUpdateNamespace: + wasm_hook_update = injective_permissions_tx_pb.MsgUpdateNamespace.SetContractHook(new_value=wasm_hook) + evm_hook_update = injective_permissions_tx_pb.MsgUpdateNamespace.SetContractHook(new_value=evm_hook) + + return injective_permissions_tx_pb.MsgUpdateNamespace( + sender=sender, + denom=denom, + wasm_hook=wasm_hook_update, + role_permissions=role_permissions, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, + evm_hook=evm_hook_update, + ) + + def msg_update_actor_roles( + self, + sender: str, + denom: str, + role_actors_to_add: List[injective_permissions_pb.RoleActors], + role_actors_to_revoke: List[injective_permissions_pb.RoleActors], + ) -> injective_permissions_tx_pb.MsgUpdateActorRoles: + return injective_permissions_tx_pb.MsgUpdateActorRoles( + sender=sender, + denom=denom, + role_actors_to_add=role_actors_to_add, + role_actors_to_revoke=role_actors_to_revoke, + ) + + def msg_claim_voucher( + self, + sender: str, + denom: str, + ) -> injective_permissions_tx_pb.MsgClaimVoucher: + return injective_permissions_tx_pb.MsgClaimVoucher( + sender=sender, + denom=denom, + ) + + # endregion + + # region ERC20 module + def msg_create_token_pair( + self, sender: str, bank_denom: str, erc20_address: str + ) -> injective_erc20_tx_pb.MsgCreateTokenPair: + token_pair = injective_erc20_pb2.TokenPair( + bank_denom=bank_denom, + erc20_address=erc20_address, + ) + return injective_erc20_tx_pb.MsgCreateTokenPair( + sender=sender, + token_pair=token_pair, + ) + + def msg_delete_token_pair(self, sender: str, bank_denom: str) -> injective_erc20_tx_pb.MsgDeleteTokenPair: + return injective_erc20_tx_pb.MsgDeleteTokenPair( + sender=sender, + bank_denom=bank_denom, + ) + + # endregion + + # data field format: [request-msg-header][raw-byte-msg-response] + # you need to figure out this magic prefix number to trim request-msg-header off the data + # this method handles only exchange responses + @staticmethod + def MsgResponses(response, simulation=False): + data = response.result + if not simulation: + data = bytes.fromhex(data) + + msgs = [] + for msg in data.msg_responses: + msgs.append(GRPC_RESPONSE_TYPE_TO_CLASS_MAP[msg.type_url].FromString(msg.value)) + + return msgs + + @staticmethod + def UnpackMsgExecResponse(msg_type, data): + responses = [] + dict_message = json_format.MessageToDict(message=data, always_print_fields_with_no_presence=True) + json_responses = Composer.unpack_msg_exec_response(underlying_msg_type=msg_type, msg_exec_response=dict_message) + for json_response in json_responses: + response = REQUEST_TO_RESPONSE_TYPE_MAP[msg_type]() + json_format.ParseDict(js_dict=json_response, message=response, ignore_unknown_fields=True) + responses.append(response) + return responses + + @staticmethod + def unpack_msg_exec_response(underlying_msg_type: str, msg_exec_response: Dict[str, Any]) -> List[Dict[str, Any]]: + grpc_response = cosmos_authz_tx_pb.MsgExecResponse() + json_format.ParseDict(js_dict=msg_exec_response, message=grpc_response, ignore_unknown_fields=True) + responses = [ + json_format.MessageToDict( + message=REQUEST_TO_RESPONSE_TYPE_MAP[underlying_msg_type].FromString(result), + always_print_fields_with_no_presence=True, + ) + for result in grpc_response.results + ] + + return responses + + @staticmethod + def UnpackTransactionMessages(transaction): + meta_messages = json.loads(transaction.messages.decode()) + header_map = GRPC_MESSAGE_TYPE_TO_CLASS_MAP + msgs = [] + for msg in meta_messages: + msg_as_string_dict = json.dumps(msg["value"]) + msgs.append(json_format.Parse(msg_as_string_dict, header_map[msg["type"]]())) + + return msgs + + @staticmethod + def unpack_transaction_messages(transaction_data: Dict[str, Any]) -> List[Dict[str, Any]]: + grpc_tx = explorer_pb2.TxDetailData() + json_format.ParseDict(js_dict=transaction_data, message=grpc_tx, ignore_unknown_fields=True) + meta_messages = json.loads(grpc_tx.messages.decode()) + msgs = [] + for msg in meta_messages: + msg_as_string_dict = json.dumps(msg["value"]) + grpc_message = json_format.Parse(msg_as_string_dict, GRPC_MESSAGE_TYPE_TO_CLASS_MAP[msg["type"]]()) + msgs.append( + { + "type": msg["type"], + "value": json_format.MessageToDict(message=grpc_message, always_print_fields_with_no_presence=True), + } + ) + + return msgs + + def _order_mask(self, is_conditional: bool, is_buy: bool, is_market_order: bool) -> int: + order_mask = 0 + + if is_conditional: + order_mask += injective_order_v2_pb.OrderMask.CONDITIONAL + else: + order_mask += injective_order_v2_pb.OrderMask.REGULAR + + if is_buy: + order_mask += injective_order_v2_pb.OrderMask.DIRECTION_BUY_OR_HIGHER + else: + order_mask += injective_order_v2_pb.OrderMask.DIRECTION_SELL_OR_LOWER + + if is_market_order: + order_mask += injective_order_v2_pb.OrderMask.TYPE_MARKET + else: + order_mask += injective_order_v2_pb.OrderMask.TYPE_LIMIT + + if order_mask == 0: + order_mask = 1 + + return order_mask + + def _basic_derivative_order( + self, + market_id: str, + subaccount_id: str, + fee_recipient: str, + price: Decimal, + quantity: Decimal, + margin: Decimal, + order_type: Union[str, int], + cid: Optional[str] = None, + trigger_price: Optional[Decimal] = None, + expiration_block: Optional[int] = None, + ) -> injective_order_v2_pb.DerivativeOrder: + trigger_price = trigger_price or Decimal(0) + expiration_height = expiration_block or 0 + + chain_quantity = f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}" + chain_price = f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}" + chain_margin = f"{Token.convert_value_to_extended_decimal_format(value=margin).normalize():f}" + chain_trigger_price = f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}" + chain_order_type = self._resolve_order_type(order_type) + + return injective_order_v2_pb.DerivativeOrder( + market_id=market_id, + order_info=injective_order_v2_pb.OrderInfo( + subaccount_id=subaccount_id, + fee_recipient=fee_recipient, + price=chain_price, + quantity=chain_quantity, + cid=cid, + ), + order_type=chain_order_type, + margin=chain_margin, + trigger_price=chain_trigger_price, + expiration_block=expiration_height, + ) diff --git a/pyinjective/constant.py b/pyinjective/constant.py index 07916429..3ebc11ba 100644 --- a/pyinjective/constant.py +++ b/pyinjective/constant.py @@ -1,5 +1,5 @@ GAS_PRICE = 160_000_000 -GAS_FEE_BUFFER_AMOUNT = 25_000 +GAS_FEE_BUFFER_AMOUNT = 30_000 MAX_MEMO_CHARACTERS = 256 ADDITIONAL_CHAIN_FORMAT_DECIMALS = 18 TICKER_TOKENS_SEPARATOR = "/" diff --git a/pyinjective/core/broadcaster.py b/pyinjective/core/broadcaster.py index 778bc4c9..5bdd61bb 100644 --- a/pyinjective/core/broadcaster.py +++ b/pyinjective/core/broadcaster.py @@ -1,15 +1,16 @@ import math from abc import ABC, abstractmethod from decimal import Decimal -from typing import List, Optional +from typing import List, Optional, Type from google.protobuf import any_pb2 from grpc import RpcError from pyinjective import PrivateKey, PublicKey, Transaction -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.composer_v2 import Composer from pyinjective.constant import GAS_PRICE +from pyinjective.core.gas_heuristics_gas_limit_estimator import GasHeuristicsGasLimitEstimator from pyinjective.core.gas_limit_estimator import GasLimitEstimator from pyinjective.core.network import Network from pyinjective.ofac import OfacChecker @@ -48,6 +49,15 @@ async def configure_gas_fee_for_transaction( ): ... + @abstractmethod + def update_gas_price(self, gas_price: int): + """Updates the gas price used for transaction fee calculation. + + Args: + gas_price (int): The new gas price value in chain format (e.g. 500000000000000000 for 0.5 INJ) + """ + ... + class MsgBroadcasterWithPk: def __init__( @@ -55,13 +65,11 @@ def __init__( network: Network, account_config: BroadcasterAccountConfig, client: AsyncClient, - composer: Composer, fee_calculator: TransactionFeeCalculator, ): self._network = network self._account_config = account_config self._client = client - self._composer = composer self._fee_calculator = fee_calculator self._ofac_checker = OfacChecker() @@ -73,18 +81,31 @@ def new_using_simulation( cls, network: Network, private_key: str, + gas_price: Optional[int] = None, client: Optional[AsyncClient] = None, composer: Optional[Composer] = None, ): + """Creates a new broadcaster instance that uses transaction simulation for gas estimation. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + private_key (str): The private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using simulation-based fee calculation + """ client = client or AsyncClient(network=network) composer = composer or Composer(network=client.network.string()) account_config = StandardAccountBroadcasterConfig(private_key=private_key) - fee_calculator = SimulatedTransactionFeeCalculator(client=client, composer=composer) + fee_calculator = SimulatedTransactionFeeCalculator(client=client, composer=composer, gas_price=gas_price) instance = cls( network=network, account_config=account_config, client=client, - composer=composer, fee_calculator=fee_calculator, ) return instance @@ -94,18 +115,100 @@ def new_without_simulation( cls, network: Network, private_key: str, + gas_price: Optional[int] = None, + client: Optional[AsyncClient] = None, + ): + """Creates a new broadcaster instance that uses message-based gas estimation without simulation. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + private_key (str): The private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation + """ + return cls.new_using_gas_heuristics( + network=network, + private_key=private_key, + gas_price=gas_price, + client=client, + ) + + @classmethod + def new_using_gas_heuristics( + cls, + network: Network, + private_key: str, + gas_price: Optional[int] = None, client: Optional[AsyncClient] = None, composer: Optional[Composer] = None, ): + """Creates a new broadcaster instance that uses gas heuristics for gas calculation + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + private_key (str): The private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation + """ client = client or AsyncClient(network=network) composer = composer or Composer(network=client.network.string()) account_config = StandardAccountBroadcasterConfig(private_key=private_key) - fee_calculator = MessageBasedTransactionFeeCalculator(client=client, composer=composer) + fee_calculator = MessageBasedTransactionFeeCalculator.new_using_gas_heuristics( + client=client, + composer=composer, + gas_price=gas_price, + ) instance = cls( network=network, account_config=account_config, + client=client, + fee_calculator=fee_calculator, + ) + return instance + + @classmethod + def new_using_estimate_gas( + cls, + network: Network, + private_key: str, + gas_price: Optional[int] = None, + client: Optional[AsyncClient] = None, + composer: Optional[Composer] = None, + ): + """Creates a new broadcaster instance that uses message-based gas estimation without simulation. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + private_key (str): The private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation + """ + client = client or AsyncClient(network=network) + composer = composer or Composer(network=client.network.string()) + account_config = StandardAccountBroadcasterConfig(private_key=private_key) + fee_calculator = MessageBasedTransactionFeeCalculator.new_using_gas_estimation( client=client, composer=composer, + gas_price=gas_price, + ) + instance = cls( + network=network, + account_config=account_config, + client=client, fee_calculator=fee_calculator, ) return instance @@ -115,18 +218,32 @@ def new_for_grantee_account_using_simulation( cls, network: Network, grantee_private_key: str, + gas_price: Optional[int] = None, client: Optional[AsyncClient] = None, composer: Optional[Composer] = None, ): + """Creates a new broadcaster instance for a grantee account that uses transaction simulation for gas estimation. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + grantee_private_key (str): The grantee's private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using simulation-based fee calculation for a grantee + account + """ client = client or AsyncClient(network=network) composer = composer or Composer(network=client.network.string()) account_config = GranteeAccountBroadcasterConfig(grantee_private_key=grantee_private_key, composer=composer) - fee_calculator = SimulatedTransactionFeeCalculator(client=client, composer=composer) + fee_calculator = SimulatedTransactionFeeCalculator(client=client, composer=composer, gas_price=gas_price) instance = cls( network=network, account_config=account_config, client=client, - composer=composer, fee_calculator=fee_calculator, ) return instance @@ -136,18 +253,107 @@ def new_for_grantee_account_without_simulation( cls, network: Network, grantee_private_key: str, + gas_price: Optional[int] = None, client: Optional[AsyncClient] = None, composer: Optional[Composer] = None, ): + """Creates a new broadcaster instance for a grantee account that uses gas estimator using gas heuristics. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + grantee_private_key (str): The grantee's private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation for a grantee + account + """ + return cls.new_for_grantee_account_using_gas_heuristics( + network=network, + grantee_private_key=grantee_private_key, + gas_price=gas_price, + client=client, + composer=composer, + ) + + @classmethod + def new_for_grantee_account_using_gas_heuristics( + cls, + network: Network, + grantee_private_key: str, + gas_price: Optional[int] = None, + client: Optional[AsyncClient] = None, + composer: Optional[Composer] = None, + ): + """Creates a new broadcaster instance for a grantee account that uses gas heuristics. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + grantee_private_key (str): The grantee's private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation for a grantee + account + """ client = client or AsyncClient(network=network) composer = composer or Composer(network=client.network.string()) account_config = GranteeAccountBroadcasterConfig(grantee_private_key=grantee_private_key, composer=composer) - fee_calculator = MessageBasedTransactionFeeCalculator(client=client, composer=composer) + fee_calculator = MessageBasedTransactionFeeCalculator.new_using_gas_heuristics( + client=client, + composer=composer, + gas_price=gas_price, + ) instance = cls( network=network, account_config=account_config, + client=client, + fee_calculator=fee_calculator, + ) + return instance + + @classmethod + def new_for_grantee_account_using_estimated_gas( + cls, + network: Network, + grantee_private_key: str, + gas_price: Optional[int] = None, + client: Optional[AsyncClient] = None, + composer: Optional[Composer] = None, + ): + """Creates a new broadcaster instance for a grantee account that uses message-based gas estimation without + simulation. + + Args: + network (Network): The network configuration to use (mainnet, testnet, etc.) + grantee_private_key (str): The grantee's private key in hex format for signing transactions + gas_price (Optional[int]): Custom gas price in chain format (e.g. 500000000000000000 for 0.5 INJ). + Defaults to None + client (Optional[AsyncClient]): Custom AsyncClient instance. Defaults to None + composer (Optional[Composer]): Custom Composer instance. Defaults to None + + Returns: + MsgBroadcasterWithPk: A configured broadcaster instance using message-based fee calculation for a grantee + account + """ + client = client or AsyncClient(network=network) + composer = composer or Composer(network=client.network.string()) + account_config = GranteeAccountBroadcasterConfig(grantee_private_key=grantee_private_key, composer=composer) + fee_calculator = MessageBasedTransactionFeeCalculator.new_using_gas_estimation( client=client, composer=composer, + gas_price=gas_price, + ) + instance = cls( + network=network, + account_config=account_config, + client=client, fee_calculator=fee_calculator, ) return instance @@ -185,6 +391,14 @@ async def broadcast(self, messages: List[any_pb2.Any]): return transaction_result + def update_gas_price(self, gas_price: int): + """Updates the gas price used for transaction fee calculation. + + Args: + gas_price (int): The new gas price value in chain format (e.g. 500000000 for 0.5 INJ) + """ + self._fee_calculator.update_gas_price(gas_price=gas_price) + class StandardAccountBroadcasterConfig(BroadcasterAccountConfig): def __init__(self, private_key: str): @@ -229,7 +443,7 @@ def trading_public_key(self) -> PublicKey: return self._grantee_public_key def messages_prepared_for_transaction(self, messages: List[any_pb2.Any]) -> List[any_pb2.Any]: - exec_message = self._composer.MsgExec( + exec_message = self._composer.msg_exec( grantee=self.trading_injective_address, msgs=messages, ) @@ -278,14 +492,39 @@ async def configure_gas_fee_for_transaction( transaction.with_gas(gas=gas_limit) transaction.with_fee(fee=fee) + def update_gas_price(self, gas_price: int): + """Updates the gas price used for transaction fee calculation. + + Args: + gas_price (int): The new gas price value in chain format (e.g. 500000000 for 0.5 INJ) + """ + self._gas_price = gas_price + class MessageBasedTransactionFeeCalculator(TransactionFeeCalculator): - TRANSACTION_GAS_LIMIT = 60_000 + TRANSACTION_ANTE_GAS_LIMIT = 105_000 - def __init__(self, client: AsyncClient, composer: Composer, gas_price: Optional[int] = None): + def __init__( + self, + client: AsyncClient, + composer: Composer, + gas_price: Optional[int] = None, + estimator_class: Optional[Type] = None, + ): self._client = client self._composer = composer self._gas_price = gas_price or self.DEFAULT_GAS_PRICE + self._estimator_class = estimator_class or GasLimitEstimator + + @classmethod + def new_using_gas_heuristics(cls, client: AsyncClient, composer: Composer, gas_price: Optional[int] = None): + return cls( + client=client, composer=composer, gas_price=gas_price, estimator_class=GasHeuristicsGasLimitEstimator + ) + + @classmethod + def new_using_gas_estimation(cls, client: AsyncClient, composer: Composer, gas_price: Optional[int] = None): + return cls(client=client, composer=composer, gas_price=gas_price, estimator_class=GasLimitEstimator) async def configure_gas_fee_for_transaction( self, @@ -294,7 +533,7 @@ async def configure_gas_fee_for_transaction( public_key: PublicKey, ): messages_gas_limit = math.ceil(self._calculate_gas_limit(messages=transaction.msgs)) - transaction_gas_limit = messages_gas_limit + self.TRANSACTION_GAS_LIMIT + transaction_gas_limit = messages_gas_limit + self.TRANSACTION_ANTE_GAS_LIMIT fee = [ self._composer.coin( @@ -317,7 +556,15 @@ def _calculate_gas_limit(self, messages: List[any_pb2.Any]) -> int: total_gas_limit = Decimal("0") for message in messages: - estimator = GasLimitEstimator.for_message(message=message) + estimator = self._estimator_class.for_message(message=message) total_gas_limit += estimator.gas_limit() return math.ceil(total_gas_limit) + + def update_gas_price(self, gas_price: int): + """Updates the gas price used for transaction fee calculation. + + Args: + gas_price (int): The new gas price value in chain format (e.g. 500000000 for 0.5 INJ) + """ + self._gas_price = gas_price diff --git a/pyinjective/core/gas_heuristics_gas_limit_estimator.py b/pyinjective/core/gas_heuristics_gas_limit_estimator.py new file mode 100644 index 00000000..22c00efe --- /dev/null +++ b/pyinjective/core/gas_heuristics_gas_limit_estimator.py @@ -0,0 +1,505 @@ +import math +from abc import ABC, abstractmethod +from decimal import Decimal +from typing import Union + +from google.protobuf import any_pb2 + +from pyinjective.core.gas_limit_estimator import GasLimitEstimator +from pyinjective.proto.cosmos.authz.v1beta1 import tx_pb2 as cosmos_authz_tx_pb +from pyinjective.proto.injective.exchange.v2 import ( + order_pb2 as injective_order_v2_pb, + tx_pb2 as injective_exchange_tx_pb, +) + +SPOT_ORDER_CREATION_GAS_LIMIT = 100_000 +SPOT_MARKET_ORDER_CREATION_GAS_LIMIT = 50_000 +POST_ONLY_SPOT_ORDER_CREATION_GAS_LIMIT = 120_000 +DERIVATIVE_ORDER_CREATION_GAS_LIMIT = 120_000 +DERIVATIVE_MARKET_ORDER_CREATION_GAS_LIMIT = 105_000 +POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT = 140_000 +BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT = DERIVATIVE_ORDER_CREATION_GAS_LIMIT +BINARY_OPTIONS_MARKET_ORDER_CREATION_GAS_LIMIT = DERIVATIVE_MARKET_ORDER_CREATION_GAS_LIMIT +POST_ONLY_BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT = POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT +SPOT_ORDER_CANCELATION_GAS_LIMIT = 65_000 +DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT = 70_000 +BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT = DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + +GTB_ORDERS_GAS_MULTIPLIER = "1.1" + +DEPOSIT_GAS_LIMIT = 38_000 +WITHDRAW_GAS_LIMIT = 35_000 +SUBACCOUNT_TRANSFER_GAS_LIMIT = 15_000 +EXTERNAL_TRANSFER_GAS_LIMIT = 40_000 +INCREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT = 51_000 +DECREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT = 60_000 + + +class GasHeuristicsGasLimitEstimator(ABC): + GENERAL_MESSAGE_GAS_LIMIT = 25_000 + BASIC_REFERENCE_GAS_LIMIT = 150_000 + + @classmethod + @abstractmethod + def applies_to(cls, message: any_pb2.Any) -> bool: + ... + + @classmethod + def for_message(cls, message: any_pb2.Any): + estimator_class = next( + ( + estimator_subclass + for estimator_subclass in cls.__subclasses__() + if estimator_subclass.applies_to(message=message) + ), + None, + ) + if estimator_class is None: + estimator = GasLimitEstimator.for_message(message=message) + else: + estimator = estimator_class(message=message) + + return estimator + + @abstractmethod + def gas_limit(self) -> int: + ... + + @staticmethod + def message_type(message: any_pb2.Any) -> str: + if isinstance(message, any_pb2.Any): + message_type = message.type_url + else: + message_type = message.DESCRIPTOR.full_name + return message_type + + @abstractmethod + def _message_class(self, message: any_pb2.Any): + ... + + def _parsed_message(self, message: any_pb2.Any) -> any_pb2.Any: + if isinstance(message, any_pb2.Any): + parsed_message = self._message_class(message=message).FromString(message.value) + else: + parsed_message = message + return parsed_message + + @staticmethod + def is_post_only_order( + order: Union[injective_order_v2_pb.SpotOrder, injective_order_v2_pb.DerivativeOrder], + ) -> bool: + return order.order_type in [injective_order_v2_pb.OrderType.BUY_PO, injective_order_v2_pb.OrderType.SELL_PO] + + +class CreateSpotLimitOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateSpotLimitOrder") + + @staticmethod + def gas_cost_for_order(order: injective_order_v2_pb.SpotOrder) -> int: + if GasHeuristicsGasLimitEstimator.is_post_only_order(order): + gas_cost = POST_ONLY_SPOT_ORDER_CREATION_GAS_LIMIT + else: + gas_cost = SPOT_ORDER_CREATION_GAS_LIMIT + + if order.expiration_block > 0: + gas_cost = math.ceil(Decimal(gas_cost) * Decimal(GTB_ORDERS_GAS_MULTIPLIER)) + + return gas_cost + + def gas_limit(self) -> int: + return self.gas_cost_for_order(self._message.order) + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateSpotLimitOrder + + +class CreateSpotMarketOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateSpotMarketOrder") + + def gas_limit(self) -> int: + return SPOT_MARKET_ORDER_CREATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateSpotMarketOrder + + +class CancelSpotOrderGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCancelSpotOrder") + + def gas_limit(self) -> int: + return SPOT_ORDER_CANCELATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCancelSpotOrder + + +class CreateDerivativeLimitOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateDerivativeLimitOrder") + + @staticmethod + def gas_cost_for_order(order: injective_order_v2_pb.DerivativeOrder) -> int: + if GasHeuristicsGasLimitEstimator.is_post_only_order(order=order): + gas_cost = POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT + else: + gas_cost = DERIVATIVE_ORDER_CREATION_GAS_LIMIT + + if order.expiration_block > 0: + gas_cost = math.ceil(Decimal(gas_cost) * Decimal(GTB_ORDERS_GAS_MULTIPLIER)) + + return gas_cost + + def gas_limit(self) -> int: + return self.gas_cost_for_order(self._message.order) + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateDerivativeLimitOrder + + +class CreateDerivativeMarketOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateDerivativeMarketOrder") + + def gas_limit(self) -> int: + return DERIVATIVE_MARKET_ORDER_CREATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateDerivativeMarketOrder + + +class CancelDerivativeOrderGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCancelDerivativeOrder") + + def gas_limit(self) -> int: + return DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCancelDerivativeOrder + + +class CreateBinaryOptionsLimitOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateBinaryOptionsLimitOrder") + + @staticmethod + def gas_cost_for_order(order: injective_order_v2_pb.DerivativeOrder) -> int: + if GasHeuristicsGasLimitEstimator.is_post_only_order(order=order): + gas_cost = POST_ONLY_BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT + else: + gas_cost = BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT + + if order.expiration_block > 0: + gas_cost = math.ceil(Decimal(gas_cost) * Decimal(GTB_ORDERS_GAS_MULTIPLIER)) + + return gas_cost + + def gas_limit(self) -> int: + return self.gas_cost_for_order(self._message.order) + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateBinaryOptionsLimitOrder + + +class CreateBinaryOptionsMarketOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCreateBinaryOptionsMarketOrder") + + def gas_limit(self) -> int: + return BINARY_OPTIONS_MARKET_ORDER_CREATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCreateBinaryOptionsMarketOrder + + +class CancelBinaryOptionsOrderGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgCancelBinaryOptionsOrder") + + def gas_limit(self) -> int: + return BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgCancelBinaryOptionsOrder + + +class BatchCreateSpotLimitOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgBatchCreateSpotLimitOrders") + + def gas_limit(self) -> int: + total = 0 + + for order in self._message.orders: + total += CreateSpotLimitOrdersGasLimitEstimator.gas_cost_for_order(order) + + return total + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgBatchCreateSpotLimitOrders + + +class BatchCancelSpotOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgBatchCancelSpotOrders") + + def gas_limit(self) -> int: + total = 0 + total += len(self._message.data) * SPOT_ORDER_CANCELATION_GAS_LIMIT + + return total + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgBatchCancelSpotOrders + + +class BatchCreateDerivativeLimitOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgBatchCreateDerivativeLimitOrders") + + def gas_limit(self) -> int: + total = 0 + + for order in self._message.orders: + total += CreateDerivativeLimitOrdersGasLimitEstimator.gas_cost_for_order(order) + + return total + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgBatchCreateDerivativeLimitOrders + + +class BatchCancelDerivativeOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgBatchCancelDerivativeOrders") + + def gas_limit(self) -> int: + total = 0 + total += len(self._message.data) * DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + + return total + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgBatchCancelDerivativeOrders + + +class BatchUpdateOrdersGasLimitEstimator(GasHeuristicsGasLimitEstimator): + AVERAGE_CANCEL_ALL_AFFECTED_ORDERS = 20 + + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + return cls.message_type(message=message).endswith("MsgBatchUpdateOrders") + + def gas_limit(self) -> int: + total = 0 + + for order in self._message.spot_orders_to_create: + total += CreateSpotLimitOrdersGasLimitEstimator.gas_cost_for_order(order) + for order in self._message.derivative_orders_to_create: + total += CreateDerivativeLimitOrdersGasLimitEstimator.gas_cost_for_order(order) + for order in self._message.binary_options_orders_to_create: + total += CreateBinaryOptionsLimitOrdersGasLimitEstimator.gas_cost_for_order(order) + + total += len(self._message.spot_orders_to_cancel) * SPOT_ORDER_CANCELATION_GAS_LIMIT + total += len(self._message.derivative_orders_to_cancel) * DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + total += len(self._message.binary_options_orders_to_cancel) * BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + + total += ( + len(self._message.spot_market_ids_to_cancel_all) + * SPOT_ORDER_CANCELATION_GAS_LIMIT + * self.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS + ) + total += ( + len(self._message.derivative_market_ids_to_cancel_all) + * DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + * self.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS + ) + total += ( + len(self._message.binary_options_market_ids_to_cancel_all) + * BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + * self.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS + ) + + return total + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgBatchUpdateOrders + + +class DepositGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgDeposit") + + def gas_limit(self) -> int: + return DEPOSIT_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgDeposit + + +class WithdrawGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgWithdraw") + + def gas_limit(self) -> int: + return WITHDRAW_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgWithdraw + + +class SubaccountTransferGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgSubaccountTransfer") + + def gas_limit(self) -> int: + return SUBACCOUNT_TRANSFER_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgSubaccountTransfer + + +class ExternalTransferGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgExternalTransfer") + + def gas_limit(self) -> int: + return EXTERNAL_TRANSFER_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgExternalTransfer + + +class IncreasePositionMarginGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgIncreasePositionMargin") + + def gas_limit(self) -> int: + return INCREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgIncreasePositionMargin + + +class DecreasePositionMarginGasLimitEstimator(GasHeuristicsGasLimitEstimator): + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any): + message_type = cls.message_type(message=message) + return ".exchange." in message_type and message_type.endswith("MsgDecreasePositionMargin") + + def gas_limit(self) -> int: + return DECREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT + + def _message_class(self, message: any_pb2.Any): + return injective_exchange_tx_pb.MsgDecreasePositionMargin + + +class ExecGasLimitEstimator(GasHeuristicsGasLimitEstimator): + DEFAULT_GAS_LIMIT = 20_000 + + def __init__(self, message: any_pb2.Any): + self._message = self._parsed_message(message=message) + + @classmethod + def applies_to(cls, message: any_pb2.Any) -> bool: + return cls.message_type(message=message).endswith("MsgExec") + + def gas_limit(self) -> int: + total = sum( + [ + GasHeuristicsGasLimitEstimator.for_message(message=inner_message).gas_limit() + for inner_message in self._message.msgs + ] + ) + total += self.DEFAULT_GAS_LIMIT + + return total + + def _message_class(self, message: any_pb2.Any): + return cosmos_authz_tx_pb.MsgExec diff --git a/pyinjective/core/gas_limit_estimator.py b/pyinjective/core/gas_limit_estimator.py index 335af501..f22822a8 100644 --- a/pyinjective/core/gas_limit_estimator.py +++ b/pyinjective/core/gas_limit_estimator.py @@ -7,8 +7,8 @@ from pyinjective.proto.cosmos.authz.v1beta1 import tx_pb2 as cosmos_authz_tx_pb from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as gov_tx_pb from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb -from pyinjective.proto.injective.exchange.v1beta1 import ( - exchange_pb2 as injective_exchange_pb, +from pyinjective.proto.injective.exchange.v2 import ( + order_pb2 as injective_order_v2_pb, tx_pb2 as injective_exchange_tx_pb, ) @@ -72,12 +72,12 @@ def _parsed_message(self, message: any_pb2.Any) -> any_pb2.Any: def _select_post_only_orders( self, - orders: List[Union[injective_exchange_pb.SpotOrder, injective_exchange_pb.DerivativeOrder]], - ) -> List[Union[injective_exchange_pb.SpotOrder, injective_exchange_pb.DerivativeOrder]]: + orders: List[Union[injective_order_v2_pb.SpotOrder, injective_order_v2_pb.DerivativeOrder]], + ) -> List[Union[injective_order_v2_pb.SpotOrder, injective_order_v2_pb.DerivativeOrder]]: return [ order for order in orders - if order.order_type in [injective_exchange_pb.OrderType.BUY_PO, injective_exchange_pb.OrderType.SELL_PO] + if order.order_type in [injective_order_v2_pb.OrderType.BUY_PO, injective_order_v2_pb.OrderType.SELL_PO] ] diff --git a/pyinjective/core/market.py b/pyinjective/core/market_v2.py similarity index 79% rename from pyinjective/core/market.py rename to pyinjective/core/market_v2.py index 3824232f..022bb7ef 100644 --- a/pyinjective/core/market.py +++ b/pyinjective/core/market_v2.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from decimal import Decimal +from decimal import ROUND_UP, Decimal from typing import Optional from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS @@ -22,24 +22,25 @@ class SpotMarket: min_notional: Decimal def quantity_to_chain_format(self, human_readable_value: Decimal) -> Decimal: - chain_formatted_value = human_readable_value * Decimal(f"1e{self.base_token.decimals}") - quantized_value = chain_formatted_value // self.min_quantity_tick_size * self.min_quantity_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = human_readable_value // self.min_quantity_tick_size * self.min_quantity_tick_size + chain_formatted_value = quantized_value * Decimal(f"1e{self.base_token.decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value def price_to_chain_format(self, human_readable_value: Decimal) -> Decimal: + quantized_value = (human_readable_value // self.min_price_tick_size) * self.min_price_tick_size decimals = self.quote_token.decimals - self.base_token.decimals - chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - quantized_value = (chain_formatted_value // self.min_price_tick_size) * self.min_price_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + chain_formatted_value = quantized_value * Decimal(f"1e{decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value def notional_to_chain_format(self, human_readable_value: Decimal) -> Decimal: decimals = self.quote_token.decimals chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_balue = chain_formatted_value.quantize(Decimal("1"), rounding=ROUND_UP) + extended_chain_formatted_value = quantized_balue * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value @@ -87,17 +88,17 @@ class DerivativeMarket: def quantity_to_chain_format(self, human_readable_value: Decimal) -> Decimal: # Derivative markets do not have a base market to provide the number of decimals - chain_formatted_value = human_readable_value - quantized_value = chain_formatted_value // self.min_quantity_tick_size * self.min_quantity_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = human_readable_value // self.min_quantity_tick_size * self.min_quantity_tick_size + chain_formatted_value = quantized_value + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value def price_to_chain_format(self, human_readable_value: Decimal) -> Decimal: + quantized_value = (human_readable_value // self.min_price_tick_size) * self.min_price_tick_size decimals = self.quote_token.decimals - chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - quantized_value = (chain_formatted_value // self.min_price_tick_size) * self.min_price_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + chain_formatted_value = quantized_value * Decimal(f"1e{decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value @@ -107,20 +108,18 @@ def margin_to_chain_format(self, human_readable_value: Decimal) -> Decimal: def calculate_margin_in_chain_format( self, human_readable_quantity: Decimal, human_readable_price: Decimal, leverage: Decimal ) -> Decimal: - chain_formatted_quantity = human_readable_quantity - chain_formatted_price = human_readable_price * Decimal(f"1e{self.quote_token.decimals}") - margin = (chain_formatted_price * chain_formatted_quantity) / leverage + margin = (human_readable_price * human_readable_quantity) / leverage # We are using the min_quantity_tick_size to quantize the margin because that is the way margin is validated # in the chain (it might be changed to a min_notional in the future) quantized_margin = (margin // self.min_quantity_tick_size) * self.min_quantity_tick_size - extended_chain_formatted_margin = quantized_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - return extended_chain_formatted_margin + return self.notional_to_chain_format(human_readable_value=quantized_margin) def notional_to_chain_format(self, human_readable_value: Decimal) -> Decimal: decimals = self.quote_token.decimals chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_notional = chain_formatted_value.quantize(Decimal("1"), rounding=ROUND_UP) + extended_chain_formatted_value = quantized_notional * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value @@ -178,18 +177,18 @@ def quantity_to_chain_format(self, human_readable_value: Decimal, special_denom: min_quantity_tick_size = ( self.min_quantity_tick_size if special_denom is None else special_denom.min_quantity_tick_size ) - chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - quantized_value = chain_formatted_value // min_quantity_tick_size * min_quantity_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = human_readable_value // min_quantity_tick_size * min_quantity_tick_size + chain_formatted_value = quantized_value * Decimal(f"1e{decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value def price_to_chain_format(self, human_readable_value: Decimal, special_denom: Optional[Denom] = None) -> Decimal: decimals = self.quote_token.decimals if special_denom is None else special_denom.quote min_price_tick_size = self.min_price_tick_size if special_denom is None else special_denom.min_price_tick_size - chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - quantized_value = (chain_formatted_value // min_price_tick_size) * min_price_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = (human_readable_value // min_price_tick_size) * min_price_tick_size + chain_formatted_value = quantized_value * Decimal(f"1e{decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value @@ -198,9 +197,9 @@ def margin_to_chain_format(self, human_readable_value: Decimal, special_denom: O min_quantity_tick_size = ( self.min_quantity_tick_size if special_denom is None else special_denom.min_quantity_tick_size ) - chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - quantized_value = (chain_formatted_value // min_quantity_tick_size) * min_quantity_tick_size - extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = (human_readable_value // min_quantity_tick_size) * min_quantity_tick_size + chain_formatted_value = quantized_value * Decimal(f"1e{decimals}") + extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value @@ -211,26 +210,25 @@ def calculate_margin_in_chain_format( is_buy: bool, special_denom: Optional[Denom] = None, ) -> Decimal: - quantity_decimals = 0 if special_denom is None else special_denom.base - price_decimals = self.quote_token.decimals if special_denom is None else special_denom.quote + quote_decimals = self.quote_token.decimals if special_denom is None else special_denom.quote min_quantity_tick_size = ( self.min_quantity_tick_size if special_denom is None else special_denom.min_quantity_tick_size ) price = human_readable_price if is_buy else 1 - human_readable_price - chain_formatted_quantity = human_readable_quantity * Decimal(f"1e{quantity_decimals}") - chain_formatted_price = price * Decimal(f"1e{price_decimals}") - margin = chain_formatted_price * chain_formatted_quantity + margin = price * human_readable_quantity # We are using the min_quantity_tick_size to quantize the margin because that is the way margin is validated # in the chain (it might be changed to a min_notional in the future) quantized_margin = (margin // min_quantity_tick_size) * min_quantity_tick_size - extended_chain_formatted_margin = quantized_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + chain_formatted_margin = quantized_margin * Decimal(f"1e{quote_decimals}") + extended_chain_formatted_margin = chain_formatted_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_margin def notional_to_chain_format(self, human_readable_value: Decimal) -> Decimal: decimals = self.quote_token.decimals chain_formatted_value = human_readable_value * Decimal(f"1e{decimals}") - extended_chain_formatted_value = chain_formatted_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + quantized_value = chain_formatted_value.quantize(Decimal("1"), rounding=ROUND_UP) + extended_chain_formatted_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") return extended_chain_formatted_value diff --git a/pyinjective/core/network.py b/pyinjective/core/network.py index 2fdf91fe..f7e89764 100644 --- a/pyinjective/core/network.py +++ b/pyinjective/core/network.py @@ -2,7 +2,6 @@ from abc import ABC, abstractmethod from http.cookies import SimpleCookie from typing import List, Optional -from warnings import warn import grpc from grpc import ChannelCredentials @@ -90,7 +89,11 @@ def _is_cookie_expired(self) -> bool: expiration_data: Optional[str] = cookie_map.get(self._expiration_time_keys_sequence[-1], None) if expiration_data is not None: expiration_time = datetime.datetime.strptime(expiration_data, self._time_format) - is_expired = datetime.datetime.utcnow() >= expiration_time + if expiration_time.tzinfo is None: + expiration_time = expiration_time.replace(tzinfo=datetime.timezone.utc) + is_expired = datetime.datetime.now(datetime.timezone.utc) >= expiration_time.astimezone( + datetime.timezone.utc + ) return is_expired @@ -119,20 +122,11 @@ def __init__( exchange_cookie_assistant: CookieAssistant, explorer_cookie_assistant: CookieAssistant, official_tokens_list_url: str, - use_secure_connection: Optional[bool] = None, grpc_channel_credentials: Optional[ChannelCredentials] = None, grpc_exchange_channel_credentials: Optional[ChannelCredentials] = None, grpc_explorer_channel_credentials: Optional[ChannelCredentials] = None, chain_stream_channel_credentials: Optional[ChannelCredentials] = None, ): - # the `use_secure_connection` parameter is ignored and will be deprecated soon. - if use_secure_connection is not None: - warn( - "use_secure_connection parameter in Network is no longer used and will be deprecated", - DeprecationWarning, - stacklevel=2, - ) - self.lcd_endpoint = lcd_endpoint self.tm_websocket_endpoint = tm_websocket_endpoint self.grpc_endpoint = grpc_endpoint @@ -166,7 +160,9 @@ def devnet(cls): chain_cookie_assistant=DisabledCookieAssistant(), exchange_cookie_assistant=DisabledCookieAssistant(), explorer_cookie_assistant=DisabledCookieAssistant(), - official_tokens_list_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/devnet.json", + official_tokens_list_url=( + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/devnet.json" + ), ) @classmethod @@ -221,7 +217,9 @@ def testnet(cls, node="lb"): grpc_exchange_channel_credentials=grpc_exchange_channel_credentials, grpc_explorer_channel_credentials=grpc_explorer_channel_credentials, chain_stream_channel_credentials=chain_stream_channel_credentials, - official_tokens_list_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/testnet.json", + official_tokens_list_url=( + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/testnet.json" + ), ) @classmethod @@ -263,7 +261,9 @@ def mainnet(cls, node="lb"): grpc_exchange_channel_credentials=grpc_exchange_channel_credentials, grpc_explorer_channel_credentials=grpc_explorer_channel_credentials, chain_stream_channel_credentials=chain_stream_channel_credentials, - official_tokens_list_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json", + official_tokens_list_url=( + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json" + ), ) @classmethod @@ -281,7 +281,9 @@ def local(cls): chain_cookie_assistant=DisabledCookieAssistant(), exchange_cookie_assistant=DisabledCookieAssistant(), explorer_cookie_assistant=DisabledCookieAssistant(), - official_tokens_list_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json", + official_tokens_list_url=( + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json" + ), ) @classmethod @@ -299,20 +301,11 @@ def custom( chain_cookie_assistant: Optional[CookieAssistant] = None, exchange_cookie_assistant: Optional[CookieAssistant] = None, explorer_cookie_assistant: Optional[CookieAssistant] = None, - use_secure_connection: Optional[bool] = None, grpc_channel_credentials: Optional[ChannelCredentials] = None, grpc_exchange_channel_credentials: Optional[ChannelCredentials] = None, grpc_explorer_channel_credentials: Optional[ChannelCredentials] = None, chain_stream_channel_credentials: Optional[ChannelCredentials] = None, ): - # the `use_secure_connection` parameter is ignored and will be deprecated soon. - if use_secure_connection is not None: - warn( - "use_secure_connection parameter in Network is no longer used and will be deprecated", - DeprecationWarning, - stacklevel=2, - ) - chain_assistant = chain_cookie_assistant or DisabledCookieAssistant() exchange_assistant = exchange_cookie_assistant or DisabledCookieAssistant() explorer_assistant = explorer_cookie_assistant or DisabledCookieAssistant() diff --git a/pyinjective/core/token.py b/pyinjective/core/token.py index bdeace85..ea926a11 100644 --- a/pyinjective/core/token.py +++ b/pyinjective/core/token.py @@ -13,6 +13,7 @@ class Token: decimals: int logo: str updated: int + unique_symbol: str @staticmethod def convert_value_to_extended_decimal_format(value: Decimal) -> Decimal: @@ -24,3 +25,6 @@ def convert_value_from_extended_decimal_format(value: Decimal) -> Decimal: def chain_formatted_value(self, human_readable_value: Decimal) -> Decimal: return human_readable_value * Decimal(f"1e{self.decimals}") + + def human_readable_value(self, chain_formatted_value: Decimal) -> Decimal: + return chain_formatted_value / Decimal(f"1e{self.decimals}") diff --git a/pyinjective/core/tokens_file_loader.py b/pyinjective/core/tokens_file_loader.py index 0e84bebd..7097e65c 100644 --- a/pyinjective/core/tokens_file_loader.py +++ b/pyinjective/core/tokens_file_loader.py @@ -19,6 +19,7 @@ def load_json(self, json: List[Dict]) -> List[Token]: decimals=token_info["decimals"], logo=token_info["logo"], updated=-1, + unique_symbol="", ) loaded_tokens.append(token) diff --git a/pyinjective/indexer_client.py b/pyinjective/indexer_client.py new file mode 100644 index 00000000..34354757 --- /dev/null +++ b/pyinjective/indexer_client.py @@ -0,0 +1,1202 @@ +from typing import Any, Callable, Dict, List, Optional + +from pyinjective.client.indexer.grpc.indexer_grpc_account_api import IndexerGrpcAccountApi +from pyinjective.client.indexer.grpc.indexer_grpc_auction_api import IndexerGrpcAuctionApi +from pyinjective.client.indexer.grpc.indexer_grpc_derivative_api import IndexerGrpcDerivativeApi +from pyinjective.client.indexer.grpc.indexer_grpc_explorer_api import IndexerGrpcExplorerApi +from pyinjective.client.indexer.grpc.indexer_grpc_insurance_api import IndexerGrpcInsuranceApi +from pyinjective.client.indexer.grpc.indexer_grpc_meta_api import IndexerGrpcMetaApi +from pyinjective.client.indexer.grpc.indexer_grpc_oracle_api import IndexerGrpcOracleApi +from pyinjective.client.indexer.grpc.indexer_grpc_portfolio_api import IndexerGrpcPortfolioApi +from pyinjective.client.indexer.grpc.indexer_grpc_spot_api import IndexerGrpcSpotApi +from pyinjective.client.indexer.grpc_stream.indexer_grpc_account_stream import IndexerGrpcAccountStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_auction_stream import IndexerGrpcAuctionStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_derivative_stream import IndexerGrpcDerivativeStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_explorer_stream import IndexerGrpcExplorerStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_meta_stream import IndexerGrpcMetaStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_oracle_stream import IndexerGrpcOracleStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_portfolio_stream import IndexerGrpcPortfolioStream +from pyinjective.client.indexer.grpc_stream.indexer_grpc_spot_stream import IndexerGrpcSpotStream +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import Network +from pyinjective.proto.exchange import injective_oracle_rpc_pb2 as exchange_oracle_pb + + +class IndexerClient: + def __init__( + self, + network: Network, + ): + self.network = network + + # exchange stubs + self.exchange_channel = self.network.create_exchange_grpc_channel() + # explorer stubs + self.explorer_channel = self.network.create_explorer_grpc_channel() + + self.account_api = IndexerGrpcAccountApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.auction_api = IndexerGrpcAuctionApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.derivative_api = IndexerGrpcDerivativeApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.insurance_api = IndexerGrpcInsuranceApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.meta_api = IndexerGrpcMetaApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.oracle_api = IndexerGrpcOracleApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.portfolio_api = IndexerGrpcPortfolioApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.spot_api = IndexerGrpcSpotApi( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + + self.account_stream_api = IndexerGrpcAccountStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.auction_stream_api = IndexerGrpcAuctionStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.derivative_stream_api = IndexerGrpcDerivativeStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.meta_stream_api = IndexerGrpcMetaStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.oracle_stream_api = IndexerGrpcOracleStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.portfolio_stream_api = IndexerGrpcPortfolioStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + self.spot_stream_api = IndexerGrpcSpotStream( + channel=self.exchange_channel, + cookie_assistant=network.exchange_cookie_assistant, + ) + + self.explorer_api = IndexerGrpcExplorerApi( + channel=self.explorer_channel, + cookie_assistant=network.explorer_cookie_assistant, + ) + self.explorer_stream_api = IndexerGrpcExplorerStream( + channel=self.explorer_channel, + cookie_assistant=network.explorer_cookie_assistant, + ) + + async def close_exchange_channel(self): + await self.exchange_channel.close() + + async def close_explorer_channel(self): + await self.explorer_channel.close() + + # region account + async def fetch_subaccount_balance(self, subaccount_id: str, denom: str) -> Dict[str, Any]: + return await self.account_api.fetch_subaccount_balance(subaccount_id=subaccount_id, denom=denom) + + async def fetch_subaccounts_list(self, address: str) -> Dict[str, Any]: + return await self.account_api.fetch_subaccounts_list(address=address) + + async def fetch_subaccount_balances_list( + self, subaccount_id: str, denoms: Optional[List[str]] = None + ) -> Dict[str, Any]: + return await self.account_api.fetch_subaccount_balances_list(subaccount_id=subaccount_id, denoms=denoms) + + async def fetch_subaccount_history( + self, + subaccount_id: str, + denom: Optional[str] = None, + transfer_types: Optional[List[str]] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.account_api.fetch_subaccount_history( + subaccount_id=subaccount_id, + denom=denom, + transfer_types=transfer_types, + pagination=pagination, + ) + + async def fetch_subaccount_order_summary( + self, + subaccount_id: str, + market_id: Optional[str] = None, + order_direction: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.account_api.fetch_subaccount_order_summary( + subaccount_id=subaccount_id, + market_id=market_id, + order_direction=order_direction, + ) + + async def fetch_order_states( + self, + spot_order_hashes: Optional[List[str]] = None, + derivative_order_hashes: Optional[List[str]] = None, + ) -> Dict[str, Any]: + return await self.account_api.fetch_order_states( + spot_order_hashes=spot_order_hashes, + derivative_order_hashes=derivative_order_hashes, + ) + + async def fetch_portfolio(self, account_address: str) -> Dict[str, Any]: + return await self.account_api.fetch_portfolio(account_address=account_address) + + async def fetch_rewards(self, account_address: Optional[str] = None, epoch: Optional[int] = None) -> Dict[str, Any]: + return await self.account_api.fetch_rewards(account_address=account_address, epoch=epoch) + + async def listen_subaccount_balance_updates( + self, + subaccount_id: str, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + denoms: Optional[List[str]] = None, + ): + await self.account_stream_api.stream_subaccount_balance( + subaccount_id=subaccount_id, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + denoms=denoms, + ) + + # endregion + + # region auction + async def fetch_auction(self, round: int) -> Dict[str, Any]: + return await self.auction_api.fetch_auction(round=round) + + async def fetch_auctions(self) -> Dict[str, Any]: + return await self.auction_api.fetch_auctions() + + async def fetch_inj_burnt(self) -> Dict[str, Any]: + return await self.auction_api.fetch_inj_burnt() + + async def listen_bids_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.auction_stream_api.stream_bids( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + # endregion + + # region derivative + async def fetch_derivative_market(self, market_id: str) -> Dict[str, Any]: + return await self.derivative_api.fetch_market(market_id=market_id) + + async def fetch_derivative_markets( + self, + market_statuses: Optional[List[str]] = None, + quote_denom: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_markets( + market_statuses=market_statuses, + quote_denom=quote_denom, + ) + + async def fetch_derivative_orderbook_v2(self, market_id: str, depth: int) -> Dict[str, Any]: + return await self.derivative_api.fetch_orderbook_v2(market_id=market_id, depth=depth) + + async def fetch_derivative_orderbooks_v2(self, market_ids: List[str], depth: int) -> Dict[str, Any]: + return await self.derivative_api.fetch_orderbooks_v2(market_ids=market_ids, depth=depth) + + async def fetch_derivative_orders( + self, + market_ids: Optional[List[str]] = None, + order_side: Optional[str] = None, + subaccount_id: Optional[str] = None, + is_conditional: Optional[str] = None, + order_type: Optional[str] = None, + include_inactive: Optional[bool] = None, + subaccount_total_orders: Optional[bool] = None, + trade_id: Optional[str] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_orders( + market_ids=market_ids, + order_side=order_side, + subaccount_id=subaccount_id, + is_conditional=is_conditional, + order_type=order_type, + include_inactive=include_inactive, + subaccount_total_orders=subaccount_total_orders, + trade_id=trade_id, + cid=cid, + pagination=pagination, + ) + + async def fetch_derivative_orders_history( + self, + subaccount_id: Optional[str] = None, + market_ids: Optional[List[str]] = None, + order_types: Optional[List[str]] = None, + direction: Optional[str] = None, + is_conditional: Optional[str] = None, + state: Optional[str] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + active_markets_only: Optional[bool] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_orders_history( + subaccount_id=subaccount_id, + market_ids=market_ids, + order_types=order_types, + direction=direction, + is_conditional=is_conditional, + state=state, + execution_types=execution_types, + trade_id=trade_id, + active_markets_only=active_markets_only, + cid=cid, + pagination=pagination, + ) + + async def fetch_derivative_trades( + self, + market_ids: Optional[List[str]] = None, + subaccount_ids: Optional[List[str]] = None, + execution_side: Optional[str] = None, + direction: Optional[str] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + account_address: Optional[str] = None, + cid: Optional[str] = None, + fee_recipient: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_trades_v2( + market_ids=market_ids, + subaccount_ids=subaccount_ids, + execution_side=execution_side, + direction=direction, + execution_types=execution_types, + trade_id=trade_id, + account_address=account_address, + cid=cid, + fee_recipient=fee_recipient, + pagination=pagination, + ) + + async def fetch_derivative_positions_v2( + self, + market_ids: Optional[List[str]] = None, + subaccount_id: Optional[str] = None, + direction: Optional[str] = None, + subaccount_total_positions: Optional[bool] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_positions_v2( + market_ids=market_ids, + subaccount_id=subaccount_id, + direction=direction, + subaccount_total_positions=subaccount_total_positions, + pagination=pagination, + ) + + async def fetch_derivative_liquidable_positions( + self, + market_id: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_liquidable_positions( + market_id=market_id, + pagination=pagination, + ) + + async def fetch_derivative_subaccount_orders_list( + self, + subaccount_id: str, + market_id: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_subaccount_orders_list( + subaccount_id=subaccount_id, market_id=market_id, pagination=pagination + ) + + async def fetch_derivative_subaccount_trades_list( + self, + subaccount_id: str, + market_id: Optional[str] = None, + execution_type: Optional[str] = None, + direction: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_subaccount_trades_list( + subaccount_id=subaccount_id, + market_id=market_id, + execution_type=execution_type, + direction=direction, + pagination=pagination, + ) + + async def fetch_funding_payments( + self, + market_ids: Optional[List[str]] = None, + subaccount_id: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_funding_payments( + market_ids=market_ids, subaccount_id=subaccount_id, pagination=pagination + ) + + async def fetch_funding_rates( + self, + market_id: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_funding_rates(market_id=market_id, pagination=pagination) + + async def fetch_binary_options_markets( + self, + market_status: Optional[str] = None, + quote_denom: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.derivative_api.fetch_binary_options_markets( + market_status=market_status, + quote_denom=quote_denom, + pagination=pagination, + ) + + async def fetch_binary_options_market(self, market_id: str) -> Dict[str, Any]: + return await self.derivative_api.fetch_binary_options_market(market_id=market_id) + + async def fetch_open_interest(self, market_ids: List[str]) -> Dict[str, Any]: + return await self.derivative_api.fetch_open_interest(market_ids=market_ids) + + async def listen_derivative_orders_history_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + subaccount_id: Optional[str] = None, + market_id: Optional[str] = None, + order_types: Optional[List[str]] = None, + direction: Optional[str] = None, + state: Optional[str] = None, + execution_types: Optional[List[str]] = None, + ): + await self.derivative_stream_api.stream_orders_history( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + subaccount_id=subaccount_id, + market_id=market_id, + order_types=order_types, + direction=direction, + state=state, + execution_types=execution_types, + ) + + async def listen_derivative_market_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + ): + await self.derivative_stream_api.stream_market( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + ) + + async def listen_derivative_orderbook_snapshots( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.derivative_stream_api.stream_orderbook_v2( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + async def listen_derivative_orderbook_updates( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.derivative_stream_api.stream_orderbook_update( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + async def listen_derivative_orders_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + order_side: Optional[str] = None, + subaccount_id: Optional[PaginationOption] = None, + is_conditional: Optional[str] = None, + order_type: Optional[str] = None, + include_inactive: Optional[bool] = None, + subaccount_total_orders: Optional[bool] = None, + trade_id: Optional[str] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ): + await self.derivative_stream_api.stream_orders( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + order_side=order_side, + subaccount_id=subaccount_id, + is_conditional=is_conditional, + order_type=order_type, + include_inactive=include_inactive, + subaccount_total_orders=subaccount_total_orders, + trade_id=trade_id, + cid=cid, + pagination=pagination, + ) + + async def listen_derivative_trades_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + execution_side: Optional[str] = None, + direction: Optional[str] = None, + subaccount_ids: Optional[List[str]] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + account_address: Optional[str] = None, + cid: Optional[str] = None, + fee_recipient: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ): + return await self.derivative_stream_api.stream_trades_v2( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + subaccount_ids=subaccount_ids, + execution_side=execution_side, + direction=direction, + execution_types=execution_types, + trade_id=trade_id, + account_address=account_address, + cid=cid, + fee_recipient=fee_recipient, + pagination=pagination, + ) + + async def listen_derivative_positions_v2_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + subaccount_id: Optional[str] = None, + market_id: Optional[str] = None, + market_ids: Optional[List[str]] = None, + subaccount_ids: Optional[List[str]] = None, + account_address: Optional[str] = None, + ): + """ + Listen to derivative positions V2 updates. + + :param callback: Callback function to process each update + :param on_end_callback: Optional callback when the stream ends + :param on_status_callback: Optional callback for handling stream status + :param subaccount_id: Optional subaccount ID to filter positions + :param market_id: Optional market ID to filter positions + :param market_ids: Optional list of market IDs to filter positions + :param subaccount_ids: Optional list of subaccount IDs to filter positions + :param account_address: Optional account address to filter positions + """ + await self.derivative_stream_api.stream_positions_v2( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + subaccount_id=subaccount_id, + market_id=market_id, + market_ids=market_ids, + subaccount_ids=subaccount_ids, + account_address=account_address, + ) + + # endregion + + # region insurance + async def fetch_insurance_funds(self) -> Dict[str, Any]: + return await self.insurance_api.fetch_insurance_funds() + + async def fetch_redemptions( + self, + address: Optional[str] = None, + denom: Optional[str] = None, + status: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.insurance_api.fetch_redemptions( + address=address, + denom=denom, + status=status, + ) + + # endregion + + # region meta + async def fetch_ping(self) -> Dict[str, Any]: + return await self.meta_api.fetch_ping() + + async def fetch_version(self) -> Dict[str, Any]: + return await self.meta_api.fetch_version() + + async def fetch_info(self) -> Dict[str, Any]: + return await self.meta_api.fetch_info() + + async def listen_keepalive( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.meta_stream_api.stream_keepalive( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + # endregion + + # region oracle + async def fetch_oracle_price( + self, + base_symbol: Optional[str] = None, + quote_symbol: Optional[str] = None, + oracle_type: Optional[str] = None, + oracle_scale_factor: Optional[int] = None, + ) -> Dict[str, Any]: + return await self.oracle_api.fetch_oracle_price( + base_symbol=base_symbol, + quote_symbol=quote_symbol, + oracle_type=oracle_type, + oracle_scale_factor=oracle_scale_factor, + ) + + def oracle_price_v2_filter( + self, + base_symbol: Optional[str] = None, + quote_symbol: Optional[str] = None, + oracle_type: Optional[str] = None, + oracle_scale_factor: Optional[int] = None, + ) -> exchange_oracle_pb.PricePayloadV2: + return exchange_oracle_pb.PricePayloadV2( + base_symbol=base_symbol, + quote_symbol=quote_symbol, + oracle_type=oracle_type, + oracle_scale_factor=oracle_scale_factor, + ) + + async def fetch_oracle_price_v2(self, filters: List[exchange_oracle_pb.PricePayloadV2]) -> Dict[str, Any]: + return await self.oracle_api.fetch_oracle_price_v2(filters=filters) + + async def fetch_oracle_list( + self, + symbol: Optional[str] = None, + oracle_type: Optional[str] = None, + per_page: Optional[int] = None, + token: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.oracle_api.fetch_oracle_list( + symbol=symbol, oracle_type=oracle_type, per_page=per_page, token=token + ) + + async def listen_oracle_prices_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + base_symbol: Optional[str] = None, + quote_symbol: Optional[str] = None, + oracle_type: Optional[str] = None, + ): + await self.oracle_stream_api.stream_oracle_prices( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + base_symbol=base_symbol, + quote_symbol=quote_symbol, + oracle_type=oracle_type, + ) + + async def listen_oracle_list_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + oracle_type: Optional[str] = None, + symbols: Optional[List[str]] = None, + ): + await self.oracle_stream_api.stream_oracle_list( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + oracle_type=oracle_type, + symbols=symbols, + ) + + async def listen_oracle_prices_by_markets_updates( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.oracle_stream_api.stream_oracle_prices_by_markets( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + # endregion + + # region portfolio + async def fetch_account_portfolio_balances( + self, account_address: str, usd: Optional[bool] = None + ) -> Dict[str, Any]: + return await self.portfolio_api.fetch_account_portfolio_balances(account_address=account_address, usd=usd) + + async def listen_account_portfolio_updates( + self, + account_address: str, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + subaccount_id: Optional[str] = None, + update_type: Optional[str] = None, + ): + await self.portfolio_stream_api.stream_account_portfolio( + account_address=account_address, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + subaccount_id=subaccount_id, + update_type=update_type, + ) + + # endregion + + # region spot + async def fetch_spot_market(self, market_id: str) -> Dict[str, Any]: + return await self.spot_api.fetch_market(market_id=market_id) + + async def fetch_spot_markets( + self, + market_statuses: Optional[List[str]] = None, + base_denom: Optional[str] = None, + quote_denom: Optional[str] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_markets( + market_statuses=market_statuses, base_denom=base_denom, quote_denom=quote_denom + ) + + async def fetch_spot_orderbook_v2(self, market_id: str, depth: int) -> Dict[str, Any]: + return await self.spot_api.fetch_orderbook_v2(market_id=market_id, depth=depth) + + async def fetch_spot_orderbooks_v2(self, market_ids: List[str], depth: int) -> Dict[str, Any]: + return await self.spot_api.fetch_orderbooks_v2(market_ids=market_ids, depth=depth) + + async def fetch_spot_orders( + self, + market_ids: Optional[List[str]] = None, + order_side: Optional[str] = None, + subaccount_id: Optional[str] = None, + include_inactive: Optional[bool] = None, + subaccount_total_orders: Optional[bool] = None, + trade_id: Optional[str] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_orders( + market_ids=market_ids, + order_side=order_side, + subaccount_id=subaccount_id, + include_inactive=include_inactive, + subaccount_total_orders=subaccount_total_orders, + trade_id=trade_id, + cid=cid, + pagination=pagination, + ) + + async def fetch_spot_orders_history( + self, + subaccount_id: Optional[str] = None, + market_ids: Optional[List[str]] = None, + order_types: Optional[List[str]] = None, + direction: Optional[str] = None, + state: Optional[str] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + active_markets_only: Optional[bool] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_orders_history( + subaccount_id=subaccount_id, + market_ids=market_ids, + order_types=order_types, + direction=direction, + state=state, + execution_types=execution_types, + trade_id=trade_id, + active_markets_only=active_markets_only, + cid=cid, + pagination=pagination, + ) + + async def fetch_spot_trades( + self, + market_ids: Optional[List[str]] = None, + subaccount_ids: Optional[List[str]] = None, + execution_side: Optional[str] = None, + direction: Optional[str] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + account_address: Optional[str] = None, + cid: Optional[str] = None, + fee_recipient: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_trades_v2( + market_ids=market_ids, + subaccount_ids=subaccount_ids, + execution_side=execution_side, + direction=direction, + execution_types=execution_types, + trade_id=trade_id, + account_address=account_address, + cid=cid, + fee_recipient=fee_recipient, + pagination=pagination, + ) + + async def fetch_spot_subaccount_orders_list( + self, + subaccount_id: str, + market_id: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_subaccount_orders_list( + subaccount_id=subaccount_id, market_id=market_id, pagination=pagination + ) + + async def fetch_spot_subaccount_trades_list( + self, + subaccount_id: str, + market_id: Optional[str] = None, + execution_type: Optional[str] = None, + direction: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.spot_api.fetch_subaccount_trades_list( + subaccount_id=subaccount_id, + market_id=market_id, + execution_type=execution_type, + direction=direction, + pagination=pagination, + ) + + async def listen_spot_markets_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + ): + await self.spot_stream_api.stream_markets( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + ) + + async def listen_spot_orderbook_snapshots( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.spot_stream_api.stream_orderbook_v2( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + async def listen_spot_orderbook_updates( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.spot_stream_api.stream_orderbook_update( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + async def listen_spot_orders_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + order_side: Optional[str] = None, + subaccount_id: Optional[PaginationOption] = None, + include_inactive: Optional[bool] = None, + subaccount_total_orders: Optional[bool] = None, + trade_id: Optional[str] = None, + cid: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ): + await self.spot_stream_api.stream_orders( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + order_side=order_side, + subaccount_id=subaccount_id, + include_inactive=include_inactive, + subaccount_total_orders=subaccount_total_orders, + trade_id=trade_id, + cid=cid, + pagination=pagination, + ) + + async def listen_spot_orders_history_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + subaccount_id: Optional[str] = None, + market_id: Optional[str] = None, + order_types: Optional[List[str]] = None, + direction: Optional[str] = None, + state: Optional[str] = None, + execution_types: Optional[List[str]] = None, + ): + await self.spot_stream_api.stream_orders_history( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + subaccount_id=subaccount_id, + market_id=market_id, + order_types=order_types, + direction=direction, + state=state, + execution_types=execution_types, + ) + + async def listen_spot_trades_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + market_ids: Optional[List[str]] = None, + subaccount_ids: Optional[List[str]] = None, + execution_side: Optional[str] = None, + direction: Optional[str] = None, + execution_types: Optional[List[str]] = None, + trade_id: Optional[str] = None, + account_address: Optional[str] = None, + cid: Optional[str] = None, + fee_recipient: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ): + await self.spot_stream_api.stream_trades_v2( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + market_ids=market_ids, + subaccount_ids=subaccount_ids, + execution_side=execution_side, + direction=direction, + execution_types=execution_types, + trade_id=trade_id, + account_address=account_address, + cid=cid, + fee_recipient=fee_recipient, + pagination=pagination, + ) + + # endregion + + # region explorer + async def fetch_tx_by_tx_hash(self, tx_hash: str) -> Dict[str, Any]: + return await self.explorer_api.fetch_tx_by_tx_hash(tx_hash=tx_hash) + + async def fetch_account_txs( + self, + address: str, + before: Optional[int] = None, + after: Optional[int] = None, + message_type: Optional[str] = None, + module: Optional[str] = None, + from_number: Optional[int] = None, + to_number: Optional[int] = None, + status: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_account_txs( + address=address, + before=before, + after=after, + message_type=message_type, + module=module, + from_number=from_number, + to_number=to_number, + status=status, + pagination=pagination, + ) + + async def fetch_contract_txs_v2( + self, + address: str, + height: Optional[int] = None, + token: Optional[str] = None, + status: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_contract_txs_v2( + address=address, + height=height, + token=token, + status=status, + pagination=pagination, + ) + + async def fetch_blocks( + self, + before: Optional[int] = None, + after: Optional[int] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_blocks(before=before, after=after, pagination=pagination) + + async def fetch_block(self, block_id: str) -> Dict[str, Any]: + return await self.explorer_api.fetch_block(block_id=block_id) + + async def fetch_validators(self) -> Dict[str, Any]: + return await self.explorer_api.fetch_validators() + + async def fetch_validator(self, address: str) -> Dict[str, Any]: + return await self.explorer_api.fetch_validator(address) + + async def fetch_validator_uptime(self, address: str) -> Dict[str, Any]: + return await self.explorer_api.fetch_validator_uptime(address=address) + + async def fetch_txs( + self, + before: Optional[int] = None, + after: Optional[int] = None, + message_type: Optional[str] = None, + module: Optional[str] = None, + from_number: Optional[int] = None, + to_number: Optional[int] = None, + status: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_txs( + before=before, + after=after, + message_type=message_type, + module=module, + from_number=from_number, + to_number=to_number, + status=status, + pagination=pagination, + ) + + async def fetch_peggy_deposit_txs( + self, + sender: Optional[str] = None, + receiver: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_peggy_deposit_txs( + sender=sender, + receiver=receiver, + pagination=pagination, + ) + + async def fetch_peggy_withdrawal_txs( + self, + sender: Optional[str] = None, + receiver: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_peggy_withdrawal_txs( + sender=sender, + receiver=receiver, + pagination=pagination, + ) + + async def fetch_ibc_transfer_txs( + self, + sender: Optional[str] = None, + receiver: Optional[str] = None, + src_channel: Optional[str] = None, + src_port: Optional[str] = None, + dest_channel: Optional[str] = None, + dest_port: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_ibc_transfer_txs( + sender=sender, + receiver=receiver, + src_channel=src_channel, + src_port=src_port, + dest_channel=dest_channel, + dest_port=dest_port, + pagination=pagination, + ) + + async def fetch_wasm_codes( + self, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_wasm_codes( + pagination=pagination, + ) + + async def fetch_wasm_code_by_id( + self, + code_id: int, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_wasm_code_by_id(code_id=code_id) + + async def fetch_wasm_contracts( + self, + code_id: Optional[int] = None, + assets_only: Optional[bool] = None, + label: Optional[str] = None, + token: Optional[str] = None, + lookup: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_wasm_contracts( + code_id=code_id, + assets_only=assets_only, + label=label, + token=token, + lookup=lookup, + pagination=pagination, + ) + + async def fetch_wasm_contract_by_address( + self, + address: str, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_wasm_contract_by_address(address=address) + + async def fetch_cw20_balance( + self, + address: str, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_cw20_balance( + address=address, + pagination=pagination, + ) + + async def fetch_relayers( + self, + market_ids: Optional[List[str]] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_relayers( + market_ids=market_ids, + ) + + async def fetch_bank_transfers( + self, + senders: Optional[List[str]] = None, + recipients: Optional[List[str]] = None, + is_community_pool_related: Optional[bool] = None, + address: Optional[List[str]] = None, + per_page: Optional[int] = None, + token: Optional[str] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + return await self.explorer_api.fetch_bank_transfers( + senders=senders, + recipients=recipients, + is_community_pool_related=is_community_pool_related, + address=address, + per_page=per_page, + token=token, + pagination=pagination, + ) + + async def listen_txs_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.explorer_stream_api.stream_txs( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + async def listen_blocks_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.explorer_stream_api.stream_blocks( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + + # endregion diff --git a/pyinjective/ofac.json b/pyinjective/ofac.json index 90751074..a042dc81 100644 --- a/pyinjective/ofac.json +++ b/pyinjective/ofac.json @@ -1,161 +1,105 @@ [ - "0x01e2919679362dfbc9ee1644ba9c6da6d6245bb1", - "0x03893a7c7463ae47d46bc7f091665f1893656003", + "0x0330070fd38ec3bb94f58fa55d40368271e9e54a", + "0x038989cbb1710c72b9920dc4fa529158f463e72c", "0x04dba1194ee10112fe6c3207c0687def0e78bacf", - "0x05e0b5b40b7b66098c2161a5ee11c5740a3a7c45", - "0x07687e702b410fa43f4cb4af7fa097918ffd2730", - "0x0836222f2b2b24a3f36f98668ed8f0b38d1a872f", "0x08723392ed15743cc38513c4925f5e6be5c17243", "0x08b2efdcdb8822efe5ad0eae55517cf5dc544251", - "0x09193888b3f38c82dedfda55259a82c0e7de875e", "0x0931ca4d13bb4ba75d9b7132ab690265d749a5e7", "0x098b716b8aaf21512996dc57eb0615e2383e2f96", - "0x0e3a09dda6b20afbb34ac7cd4a6881493f3e7bf7", "0x0ee5067b06776a89ccc7dc8ee369984ad7db5e06", - "0x12d66f87a04a9e220743712ce6d9bb1b5616b8fc", - "0x1356c899d8c9467c7f71c195612f8a395abf2f0a", - "0x169ad27a470d064dede56a2d3ff727986b15d52b", + "0x12de548f79a50d2bd05481c8515c1ef5183666a9", + "0x14779cec0b117d5194c750c55ea1f42086631964", "0x175d44451403edf28469df03a9280c1197adb92c", - "0x178169b423a011fff22b9e3f3abea13414ddd0f1", - "0x179f48c78f57a3a78f0608cc9197b8972921d1d2", "0x1967d8af5bd86a497fb3dd7899a020e47560daaf", + "0x1999ef52700c34de7ec2b68a28aafb37db0c5ade", "0x19aa5fe80d33a56d56c78e82ea5e50e5d80b4dff", "0x19f8f2b0915daa12a3f5c9cf01df9e24d53794f7", "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a", - "0x1e34a77868e19a6647b1f2f47b51ed72dede95dd", "0x21b8d56bda776bbe68655a16895afd96f5534fed", - "0x22aaa7720ddd5388a3c0a3333430953c68f1849b", - "0x23173fe8b96a4ad8d2e17fb83ea5dcccdca1ae52", - "0x23773e65ed146a459791799d01336db287f25334", - "0x242654336ca2205714071898f67e254eb49acdce", - "0x2573bac39ebe2901b4389cd468f2872cf7767faf", - "0x26903a5a198d571422b2b4ea08b56a37cbd68c89", - "0x2717c5e28cf931547b621a5dddb772ab6a35b701", "0x2f389ce8bd8ff92de3402ffce4691d17fc4f6535", - "0x2f50508a8a3d323b91336fa3ea6ae50e55f32185", - "0x2fc93484614a34f26f7970cbb94615ba109bb4bf", "0x308ed4b7b49797e1a98d3818bff6fe5385410370", - "0x330bdfade01ee9bf63c209ee33102dd334618e0a", + "0x32da24ca413f3e7b53145d4737e172c3bdf81e3e", "0x35fb6f6db4fb05e6a4ce86f2c93691425626d4b1", "0x38735f03b30fbc022ddd06abed01f0ca823c6a94", "0x39d908dac893cbcb53cc86e0ecc369aa4def1a29", - "0x3aac1cc67c2ec5db4ea850957b967ba153ad6279", "0x3ad9db589d201a710ed237c829c7860ba86510fc", "0x3cbded43efdaf0fc77b9c55f6fc9988fcc9b757d", "0x3cffd56b47b7b41c56258d9c7731abadc360e073", "0x3e37627deaa754090fbfbb8bd226c1ce66d255e9", - "0x3efa30704d2b8bbac821307230376556cf8cc39e", - "0x407cceeaa7c95d2fe2250bf9f2c105aa7aafb512", "0x43fa21d92141ba9db43052492e0deee5aa5f0a93", - "0x4736dcf1b7a3d580672cce6e7c65cd5cc9cfba9d", - "0x47ce0c6ed5b0ce3d3a51fdb1c52dc66a7c3c2936", "0x48549a34ae37b12f6a30566245176994e17c6b4a", + "0x4f428c11dc82388fa5136d636e613ad923eb700b", "0x4f47bc496083c727c5fbe3ce9cdf2b0f6496270c", "0x502371699497d08d5339c870851898d6d72521dd", - "0x527653ea119f3e6a1f5bd18fbf4714081d7b31ce", "0x530a64c0ce595026a4a556b703644228179e2d57", - "0x538ab61e8a9fc1b2f93b3dd9011d662d89be6fe6", + "0x532b77b33a040587e9fd1800088225f99b8b0e8a", "0x53b6936513e738f44fb50d2b9476730c0ab3bfc1", "0x5512d943ed1f7c8a43f3435c85f7ab68b30121b0", - "0x57b2b8c82f065de8ef5573f9730fc1449b403c9f", - "0x58e8dcc13be9780fc42e8723d8ead4cf46943df2", + "0x57ec89a0c056163a0314e413320f9b3abe761259", "0x5a14e72060c11313e38738009254a90968f58f51", "0x5a7a51bfb49f190e5a6060a5bc6052ac14a3b59f", - "0x5cab7692d4e94096462119ab7bf57319726eed2a", - "0x5efda50f22d34f262c29268506c5fa42cb56a1ce", + "0x5d5b5dafecbf31bdb08bfd3edad4f2694372d0ef", "0x5f48c2a71b2cc96e3f0ccae4e39318ff0dc375b2", - "0x5f6c97c6ad7bdd0ae7e0dd4ca33a4ed3fdabd4d7", - "0x610b717796ad172b316836ac95a2ffad065ceab4", - "0x653477c392c16b0765603074f157314cc4f40c32", "0x67d40ee1a85bf4a4bb7ffae16de985e8427b6b45", "0x6be0ae71e6c41f2f9d0d1a3b8d0f75e6f6a0b46e", - "0x6bf694a291df3fec1f7e69701e3ab6c592435ae7", "0x6f1ca141a28907f78ebaa64fb83a9088b02a8352", - "0x722122df12d4e14e13ac3b6895a86e84145b6967", - "0x723b78e67497e85279cb204544566f4dc5d2aca0", "0x72a5843cc08275c8171e582972aa4fda8c397b2a", - "0x743494b60097a2230018079c02fe21a7b687eaa5", - "0x746aebc06d2ae31b71ac51429a19d54e797878e9", - "0x756c4628e57f7e7f8a459ec2752968360cf4d1aa", - "0x76d85b4c0fc497eecc38902397ac608000a06607", - "0x776198ccf446dfa168347089d7338879273172cf", - "0x77777feddddffc19ff86db637967013e6c6a116c", + "0x747afb5c7a7fc34b547cd0fdebf9b91759c5a52b", + "0x76ea76ca4eb727f18956ab93445a94c5280412b9", "0x797d7ae72ebddcdea2a346c1834e04d1f8df102b", + "0x7ced75026204ac29c34bea98905d4c949f27361e", "0x7db418b5d567a4e0e8c59ad71be1fce48f3e6107", "0x7f19720a857f834887fc9a7bc0a0fbe7fc7f8102", "0x7f367cc41522ce07553e823bf3be79a889debe1b", "0x7ff9cfad3877f21d41da833e2f775db0569ee3d9", - "0x8281aa6795ade17c8973e1aedca380258bc124f9", - "0x833481186f16cece3f1eeea1a694c42034c3a0db", "0x83e5bc4ffa856bb84bb88581f5dd62a433a25e0d", - "0x84443cfd09a48af6ef360c6976c5392ac5023a1f", "0x8576acc5c05d6ce88f4e49bf65bdf0c62f91353c", - "0x8589427373d6d84e98730d7795d8f6f8731fda16", - "0x88fd245fedec4a936e700f9173454d1931b4c307", + "0x8dce2aac0de82bdcaf6b4373b79f94331b8e4995", "0x901bb9583b24d97e995513c6778dc6888ab6870e", - "0x910cbd523d972eb0a6f4cae4618ad62622b39dbf", "0x931546d9e66836abf687d2bc64b30407bac8c568", - "0x94a1b5cdb22c43faab4abeb5c74999895464ddaf", - "0x94be88213a387e992dd87de56950a9aef34b9448", - "0x94c92f096437ab9958fc0a37f09348f30389ae79", + "0x95584c303fcd48af5c6b9873015f2ad0ca84eae3", "0x961c5be54a2ffc17cf4cb021d863c42dacd47fc1", "0x97b1043abd9e6fc31681635166d430a458d14f9c", "0x983a81ca6fb1e441266d2fbcb7d8e530ac2e05a2", - "0x9ad122c22b14202b4490edaf288fdb3c7cb3ff5e", + "0x9be599d7867f5e1a2d7ec6db9710df2b98a15573", "0x9c2bc757b66f24d60f016b6237f8cdd414a879fa", "0x9f4cda013e354b8fc285bf4b9a60460cee7f7ea9", "0xa0e1c89ef1a489c9c7de96311ed5ce5d32c20e4b", - "0xa160cdab225685da1d56aa342ad8841c3b53f291", - "0xa5c2254e4253490c54cef0a4347fddb8f75a4998", - "0xa60c772958a3ed56c1f15dd055ba37ac8e523a0d", "0xa7e5d5a720f06526557c513402f2e6b5fa20b008", - "0xaeaac358560e11f52454d997aaff2c5731b6f8a6", - "0xaf4c0b70b2ea9fb7487c7cbb37ada259579fe040", - "0xaf8d1839c3c67cf571aa74b5c12398d4901147b3", - "0xb04e030140b30c27bcdfaafffa98c57d80eda7b4", - "0xb1c8094b234dce6e03f10a5b673c1d8c69739a00", - "0xb20c66c4de72433f3ce747b58b86830c459ca911", - "0xb541fc07bc7619fd4062a54d96268525cbc6ffef", + "0xac4cc4b68ea24bbfaac8fd127b67ed445accce22", + "0xb338962b92cd818d6aef0a32a9ecd01212a71f33", + "0xb637f84b66876ebf609c2a4208905f9ddac9d075", "0xb6f5ec1a0a9cd1526536d3f0426c429529471f40", - "0xba214c1c1928a32bffe790263e38b4af9bfcd659", - "0xbb93e510bbcd0b7beb5a853875f9ec60275cf498", + "0xc103b7dc095c904b92081eef0c1640081ec01c10", "0xc2a3829f459b3edd87791c74cd45402ba0a20be3", "0xc455f7fd3e0e12afd51fba5c106909934d8a0e4a", - "0xca0840578f57fe71599d29375e16783424023357", - "0xcc84179ffd19a1627e79f8648d09e095252bc418", - "0xcee71753c9820f063b38fdbe4cfdaf1d3d928a80", + "0xcb74874f1e06fcf80a306e06e5379a44b488ba2d", + "0xd04e33461fea8302c5e1e13895b60cee8aefda7f", "0xd0975b32cea532eadddfc9c60481976e39db3472", - "0xd21be7248e0197ee08e0c20d4a96debdac3d20af", - "0xd47438c816c9e7f2e2888e060936a499af9582b3", - "0xd4b88df4d29f5cedd6857912842cff3b20c8cfa3", - "0xd5d6f8d9e784d0e26222ad3834500801a68d027d", - "0xd691f27f38b395864ea86cfc7253969b409c362d", - "0xd692fd2d0b2fbd2e52cfa5b5b9424bc981c30696", - "0xd82ed8786d7c69dc7e052f7a542ab047971e73d2", + "0xd5ed34b52ac4ab84d8fa8a231a3218bbf01ed510", + "0xd8500c631dc32fa18645b7436344a99e4825e10e", "0xd882cfc20f52f2599d84b8e8d58c7fb62cfe344b", - "0xd8d7de3349ccaa0fde6298fe6d7b7d0d34586193", - "0xd90e2f925da726b50c4ed8d0fb90ad053324f31b", - "0xd96f2b1c14db8458374d9aca76e26c3d18364307", + "0xdb2720ebad55399117ddb4c4a4afd9a4ccada8fe", "0xdcbeffbecce100cce9e4b153c4e15cb885643193", - "0xdd4c48c0b24039969fc16d1cdf626eab821d3384", - "0xdf231d99ff8b6c6cbf4e9b9a945cbacef9339178", - "0xdf3a408c53e5078af6e8fb2a85088d46ee09a61b", "0xe1d865c3d669dcc8c57c8d023140cb204e672ee4", + "0xe1e4c5e5ed8f03ae61b581e2def126025f2b9401", + "0xe3d35f68383732649669aa990832e017340dbca5", "0xe7aa314c77f4233c18c6cc84384a9247c0cf367b", "0xe950dc316b836e4eefb8308bf32bf7c72a1358ff", "0xed6e0a7e4ac94d976eebfb82ccf777a3c6bad921", - "0xedc5d01286f99a066559f60a585406f3878a033e", "0xefe301d259f525ca1ba74a7977b80d5b060b3cca", + "0xf2235d55b2950a0b1317469d72d07ae65b2e27cb", "0xf3701f445b6bdafedbca97d1e477357839e4120d", - "0xf4b067dd14e95bab89be928c07cb22e3c94e0daa", - "0xf60dd140cff0706bae9cd734ac3ae76ad9ebc32a", - "0xf67721a2d8f736e75a49fdd7fad2e31d8676542a", + "0xf4377eda661e04b6dda78969796ed31658d602d4", "0xf7b31119c2682c88d88d455dbb9d5932c65cf1be", "0xfac583c0cf07ea434052c49115a4682172ab6b4f", - "0xfd8610d20aa15b7b2e3be39b396a1bc3516c7144", + "0xfb3eff152ea55d1bfa04dbdd509a80fd7b72cdeb", + "0xfda1ec4a6178d4916b001a065422d31ebe5f62ff", "0xfec8a60023265364d066a1212fde3930f6ae8da7", - "0xffbac21a641dcfe4552920138d90f3638b3c9fba", "0xc5801cd781d168e2d3899ad9c39d8a2541871298", "0x0992E2D17e0082Df8a31Bf36Bd8Cc662551de68B", - "0x8aa07899eb940f40e514b8effdb3b6af5d1cf7bb" + "0x8aa07899eb940f40e514b8effdb3b6af5d1cf7bb", + "0xb9436d76e8fe08859d042e41b4a21c85715e1176", + "0x7bc5cb059f21553af489d2b2df3d40aaae9b44e8", + "0x430ab3c698b3210548b6ac9f72936b43b15ebe9b" ] diff --git a/pyinjective/orderhash.py b/pyinjective/orderhash.py index 1d7f91cf..a0e938ba 100644 --- a/pyinjective/orderhash.py +++ b/pyinjective/orderhash.py @@ -1,47 +1,52 @@ from decimal import Decimal import requests -from eip712.messages import EIP712Message, EIP712Type +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 pyinjective.core.token import Token class OrderInfo(EIP712Type): - SubaccountId: "string" # noqa: F821 - FeeRecipient: "string" # noqa: F821 - Price: "string" # noqa: F821 - Quantity: "string" # noqa: F821 + SubaccountId: abi.string + FeeRecipient: abi.string + Price: abi.string + Quantity: abi.string class SpotOrder(EIP712Message): - _name_ = "Injective Protocol" - _version_ = "2.0.0" - _chainId_ = 888 - _verifyingContract_ = "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC" - _salt_ = HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000") - - MarketId: "string" # noqa: F821 + eip712_domain = EIP712Domain( + name="Injective Protocol", + version="2.0.0", + chainId=888, + verifyingContract="0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + salt=HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000"), + ) + + MarketId: abi.string OrderInfo: OrderInfo - Salt: "string" # noqa: F821 - OrderType: "string" # noqa: F821 - TriggerPrice: "string" # noqa: F821 + Salt: abi.string + OrderType: abi.string + TriggerPrice: abi.string class DerivativeOrder(EIP712Message): - _name_ = "Injective Protocol" - _version_ = "2.0.0" - _chainId_ = 888 - _verifyingContract_ = "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC" - _salt_ = HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000") - - MarketId: "string" # noqa: F821 + eip712_domain = EIP712Domain( + name="Injective Protocol", + version="2.0.0", + chainId=888, + verifyingContract="0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + salt=HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000"), + ) + + MarketId: abi.string OrderInfo: OrderInfo - OrderType: "string" # noqa: F821 - Margin: "string" # noqa: F821 - TriggerPrice: "string" # noqa: F821 - Salt: "string" # noqa: F821 + OrderType: abi.string + Margin: abi.string + TriggerPrice: abi.string + Salt: abi.string # domain_separator = EIP712_domain.hash_struct() diff --git a/pyinjective/proto/cometbft/abci/v1/service_pb2.py b/pyinjective/proto/cometbft/abci/v1/service_pb2.py new file mode 100644 index 00000000..4d4c5a63 --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1/service_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/abci/v1/service.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63ometbft/abci/v1/service.proto\x12\x10\x63ometbft.abci.v1\x1a\x1c\x63ometbft/abci/v1/types.proto2\xc4\x0b\n\x0b\x41\x42\x43IService\x12\x45\n\x04\x45\x63ho\x12\x1d.cometbft.abci.v1.EchoRequest\x1a\x1e.cometbft.abci.v1.EchoResponse\x12H\n\x05\x46lush\x12\x1e.cometbft.abci.v1.FlushRequest\x1a\x1f.cometbft.abci.v1.FlushResponse\x12\x45\n\x04Info\x12\x1d.cometbft.abci.v1.InfoRequest\x1a\x1e.cometbft.abci.v1.InfoResponse\x12N\n\x07\x43heckTx\x12 .cometbft.abci.v1.CheckTxRequest\x1a!.cometbft.abci.v1.CheckTxResponse\x12H\n\x05Query\x12\x1e.cometbft.abci.v1.QueryRequest\x1a\x1f.cometbft.abci.v1.QueryResponse\x12K\n\x06\x43ommit\x12\x1f.cometbft.abci.v1.CommitRequest\x1a .cometbft.abci.v1.CommitResponse\x12T\n\tInitChain\x12\".cometbft.abci.v1.InitChainRequest\x1a#.cometbft.abci.v1.InitChainResponse\x12`\n\rListSnapshots\x12&.cometbft.abci.v1.ListSnapshotsRequest\x1a\'.cometbft.abci.v1.ListSnapshotsResponse\x12`\n\rOfferSnapshot\x12&.cometbft.abci.v1.OfferSnapshotRequest\x1a\'.cometbft.abci.v1.OfferSnapshotResponse\x12l\n\x11LoadSnapshotChunk\x12*.cometbft.abci.v1.LoadSnapshotChunkRequest\x1a+.cometbft.abci.v1.LoadSnapshotChunkResponse\x12o\n\x12\x41pplySnapshotChunk\x12+.cometbft.abci.v1.ApplySnapshotChunkRequest\x1a,.cometbft.abci.v1.ApplySnapshotChunkResponse\x12\x66\n\x0fPrepareProposal\x12(.cometbft.abci.v1.PrepareProposalRequest\x1a).cometbft.abci.v1.PrepareProposalResponse\x12\x66\n\x0fProcessProposal\x12(.cometbft.abci.v1.ProcessProposalRequest\x1a).cometbft.abci.v1.ProcessProposalResponse\x12W\n\nExtendVote\x12#.cometbft.abci.v1.ExtendVoteRequest\x1a$.cometbft.abci.v1.ExtendVoteResponse\x12r\n\x13VerifyVoteExtension\x12,.cometbft.abci.v1.VerifyVoteExtensionRequest\x1a-.cometbft.abci.v1.VerifyVoteExtensionResponse\x12`\n\rFinalizeBlock\x12&.cometbft.abci.v1.FinalizeBlockRequest\x1a\'.cometbft.abci.v1.FinalizeBlockResponseB\xb9\x01\n\x14\x63om.cometbft.abci.v1B\x0cServiceProtoP\x01Z1github.com/cometbft/cometbft/api/cometbft/abci/v1\xa2\x02\x03\x43\x41X\xaa\x02\x10\x43ometbft.Abci.V1\xca\x02\x10\x43ometbft\\Abci\\V1\xe2\x02\x1c\x43ometbft\\Abci\\V1\\GPBMetadata\xea\x02\x12\x43ometbft::Abci::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.abci.v1.service_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.cometbft.abci.v1B\014ServiceProtoP\001Z1github.com/cometbft/cometbft/api/cometbft/abci/v1\242\002\003CAX\252\002\020Cometbft.Abci.V1\312\002\020Cometbft\\Abci\\V1\342\002\034Cometbft\\Abci\\V1\\GPBMetadata\352\002\022Cometbft::Abci::V1' + _globals['_ABCISERVICE']._serialized_start=83 + _globals['_ABCISERVICE']._serialized_end=1559 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/abci/types_pb2_grpc.py b/pyinjective/proto/cometbft/abci/v1/service_pb2_grpc.py similarity index 56% rename from pyinjective/proto/tendermint/abci/types_pb2_grpc.py rename to pyinjective/proto/cometbft/abci/v1/service_pb2_grpc.py index d18cc0b2..a0426588 100644 --- a/pyinjective/proto/tendermint/abci/types_pb2_grpc.py +++ b/pyinjective/proto/cometbft/abci/v1/service_pb2_grpc.py @@ -2,13 +2,11 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from pyinjective.proto.tendermint.abci import types_pb2 as tendermint_dot_abci_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 -class ABCIStub(object): - """NOTE: When using custom types, mind the warnings. - https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues - +class ABCIServiceStub(object): + """ABCIService is a service for an ABCI application. """ def __init__(self, channel): @@ -18,284 +16,296 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.Echo = channel.unary_unary( - '/tendermint.abci.ABCI/Echo', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestEcho.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseEcho.FromString, + '/cometbft.abci.v1.ABCIService/Echo', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.EchoRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.EchoResponse.FromString, _registered_method=True) self.Flush = channel.unary_unary( - '/tendermint.abci.ABCI/Flush', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestFlush.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseFlush.FromString, + '/cometbft.abci.v1.ABCIService/Flush', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FlushRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FlushResponse.FromString, _registered_method=True) self.Info = channel.unary_unary( - '/tendermint.abci.ABCI/Info', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestInfo.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseInfo.FromString, + '/cometbft.abci.v1.ABCIService/Info', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InfoRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InfoResponse.FromString, _registered_method=True) self.CheckTx = channel.unary_unary( - '/tendermint.abci.ABCI/CheckTx', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestCheckTx.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseCheckTx.FromString, + '/cometbft.abci.v1.ABCIService/CheckTx', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxResponse.FromString, _registered_method=True) self.Query = channel.unary_unary( - '/tendermint.abci.ABCI/Query', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestQuery.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseQuery.FromString, + '/cometbft.abci.v1.ABCIService/Query', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.QueryRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.QueryResponse.FromString, _registered_method=True) self.Commit = channel.unary_unary( - '/tendermint.abci.ABCI/Commit', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestCommit.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseCommit.FromString, + '/cometbft.abci.v1.ABCIService/Commit', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CommitRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CommitResponse.FromString, _registered_method=True) self.InitChain = channel.unary_unary( - '/tendermint.abci.ABCI/InitChain', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestInitChain.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseInitChain.FromString, + '/cometbft.abci.v1.ABCIService/InitChain', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainResponse.FromString, _registered_method=True) self.ListSnapshots = channel.unary_unary( - '/tendermint.abci.ABCI/ListSnapshots', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestListSnapshots.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseListSnapshots.FromString, + '/cometbft.abci.v1.ABCIService/ListSnapshots', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsResponse.FromString, _registered_method=True) self.OfferSnapshot = channel.unary_unary( - '/tendermint.abci.ABCI/OfferSnapshot', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestOfferSnapshot.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseOfferSnapshot.FromString, + '/cometbft.abci.v1.ABCIService/OfferSnapshot', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotResponse.FromString, _registered_method=True) self.LoadSnapshotChunk = channel.unary_unary( - '/tendermint.abci.ABCI/LoadSnapshotChunk', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + '/cometbft.abci.v1.ABCIService/LoadSnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkResponse.FromString, _registered_method=True) self.ApplySnapshotChunk = channel.unary_unary( - '/tendermint.abci.ABCI/ApplySnapshotChunk', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + '/cometbft.abci.v1.ABCIService/ApplySnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkResponse.FromString, _registered_method=True) self.PrepareProposal = channel.unary_unary( - '/tendermint.abci.ABCI/PrepareProposal', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestPrepareProposal.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponsePrepareProposal.FromString, + '/cometbft.abci.v1.ABCIService/PrepareProposal', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalResponse.FromString, _registered_method=True) self.ProcessProposal = channel.unary_unary( - '/tendermint.abci.ABCI/ProcessProposal', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestProcessProposal.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseProcessProposal.FromString, + '/cometbft.abci.v1.ABCIService/ProcessProposal', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalResponse.FromString, _registered_method=True) self.ExtendVote = channel.unary_unary( - '/tendermint.abci.ABCI/ExtendVote', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestExtendVote.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseExtendVote.FromString, + '/cometbft.abci.v1.ABCIService/ExtendVote', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteResponse.FromString, _registered_method=True) self.VerifyVoteExtension = channel.unary_unary( - '/tendermint.abci.ABCI/VerifyVoteExtension', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestVerifyVoteExtension.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseVerifyVoteExtension.FromString, + '/cometbft.abci.v1.ABCIService/VerifyVoteExtension', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionResponse.FromString, _registered_method=True) self.FinalizeBlock = channel.unary_unary( - '/tendermint.abci.ABCI/FinalizeBlock', - request_serializer=tendermint_dot_abci_dot_types__pb2.RequestFinalizeBlock.SerializeToString, - response_deserializer=tendermint_dot_abci_dot_types__pb2.ResponseFinalizeBlock.FromString, + '/cometbft.abci.v1.ABCIService/FinalizeBlock', + request_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockRequest.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockResponse.FromString, _registered_method=True) -class ABCIServicer(object): - """NOTE: When using custom types, mind the warnings. - https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues - +class ABCIServiceServicer(object): + """ABCIService is a service for an ABCI application. """ def Echo(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Echo returns back the same message it is sent. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def Flush(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Flush flushes the write buffer. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def Info(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Info returns information about the application state. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def CheckTx(self, request, context): - """Missing associated documentation comment in .proto file.""" + """CheckTx validates a transaction. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def Query(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Query queries the application state. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def Commit(self, request, context): - """Missing associated documentation comment in .proto file.""" + """Commit commits a block of transactions. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def InitChain(self, request, context): - """Missing associated documentation comment in .proto file.""" + """InitChain initializes the blockchain. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ListSnapshots(self, request, context): - """Missing associated documentation comment in .proto file.""" + """ListSnapshots lists all the available snapshots. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def OfferSnapshot(self, request, context): - """Missing associated documentation comment in .proto file.""" + """OfferSnapshot sends a snapshot offer. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def LoadSnapshotChunk(self, request, context): - """Missing associated documentation comment in .proto file.""" + """LoadSnapshotChunk returns a chunk of snapshot. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ApplySnapshotChunk(self, request, context): - """Missing associated documentation comment in .proto file.""" + """ApplySnapshotChunk applies a chunk of snapshot. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def PrepareProposal(self, request, context): - """Missing associated documentation comment in .proto file.""" + """PrepareProposal returns a proposal for the next block. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ProcessProposal(self, request, context): - """Missing associated documentation comment in .proto file.""" + """ProcessProposal validates a proposal. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def ExtendVote(self, request, context): - """Missing associated documentation comment in .proto file.""" + """ExtendVote extends a vote with application-injected data (vote extensions). + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def VerifyVoteExtension(self, request, context): - """Missing associated documentation comment in .proto file.""" + """VerifyVoteExtension verifies a vote extension. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') def FinalizeBlock(self, request, context): - """Missing associated documentation comment in .proto file.""" + """FinalizeBlock finalizes a block. + """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') -def add_ABCIServicer_to_server(servicer, server): +def add_ABCIServiceServicer_to_server(servicer, server): rpc_method_handlers = { 'Echo': grpc.unary_unary_rpc_method_handler( servicer.Echo, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestEcho.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseEcho.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.EchoRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.EchoResponse.SerializeToString, ), 'Flush': grpc.unary_unary_rpc_method_handler( servicer.Flush, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestFlush.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseFlush.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FlushRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FlushResponse.SerializeToString, ), 'Info': grpc.unary_unary_rpc_method_handler( servicer.Info, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestInfo.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseInfo.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InfoRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InfoResponse.SerializeToString, ), 'CheckTx': grpc.unary_unary_rpc_method_handler( servicer.CheckTx, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestCheckTx.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseCheckTx.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxResponse.SerializeToString, ), 'Query': grpc.unary_unary_rpc_method_handler( servicer.Query, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestQuery.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseQuery.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.QueryRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.QueryResponse.SerializeToString, ), 'Commit': grpc.unary_unary_rpc_method_handler( servicer.Commit, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestCommit.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseCommit.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CommitRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.CommitResponse.SerializeToString, ), 'InitChain': grpc.unary_unary_rpc_method_handler( servicer.InitChain, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestInitChain.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseInitChain.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainResponse.SerializeToString, ), 'ListSnapshots': grpc.unary_unary_rpc_method_handler( servicer.ListSnapshots, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestListSnapshots.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseListSnapshots.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsResponse.SerializeToString, ), 'OfferSnapshot': grpc.unary_unary_rpc_method_handler( servicer.OfferSnapshot, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestOfferSnapshot.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseOfferSnapshot.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotResponse.SerializeToString, ), 'LoadSnapshotChunk': grpc.unary_unary_rpc_method_handler( servicer.LoadSnapshotChunk, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestLoadSnapshotChunk.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseLoadSnapshotChunk.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkResponse.SerializeToString, ), 'ApplySnapshotChunk': grpc.unary_unary_rpc_method_handler( servicer.ApplySnapshotChunk, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestApplySnapshotChunk.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseApplySnapshotChunk.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkResponse.SerializeToString, ), 'PrepareProposal': grpc.unary_unary_rpc_method_handler( servicer.PrepareProposal, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestPrepareProposal.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponsePrepareProposal.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalResponse.SerializeToString, ), 'ProcessProposal': grpc.unary_unary_rpc_method_handler( servicer.ProcessProposal, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestProcessProposal.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseProcessProposal.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalResponse.SerializeToString, ), 'ExtendVote': grpc.unary_unary_rpc_method_handler( servicer.ExtendVote, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestExtendVote.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseExtendVote.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteResponse.SerializeToString, ), 'VerifyVoteExtension': grpc.unary_unary_rpc_method_handler( servicer.VerifyVoteExtension, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestVerifyVoteExtension.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseVerifyVoteExtension.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionResponse.SerializeToString, ), 'FinalizeBlock': grpc.unary_unary_rpc_method_handler( servicer.FinalizeBlock, - request_deserializer=tendermint_dot_abci_dot_types__pb2.RequestFinalizeBlock.FromString, - response_serializer=tendermint_dot_abci_dot_types__pb2.ResponseFinalizeBlock.SerializeToString, + request_deserializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockRequest.FromString, + response_serializer=cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockResponse.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( - 'tendermint.abci.ABCI', rpc_method_handlers) + 'cometbft.abci.v1.ABCIService', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('tendermint.abci.ABCI', rpc_method_handlers) + server.add_registered_method_handlers('cometbft.abci.v1.ABCIService', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. -class ABCI(object): - """NOTE: When using custom types, mind the warnings. - https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues - +class ABCIService(object): + """ABCIService is a service for an ABCI application. """ @staticmethod @@ -312,9 +322,9 @@ def Echo(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/Echo', - tendermint_dot_abci_dot_types__pb2.RequestEcho.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseEcho.FromString, + '/cometbft.abci.v1.ABCIService/Echo', + cometbft_dot_abci_dot_v1_dot_types__pb2.EchoRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.EchoResponse.FromString, options, channel_credentials, insecure, @@ -339,9 +349,9 @@ def Flush(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/Flush', - tendermint_dot_abci_dot_types__pb2.RequestFlush.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseFlush.FromString, + '/cometbft.abci.v1.ABCIService/Flush', + cometbft_dot_abci_dot_v1_dot_types__pb2.FlushRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.FlushResponse.FromString, options, channel_credentials, insecure, @@ -366,9 +376,9 @@ def Info(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/Info', - tendermint_dot_abci_dot_types__pb2.RequestInfo.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseInfo.FromString, + '/cometbft.abci.v1.ABCIService/Info', + cometbft_dot_abci_dot_v1_dot_types__pb2.InfoRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.InfoResponse.FromString, options, channel_credentials, insecure, @@ -393,9 +403,9 @@ def CheckTx(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/CheckTx', - tendermint_dot_abci_dot_types__pb2.RequestCheckTx.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseCheckTx.FromString, + '/cometbft.abci.v1.ABCIService/CheckTx', + cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.CheckTxResponse.FromString, options, channel_credentials, insecure, @@ -420,9 +430,9 @@ def Query(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/Query', - tendermint_dot_abci_dot_types__pb2.RequestQuery.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseQuery.FromString, + '/cometbft.abci.v1.ABCIService/Query', + cometbft_dot_abci_dot_v1_dot_types__pb2.QueryRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.QueryResponse.FromString, options, channel_credentials, insecure, @@ -447,9 +457,9 @@ def Commit(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/Commit', - tendermint_dot_abci_dot_types__pb2.RequestCommit.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseCommit.FromString, + '/cometbft.abci.v1.ABCIService/Commit', + cometbft_dot_abci_dot_v1_dot_types__pb2.CommitRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.CommitResponse.FromString, options, channel_credentials, insecure, @@ -474,9 +484,9 @@ def InitChain(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/InitChain', - tendermint_dot_abci_dot_types__pb2.RequestInitChain.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseInitChain.FromString, + '/cometbft.abci.v1.ABCIService/InitChain', + cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.InitChainResponse.FromString, options, channel_credentials, insecure, @@ -501,9 +511,9 @@ def ListSnapshots(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/ListSnapshots', - tendermint_dot_abci_dot_types__pb2.RequestListSnapshots.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseListSnapshots.FromString, + '/cometbft.abci.v1.ABCIService/ListSnapshots', + cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.ListSnapshotsResponse.FromString, options, channel_credentials, insecure, @@ -528,9 +538,9 @@ def OfferSnapshot(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/OfferSnapshot', - tendermint_dot_abci_dot_types__pb2.RequestOfferSnapshot.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseOfferSnapshot.FromString, + '/cometbft.abci.v1.ABCIService/OfferSnapshot', + cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.OfferSnapshotResponse.FromString, options, channel_credentials, insecure, @@ -555,9 +565,9 @@ def LoadSnapshotChunk(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/LoadSnapshotChunk', - tendermint_dot_abci_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + '/cometbft.abci.v1.ABCIService/LoadSnapshotChunk', + cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.LoadSnapshotChunkResponse.FromString, options, channel_credentials, insecure, @@ -582,9 +592,9 @@ def ApplySnapshotChunk(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/ApplySnapshotChunk', - tendermint_dot_abci_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + '/cometbft.abci.v1.ABCIService/ApplySnapshotChunk', + cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.ApplySnapshotChunkResponse.FromString, options, channel_credentials, insecure, @@ -609,9 +619,9 @@ def PrepareProposal(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/PrepareProposal', - tendermint_dot_abci_dot_types__pb2.RequestPrepareProposal.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponsePrepareProposal.FromString, + '/cometbft.abci.v1.ABCIService/PrepareProposal', + cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.PrepareProposalResponse.FromString, options, channel_credentials, insecure, @@ -636,9 +646,9 @@ def ProcessProposal(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/ProcessProposal', - tendermint_dot_abci_dot_types__pb2.RequestProcessProposal.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseProcessProposal.FromString, + '/cometbft.abci.v1.ABCIService/ProcessProposal', + cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.ProcessProposalResponse.FromString, options, channel_credentials, insecure, @@ -663,9 +673,9 @@ def ExtendVote(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/ExtendVote', - tendermint_dot_abci_dot_types__pb2.RequestExtendVote.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseExtendVote.FromString, + '/cometbft.abci.v1.ABCIService/ExtendVote', + cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.ExtendVoteResponse.FromString, options, channel_credentials, insecure, @@ -690,9 +700,9 @@ def VerifyVoteExtension(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/VerifyVoteExtension', - tendermint_dot_abci_dot_types__pb2.RequestVerifyVoteExtension.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseVerifyVoteExtension.FromString, + '/cometbft.abci.v1.ABCIService/VerifyVoteExtension', + cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.VerifyVoteExtensionResponse.FromString, options, channel_credentials, insecure, @@ -717,9 +727,9 @@ def FinalizeBlock(request, return grpc.experimental.unary_unary( request, target, - '/tendermint.abci.ABCI/FinalizeBlock', - tendermint_dot_abci_dot_types__pb2.RequestFinalizeBlock.SerializeToString, - tendermint_dot_abci_dot_types__pb2.ResponseFinalizeBlock.FromString, + '/cometbft.abci.v1.ABCIService/FinalizeBlock', + cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockRequest.SerializeToString, + cometbft_dot_abci_dot_v1_dot_types__pb2.FinalizeBlockResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/cometbft/abci/v1/types_pb2.py b/pyinjective/proto/cometbft/abci/v1/types_pb2.py new file mode 100644 index 00000000..bca0e03c --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1/types_pb2.py @@ -0,0 +1,206 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/abci/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import proof_pb2 as cometbft_dot_crypto_dot_v1_dot_proof__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1 import validator_pb2 as cometbft_dot_types_dot_v1_dot_validator__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63ometbft/abci/v1/types.proto\x12\x10\x63ometbft.abci.v1\x1a\x1e\x63ometbft/crypto/v1/proof.proto\x1a\x1e\x63ometbft/types/v1/params.proto\x1a!cometbft/types/v1/validator.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcf\t\n\x07Request\x12\x33\n\x04\x65\x63ho\x18\x01 \x01(\x0b\x32\x1d.cometbft.abci.v1.EchoRequestH\x00R\x04\x65\x63ho\x12\x36\n\x05\x66lush\x18\x02 \x01(\x0b\x32\x1e.cometbft.abci.v1.FlushRequestH\x00R\x05\x66lush\x12\x33\n\x04info\x18\x03 \x01(\x0b\x32\x1d.cometbft.abci.v1.InfoRequestH\x00R\x04info\x12\x43\n\ninit_chain\x18\x05 \x01(\x0b\x32\".cometbft.abci.v1.InitChainRequestH\x00R\tinitChain\x12\x36\n\x05query\x18\x06 \x01(\x0b\x32\x1e.cometbft.abci.v1.QueryRequestH\x00R\x05query\x12=\n\x08\x63heck_tx\x18\x08 \x01(\x0b\x32 .cometbft.abci.v1.CheckTxRequestH\x00R\x07\x63heckTx\x12\x39\n\x06\x63ommit\x18\x0b \x01(\x0b\x32\x1f.cometbft.abci.v1.CommitRequestH\x00R\x06\x63ommit\x12O\n\x0elist_snapshots\x18\x0c \x01(\x0b\x32&.cometbft.abci.v1.ListSnapshotsRequestH\x00R\rlistSnapshots\x12O\n\x0eoffer_snapshot\x18\r \x01(\x0b\x32&.cometbft.abci.v1.OfferSnapshotRequestH\x00R\rofferSnapshot\x12\\\n\x13load_snapshot_chunk\x18\x0e \x01(\x0b\x32*.cometbft.abci.v1.LoadSnapshotChunkRequestH\x00R\x11loadSnapshotChunk\x12_\n\x14\x61pply_snapshot_chunk\x18\x0f \x01(\x0b\x32+.cometbft.abci.v1.ApplySnapshotChunkRequestH\x00R\x12\x61pplySnapshotChunk\x12U\n\x10prepare_proposal\x18\x10 \x01(\x0b\x32(.cometbft.abci.v1.PrepareProposalRequestH\x00R\x0fprepareProposal\x12U\n\x10process_proposal\x18\x11 \x01(\x0b\x32(.cometbft.abci.v1.ProcessProposalRequestH\x00R\x0fprocessProposal\x12\x46\n\x0b\x65xtend_vote\x18\x12 \x01(\x0b\x32#.cometbft.abci.v1.ExtendVoteRequestH\x00R\nextendVote\x12\x62\n\x15verify_vote_extension\x18\x13 \x01(\x0b\x32,.cometbft.abci.v1.VerifyVoteExtensionRequestH\x00R\x13verifyVoteExtension\x12O\n\x0e\x66inalize_block\x18\x14 \x01(\x0b\x32&.cometbft.abci.v1.FinalizeBlockRequestH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x04\x10\x05J\x04\x08\x07\x10\x08J\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"\'\n\x0b\x45\x63hoRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0e\n\x0c\x46lushRequest\"\x90\x01\n\x0bInfoRequest\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12#\n\rblock_version\x18\x02 \x01(\x04R\x0c\x62lockVersion\x12\x1f\n\x0bp2p_version\x18\x03 \x01(\x04R\np2pVersion\x12!\n\x0c\x61\x62\x63i_version\x18\x04 \x01(\tR\x0b\x61\x62\x63iVersion\"\xce\x02\n\x10InitChainRequest\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12M\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x0f\x63onsensusParams\x12G\n\nvalidators\x18\x04 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12&\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0cR\rappStateBytes\x12%\n\x0einitial_height\x18\x06 \x01(\x03R\rinitialHeight\"d\n\x0cQueryRequest\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"Y\n\x0e\x43heckTxRequest\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12\x31\n\x04type\x18\x03 \x01(\x0e\x32\x1d.cometbft.abci.v1.CheckTxTypeR\x04typeJ\x04\x08\x02\x10\x03\"\x0f\n\rCommitRequest\"\x16\n\x14ListSnapshotsRequest\"i\n\x14OfferSnapshotRequest\x12\x36\n\x08snapshot\x18\x01 \x01(\x0b\x32\x1a.cometbft.abci.v1.SnapshotR\x08snapshot\x12\x19\n\x08\x61pp_hash\x18\x02 \x01(\x0cR\x07\x61ppHash\"`\n\x18LoadSnapshotChunkRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x14\n\x05\x63hunk\x18\x03 \x01(\rR\x05\x63hunk\"_\n\x19\x41pplySnapshotChunkRequest\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x63hunk\x18\x02 \x01(\x0cR\x05\x63hunk\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender\"\x9a\x03\n\x16PrepareProposalRequest\x12 \n\x0cmax_tx_bytes\x18\x01 \x01(\x03R\nmaxTxBytes\x12\x10\n\x03txs\x18\x02 \x03(\x0cR\x03txs\x12V\n\x11local_last_commit\x18\x03 \x01(\x0b\x32$.cometbft.abci.v1.ExtendedCommitInfoB\x04\xc8\xde\x1f\x00R\x0flocalLastCommit\x12\x45\n\x0bmisbehavior\x18\x04 \x03(\x0b\x32\x1d.cometbft.abci.v1.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x8a\x03\n\x16ProcessProposalRequest\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12T\n\x14proposed_last_commit\x18\x02 \x01(\x0b\x32\x1c.cometbft.abci.v1.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12\x45\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\x1d.cometbft.abci.v1.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x85\x03\n\x11\x45xtendVoteRequest\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x10\n\x03txs\x18\x04 \x03(\x0cR\x03txs\x12T\n\x14proposed_last_commit\x18\x05 \x01(\x0b\x32\x1c.cometbft.abci.v1.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12\x45\n\x0bmisbehavior\x18\x06 \x03(\x0b\x32\x1d.cometbft.abci.v1.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x9c\x01\n\x1aVerifyVoteExtensionRequest\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12%\n\x0evote_extension\x18\x04 \x01(\x0cR\rvoteExtension\"\xb2\x03\n\x14\x46inalizeBlockRequest\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12R\n\x13\x64\x65\x63ided_last_commit\x18\x02 \x01(\x0b\x32\x1c.cometbft.abci.v1.CommitInfoB\x04\xc8\xde\x1f\x00R\x11\x64\x65\x63idedLastCommit\x12\x45\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\x1d.cometbft.abci.v1.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\x12*\n\x11syncing_to_height\x18\t \x01(\x03R\x0fsyncingToHeight\"\xa5\n\n\x08Response\x12\x43\n\texception\x18\x01 \x01(\x0b\x32#.cometbft.abci.v1.ExceptionResponseH\x00R\texception\x12\x34\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32\x1e.cometbft.abci.v1.EchoResponseH\x00R\x04\x65\x63ho\x12\x37\n\x05\x66lush\x18\x03 \x01(\x0b\x32\x1f.cometbft.abci.v1.FlushResponseH\x00R\x05\x66lush\x12\x34\n\x04info\x18\x04 \x01(\x0b\x32\x1e.cometbft.abci.v1.InfoResponseH\x00R\x04info\x12\x44\n\ninit_chain\x18\x06 \x01(\x0b\x32#.cometbft.abci.v1.InitChainResponseH\x00R\tinitChain\x12\x37\n\x05query\x18\x07 \x01(\x0b\x32\x1f.cometbft.abci.v1.QueryResponseH\x00R\x05query\x12>\n\x08\x63heck_tx\x18\t \x01(\x0b\x32!.cometbft.abci.v1.CheckTxResponseH\x00R\x07\x63heckTx\x12:\n\x06\x63ommit\x18\x0c \x01(\x0b\x32 .cometbft.abci.v1.CommitResponseH\x00R\x06\x63ommit\x12P\n\x0elist_snapshots\x18\r \x01(\x0b\x32\'.cometbft.abci.v1.ListSnapshotsResponseH\x00R\rlistSnapshots\x12P\n\x0eoffer_snapshot\x18\x0e \x01(\x0b\x32\'.cometbft.abci.v1.OfferSnapshotResponseH\x00R\rofferSnapshot\x12]\n\x13load_snapshot_chunk\x18\x0f \x01(\x0b\x32+.cometbft.abci.v1.LoadSnapshotChunkResponseH\x00R\x11loadSnapshotChunk\x12`\n\x14\x61pply_snapshot_chunk\x18\x10 \x01(\x0b\x32,.cometbft.abci.v1.ApplySnapshotChunkResponseH\x00R\x12\x61pplySnapshotChunk\x12V\n\x10prepare_proposal\x18\x11 \x01(\x0b\x32).cometbft.abci.v1.PrepareProposalResponseH\x00R\x0fprepareProposal\x12V\n\x10process_proposal\x18\x12 \x01(\x0b\x32).cometbft.abci.v1.ProcessProposalResponseH\x00R\x0fprocessProposal\x12G\n\x0b\x65xtend_vote\x18\x13 \x01(\x0b\x32$.cometbft.abci.v1.ExtendVoteResponseH\x00R\nextendVote\x12\x63\n\x15verify_vote_extension\x18\x14 \x01(\x0b\x32-.cometbft.abci.v1.VerifyVoteExtensionResponseH\x00R\x13verifyVoteExtension\x12P\n\x0e\x66inalize_block\x18\x15 \x01(\x0b\x32\'.cometbft.abci.v1.FinalizeBlockResponseH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x05\x10\x06J\x04\x08\x08\x10\tJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0c\")\n\x11\x45xceptionResponse\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\"(\n\x0c\x45\x63hoResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0f\n\rFlushResponse\"\xfb\x02\n\x0cInfoResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1f\n\x0b\x61pp_version\x18\x03 \x01(\x04R\nappVersion\x12*\n\x11last_block_height\x18\x04 \x01(\x03R\x0flastBlockHeight\x12-\n\x13last_block_app_hash\x18\x05 \x01(\x0cR\x10lastBlockAppHash\x12[\n\x0flane_priorities\x18\x06 \x03(\x0b\x32\x32.cometbft.abci.v1.InfoResponse.LanePrioritiesEntryR\x0elanePriorities\x12!\n\x0c\x64\x65\x66\x61ult_lane\x18\x07 \x01(\tR\x0b\x64\x65\x66\x61ultLane\x1a\x41\n\x13LanePrioritiesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\rR\x05value:\x02\x38\x01\"\xc6\x01\n\x11InitChainResponse\x12M\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x0f\x63onsensusParams\x12G\n\nvalidators\x18\x02 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12\x19\n\x08\x61pp_hash\x18\x03 \x01(\x0cR\x07\x61ppHash\"\xf8\x01\n\rQueryResponse\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x12\x39\n\tproof_ops\x18\x08 \x01(\x0b\x32\x1c.cometbft.crypto.v1.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespace\"\xc4\x02\n\x0f\x43heckTxResponse\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12I\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\x12\x17\n\x07lane_id\x18\x0c \x01(\tR\x06laneIdJ\x04\x08\t\x10\x0cR\x06senderR\x08priorityR\rmempool_error\"A\n\x0e\x43ommitResponse\x12#\n\rretain_height\x18\x03 \x01(\x03R\x0cretainHeightJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"Q\n\x15ListSnapshotsResponse\x12\x38\n\tsnapshots\x18\x01 \x03(\x0b\x32\x1a.cometbft.abci.v1.SnapshotR\tsnapshots\"V\n\x15OfferSnapshotResponse\x12=\n\x06result\x18\x01 \x01(\x0e\x32%.cometbft.abci.v1.OfferSnapshotResultR\x06result\"1\n\x19LoadSnapshotChunkResponse\x12\x14\n\x05\x63hunk\x18\x01 \x01(\x0cR\x05\x63hunk\"\xae\x01\n\x1a\x41pplySnapshotChunkResponse\x12\x42\n\x06result\x18\x01 \x01(\x0e\x32*.cometbft.abci.v1.ApplySnapshotChunkResultR\x06result\x12%\n\x0erefetch_chunks\x18\x02 \x03(\rR\rrefetchChunks\x12%\n\x0ereject_senders\x18\x03 \x03(\tR\rrejectSenders\"+\n\x17PrepareProposalResponse\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"Z\n\x17ProcessProposalResponse\x12?\n\x06status\x18\x01 \x01(\x0e\x32\'.cometbft.abci.v1.ProcessProposalStatusR\x06status\";\n\x12\x45xtendVoteResponse\x12%\n\x0evote_extension\x18\x01 \x01(\x0cR\rvoteExtension\"b\n\x1bVerifyVoteExtensionResponse\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.cometbft.abci.v1.VerifyVoteExtensionStatusR\x06status\"\xee\x02\n\x15\x46inalizeBlockResponse\x12I\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12=\n\ntx_results\x18\x02 \x03(\x0b\x32\x1e.cometbft.abci.v1.ExecTxResultR\ttxResults\x12T\n\x11validator_updates\x18\x03 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12Z\n\x17\x63onsensus_param_updates\x18\x04 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12\x19\n\x08\x61pp_hash\x18\x05 \x01(\x0cR\x07\x61ppHash\"Z\n\nCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12\x36\n\x05votes\x18\x02 \x03(\x0b\x32\x1a.cometbft.abci.v1.VoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"j\n\x12\x45xtendedCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12>\n\x05votes\x18\x02 \x03(\x0b\x32\".cometbft.abci.v1.ExtendedVoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"{\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12^\n\nattributes\x18\x02 \x03(\x0b\x32 .cometbft.abci.v1.EventAttributeB\x1c\xc8\xde\x1f\x00\xea\xde\x1f\x14\x61ttributes,omitemptyR\nattributes\"N\n\x0e\x45ventAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x14\n\x05index\x18\x03 \x01(\x08R\x05index\"\x81\x02\n\x0c\x45xecTxResult\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12I\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\"\x86\x01\n\x08TxResult\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12\x0e\n\x02tx\x18\x03 \x01(\x0cR\x02tx\x12<\n\x06result\x18\x04 \x01(\x0b\x32\x1e.cometbft.abci.v1.ExecTxResultB\x04\xc8\xde\x1f\x00R\x06result\";\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x03 \x01(\x03R\x05power\"s\n\x0fValidatorUpdate\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power\x12\"\n\rpub_key_bytes\x18\x03 \x01(\x0cR\x0bpubKeyBytes\x12 \n\x0cpub_key_type\x18\x04 \x01(\tR\npubKeyTypeJ\x04\x08\x01\x10\x02\"\x95\x01\n\x08VoteInfo\x12?\n\tvalidator\x18\x01 \x01(\x0b\x32\x1b.cometbft.abci.v1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x42\n\rblock_id_flag\x18\x03 \x01(\x0e\x32\x1e.cometbft.types.v1.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"\xf5\x01\n\x10\x45xtendedVoteInfo\x12?\n\tvalidator\x18\x01 \x01(\x0b\x32\x1b.cometbft.abci.v1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12%\n\x0evote_extension\x18\x03 \x01(\x0cR\rvoteExtension\x12/\n\x13\x65xtension_signature\x18\x04 \x01(\x0cR\x12\x65xtensionSignature\x12\x42\n\rblock_id_flag\x18\x05 \x01(\x0e\x32\x1e.cometbft.types.v1.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"\x85\x02\n\x0bMisbehavior\x12\x35\n\x04type\x18\x01 \x01(\x0e\x32!.cometbft.abci.v1.MisbehaviorTypeR\x04type\x12?\n\tvalidator\x18\x02 \x01(\x0b\x32\x1b.cometbft.abci.v1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12,\n\x12total_voting_power\x18\x05 \x01(\x03R\x10totalVotingPower\"\x82\x01\n\x08Snapshot\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x16\n\x06\x63hunks\x18\x03 \x01(\rR\x06\x63hunks\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x1a\n\x08metadata\x18\x05 \x01(\x0cR\x08metadata*b\n\x0b\x43heckTxType\x12\x19\n\x15\x43HECK_TX_TYPE_UNKNOWN\x10\x00\x12\x19\n\x15\x43HECK_TX_TYPE_RECHECK\x10\x01\x12\x17\n\x13\x43HECK_TX_TYPE_CHECK\x10\x02\x1a\x04\x88\xa3\x1e\x00*\xf5\x01\n\x13OfferSnapshotResult\x12!\n\x1dOFFER_SNAPSHOT_RESULT_UNKNOWN\x10\x00\x12 \n\x1cOFFER_SNAPSHOT_RESULT_ACCEPT\x10\x01\x12\x1f\n\x1bOFFER_SNAPSHOT_RESULT_ABORT\x10\x02\x12 \n\x1cOFFER_SNAPSHOT_RESULT_REJECT\x10\x03\x12\'\n#OFFER_SNAPSHOT_RESULT_REJECT_FORMAT\x10\x04\x12\'\n#OFFER_SNAPSHOT_RESULT_REJECT_SENDER\x10\x05\x1a\x04\x88\xa3\x1e\x00*\xa0\x02\n\x18\x41pplySnapshotChunkResult\x12\'\n#APPLY_SNAPSHOT_CHUNK_RESULT_UNKNOWN\x10\x00\x12&\n\"APPLY_SNAPSHOT_CHUNK_RESULT_ACCEPT\x10\x01\x12%\n!APPLY_SNAPSHOT_CHUNK_RESULT_ABORT\x10\x02\x12%\n!APPLY_SNAPSHOT_CHUNK_RESULT_RETRY\x10\x03\x12.\n*APPLY_SNAPSHOT_CHUNK_RESULT_RETRY_SNAPSHOT\x10\x04\x12/\n+APPLY_SNAPSHOT_CHUNK_RESULT_REJECT_SNAPSHOT\x10\x05\x1a\x04\x88\xa3\x1e\x00*\x8a\x01\n\x15ProcessProposalStatus\x12#\n\x1fPROCESS_PROPOSAL_STATUS_UNKNOWN\x10\x00\x12\"\n\x1ePROCESS_PROPOSAL_STATUS_ACCEPT\x10\x01\x12\"\n\x1ePROCESS_PROPOSAL_STATUS_REJECT\x10\x02\x1a\x04\x88\xa3\x1e\x00*\x9d\x01\n\x19VerifyVoteExtensionStatus\x12(\n$VERIFY_VOTE_EXTENSION_STATUS_UNKNOWN\x10\x00\x12\'\n#VERIFY_VOTE_EXTENSION_STATUS_ACCEPT\x10\x01\x12\'\n#VERIFY_VOTE_EXTENSION_STATUS_REJECT\x10\x02\x1a\x04\x88\xa3\x1e\x00*\x84\x01\n\x0fMisbehaviorType\x12\x1c\n\x18MISBEHAVIOR_TYPE_UNKNOWN\x10\x00\x12#\n\x1fMISBEHAVIOR_TYPE_DUPLICATE_VOTE\x10\x01\x12(\n$MISBEHAVIOR_TYPE_LIGHT_CLIENT_ATTACK\x10\x02\x1a\x04\x88\xa3\x1e\x00\x42\xb7\x01\n\x14\x63om.cometbft.abci.v1B\nTypesProtoP\x01Z1github.com/cometbft/cometbft/api/cometbft/abci/v1\xa2\x02\x03\x43\x41X\xaa\x02\x10\x43ometbft.Abci.V1\xca\x02\x10\x43ometbft\\Abci\\V1\xe2\x02\x1c\x43ometbft\\Abci\\V1\\GPBMetadata\xea\x02\x12\x43ometbft::Abci::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.abci.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.cometbft.abci.v1B\nTypesProtoP\001Z1github.com/cometbft/cometbft/api/cometbft/abci/v1\242\002\003CAX\252\002\020Cometbft.Abci.V1\312\002\020Cometbft\\Abci\\V1\342\002\034Cometbft\\Abci\\V1\\GPBMetadata\352\002\022Cometbft::Abci::V1' + _globals['_CHECKTXTYPE']._loaded_options = None + _globals['_CHECKTXTYPE']._serialized_options = b'\210\243\036\000' + _globals['_OFFERSNAPSHOTRESULT']._loaded_options = None + _globals['_OFFERSNAPSHOTRESULT']._serialized_options = b'\210\243\036\000' + _globals['_APPLYSNAPSHOTCHUNKRESULT']._loaded_options = None + _globals['_APPLYSNAPSHOTCHUNKRESULT']._serialized_options = b'\210\243\036\000' + _globals['_PROCESSPROPOSALSTATUS']._loaded_options = None + _globals['_PROCESSPROPOSALSTATUS']._serialized_options = b'\210\243\036\000' + _globals['_VERIFYVOTEEXTENSIONSTATUS']._loaded_options = None + _globals['_VERIFYVOTEEXTENSIONSTATUS']._serialized_options = b'\210\243\036\000' + _globals['_MISBEHAVIORTYPE']._loaded_options = None + _globals['_MISBEHAVIORTYPE']._serialized_options = b'\210\243\036\000' + _globals['_INITCHAINREQUEST'].fields_by_name['time']._loaded_options = None + _globals['_INITCHAINREQUEST'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_INITCHAINREQUEST'].fields_by_name['validators']._loaded_options = None + _globals['_INITCHAINREQUEST'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['local_last_commit']._loaded_options = None + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['local_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['misbehavior']._loaded_options = None + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['time']._loaded_options = None + _globals['_PREPAREPROPOSALREQUEST'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['proposed_last_commit']._loaded_options = None + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['misbehavior']._loaded_options = None + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['time']._loaded_options = None + _globals['_PROCESSPROPOSALREQUEST'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_EXTENDVOTEREQUEST'].fields_by_name['time']._loaded_options = None + _globals['_EXTENDVOTEREQUEST'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_EXTENDVOTEREQUEST'].fields_by_name['proposed_last_commit']._loaded_options = None + _globals['_EXTENDVOTEREQUEST'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDVOTEREQUEST'].fields_by_name['misbehavior']._loaded_options = None + _globals['_EXTENDVOTEREQUEST'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['decided_last_commit']._loaded_options = None + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['decided_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['misbehavior']._loaded_options = None + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['time']._loaded_options = None + _globals['_FINALIZEBLOCKREQUEST'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_INFORESPONSE_LANEPRIORITIESENTRY']._loaded_options = None + _globals['_INFORESPONSE_LANEPRIORITIESENTRY']._serialized_options = b'8\001' + _globals['_INITCHAINRESPONSE'].fields_by_name['validators']._loaded_options = None + _globals['_INITCHAINRESPONSE'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_CHECKTXRESPONSE'].fields_by_name['events']._loaded_options = None + _globals['_CHECKTXRESPONSE'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_FINALIZEBLOCKRESPONSE'].fields_by_name['events']._loaded_options = None + _globals['_FINALIZEBLOCKRESPONSE'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_FINALIZEBLOCKRESPONSE'].fields_by_name['validator_updates']._loaded_options = None + _globals['_FINALIZEBLOCKRESPONSE'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_COMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_COMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EVENT'].fields_by_name['attributes']._loaded_options = None + _globals['_EVENT'].fields_by_name['attributes']._serialized_options = b'\310\336\037\000\352\336\037\024attributes,omitempty' + _globals['_EXECTXRESULT'].fields_by_name['events']._loaded_options = None + _globals['_EXECTXRESULT'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_TXRESULT'].fields_by_name['result']._loaded_options = None + _globals['_TXRESULT'].fields_by_name['result']._serialized_options = b'\310\336\037\000' + _globals['_VOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_VOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_MISBEHAVIOR'].fields_by_name['validator']._loaded_options = None + _globals['_MISBEHAVIOR'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_MISBEHAVIOR'].fields_by_name['time']._loaded_options = None + _globals['_MISBEHAVIOR'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CHECKTXTYPE']._serialized_start=9806 + _globals['_CHECKTXTYPE']._serialized_end=9904 + _globals['_OFFERSNAPSHOTRESULT']._serialized_start=9907 + _globals['_OFFERSNAPSHOTRESULT']._serialized_end=10152 + _globals['_APPLYSNAPSHOTCHUNKRESULT']._serialized_start=10155 + _globals['_APPLYSNAPSHOTCHUNKRESULT']._serialized_end=10443 + _globals['_PROCESSPROPOSALSTATUS']._serialized_start=10446 + _globals['_PROCESSPROPOSALSTATUS']._serialized_end=10584 + _globals['_VERIFYVOTEEXTENSIONSTATUS']._serialized_start=10587 + _globals['_VERIFYVOTEEXTENSIONSTATUS']._serialized_end=10744 + _globals['_MISBEHAVIORTYPE']._serialized_start=10747 + _globals['_MISBEHAVIORTYPE']._serialized_end=10879 + _globals['_REQUEST']._serialized_start=205 + _globals['_REQUEST']._serialized_end=1436 + _globals['_ECHOREQUEST']._serialized_start=1438 + _globals['_ECHOREQUEST']._serialized_end=1477 + _globals['_FLUSHREQUEST']._serialized_start=1479 + _globals['_FLUSHREQUEST']._serialized_end=1493 + _globals['_INFOREQUEST']._serialized_start=1496 + _globals['_INFOREQUEST']._serialized_end=1640 + _globals['_INITCHAINREQUEST']._serialized_start=1643 + _globals['_INITCHAINREQUEST']._serialized_end=1977 + _globals['_QUERYREQUEST']._serialized_start=1979 + _globals['_QUERYREQUEST']._serialized_end=2079 + _globals['_CHECKTXREQUEST']._serialized_start=2081 + _globals['_CHECKTXREQUEST']._serialized_end=2170 + _globals['_COMMITREQUEST']._serialized_start=2172 + _globals['_COMMITREQUEST']._serialized_end=2187 + _globals['_LISTSNAPSHOTSREQUEST']._serialized_start=2189 + _globals['_LISTSNAPSHOTSREQUEST']._serialized_end=2211 + _globals['_OFFERSNAPSHOTREQUEST']._serialized_start=2213 + _globals['_OFFERSNAPSHOTREQUEST']._serialized_end=2318 + _globals['_LOADSNAPSHOTCHUNKREQUEST']._serialized_start=2320 + _globals['_LOADSNAPSHOTCHUNKREQUEST']._serialized_end=2416 + _globals['_APPLYSNAPSHOTCHUNKREQUEST']._serialized_start=2418 + _globals['_APPLYSNAPSHOTCHUNKREQUEST']._serialized_end=2513 + _globals['_PREPAREPROPOSALREQUEST']._serialized_start=2516 + _globals['_PREPAREPROPOSALREQUEST']._serialized_end=2926 + _globals['_PROCESSPROPOSALREQUEST']._serialized_start=2929 + _globals['_PROCESSPROPOSALREQUEST']._serialized_end=3323 + _globals['_EXTENDVOTEREQUEST']._serialized_start=3326 + _globals['_EXTENDVOTEREQUEST']._serialized_end=3715 + _globals['_VERIFYVOTEEXTENSIONREQUEST']._serialized_start=3718 + _globals['_VERIFYVOTEEXTENSIONREQUEST']._serialized_end=3874 + _globals['_FINALIZEBLOCKREQUEST']._serialized_start=3877 + _globals['_FINALIZEBLOCKREQUEST']._serialized_end=4311 + _globals['_RESPONSE']._serialized_start=4314 + _globals['_RESPONSE']._serialized_end=5631 + _globals['_EXCEPTIONRESPONSE']._serialized_start=5633 + _globals['_EXCEPTIONRESPONSE']._serialized_end=5674 + _globals['_ECHORESPONSE']._serialized_start=5676 + _globals['_ECHORESPONSE']._serialized_end=5716 + _globals['_FLUSHRESPONSE']._serialized_start=5718 + _globals['_FLUSHRESPONSE']._serialized_end=5733 + _globals['_INFORESPONSE']._serialized_start=5736 + _globals['_INFORESPONSE']._serialized_end=6115 + _globals['_INFORESPONSE_LANEPRIORITIESENTRY']._serialized_start=6050 + _globals['_INFORESPONSE_LANEPRIORITIESENTRY']._serialized_end=6115 + _globals['_INITCHAINRESPONSE']._serialized_start=6118 + _globals['_INITCHAINRESPONSE']._serialized_end=6316 + _globals['_QUERYRESPONSE']._serialized_start=6319 + _globals['_QUERYRESPONSE']._serialized_end=6567 + _globals['_CHECKTXRESPONSE']._serialized_start=6570 + _globals['_CHECKTXRESPONSE']._serialized_end=6894 + _globals['_COMMITRESPONSE']._serialized_start=6896 + _globals['_COMMITRESPONSE']._serialized_end=6961 + _globals['_LISTSNAPSHOTSRESPONSE']._serialized_start=6963 + _globals['_LISTSNAPSHOTSRESPONSE']._serialized_end=7044 + _globals['_OFFERSNAPSHOTRESPONSE']._serialized_start=7046 + _globals['_OFFERSNAPSHOTRESPONSE']._serialized_end=7132 + _globals['_LOADSNAPSHOTCHUNKRESPONSE']._serialized_start=7134 + _globals['_LOADSNAPSHOTCHUNKRESPONSE']._serialized_end=7183 + _globals['_APPLYSNAPSHOTCHUNKRESPONSE']._serialized_start=7186 + _globals['_APPLYSNAPSHOTCHUNKRESPONSE']._serialized_end=7360 + _globals['_PREPAREPROPOSALRESPONSE']._serialized_start=7362 + _globals['_PREPAREPROPOSALRESPONSE']._serialized_end=7405 + _globals['_PROCESSPROPOSALRESPONSE']._serialized_start=7407 + _globals['_PROCESSPROPOSALRESPONSE']._serialized_end=7497 + _globals['_EXTENDVOTERESPONSE']._serialized_start=7499 + _globals['_EXTENDVOTERESPONSE']._serialized_end=7558 + _globals['_VERIFYVOTEEXTENSIONRESPONSE']._serialized_start=7560 + _globals['_VERIFYVOTEEXTENSIONRESPONSE']._serialized_end=7658 + _globals['_FINALIZEBLOCKRESPONSE']._serialized_start=7661 + _globals['_FINALIZEBLOCKRESPONSE']._serialized_end=8027 + _globals['_COMMITINFO']._serialized_start=8029 + _globals['_COMMITINFO']._serialized_end=8119 + _globals['_EXTENDEDCOMMITINFO']._serialized_start=8121 + _globals['_EXTENDEDCOMMITINFO']._serialized_end=8227 + _globals['_EVENT']._serialized_start=8229 + _globals['_EVENT']._serialized_end=8352 + _globals['_EVENTATTRIBUTE']._serialized_start=8354 + _globals['_EVENTATTRIBUTE']._serialized_end=8432 + _globals['_EXECTXRESULT']._serialized_start=8435 + _globals['_EXECTXRESULT']._serialized_end=8692 + _globals['_TXRESULT']._serialized_start=8695 + _globals['_TXRESULT']._serialized_end=8829 + _globals['_VALIDATOR']._serialized_start=8831 + _globals['_VALIDATOR']._serialized_end=8890 + _globals['_VALIDATORUPDATE']._serialized_start=8892 + _globals['_VALIDATORUPDATE']._serialized_end=9007 + _globals['_VOTEINFO']._serialized_start=9010 + _globals['_VOTEINFO']._serialized_end=9159 + _globals['_EXTENDEDVOTEINFO']._serialized_start=9162 + _globals['_EXTENDEDVOTEINFO']._serialized_end=9407 + _globals['_MISBEHAVIOR']._serialized_start=9410 + _globals['_MISBEHAVIOR']._serialized_end=9671 + _globals['_SNAPSHOT']._serialized_start=9674 + _globals['_SNAPSHOT']._serialized_end=9804 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/libs/bits/types_pb2_grpc.py b/pyinjective/proto/cometbft/abci/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/libs/bits/types_pb2_grpc.py rename to pyinjective/proto/cometbft/abci/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/abci/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/abci/v1beta1/types_pb2.py new file mode 100644 index 00000000..a97c1130 --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta1/types_pb2.py @@ -0,0 +1,169 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/abci/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 +from pyinjective.proto.cometbft.crypto.v1 import proof_pb2 as cometbft_dot_crypto_dot_v1_dot_proof__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import params_pb2 as cometbft_dot_types_dot_v1beta1_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/abci/v1beta1/types.proto\x12\x15\x63ometbft.abci.v1beta1\x1a\x1d\x63ometbft/crypto/v1/keys.proto\x1a\x1e\x63ometbft/crypto/v1/proof.proto\x1a#cometbft/types/v1beta1/params.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xeb\x08\n\x07Request\x12\x38\n\x04\x65\x63ho\x18\x01 \x01(\x0b\x32\".cometbft.abci.v1beta1.RequestEchoH\x00R\x04\x65\x63ho\x12;\n\x05\x66lush\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestFlushH\x00R\x05\x66lush\x12\x38\n\x04info\x18\x03 \x01(\x0b\x32\".cometbft.abci.v1beta1.RequestInfoH\x00R\x04info\x12H\n\nset_option\x18\x04 \x01(\x0b\x32\'.cometbft.abci.v1beta1.RequestSetOptionH\x00R\tsetOption\x12H\n\ninit_chain\x18\x05 \x01(\x0b\x32\'.cometbft.abci.v1beta1.RequestInitChainH\x00R\tinitChain\x12;\n\x05query\x18\x06 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestQueryH\x00R\x05query\x12K\n\x0b\x62\x65gin_block\x18\x07 \x01(\x0b\x32(.cometbft.abci.v1beta1.RequestBeginBlockH\x00R\nbeginBlock\x12\x42\n\x08\x63heck_tx\x18\x08 \x01(\x0b\x32%.cometbft.abci.v1beta1.RequestCheckTxH\x00R\x07\x63heckTx\x12H\n\ndeliver_tx\x18\t \x01(\x0b\x32\'.cometbft.abci.v1beta1.RequestDeliverTxH\x00R\tdeliverTx\x12\x45\n\tend_block\x18\n \x01(\x0b\x32&.cometbft.abci.v1beta1.RequestEndBlockH\x00R\x08\x65ndBlock\x12>\n\x06\x63ommit\x18\x0b \x01(\x0b\x32$.cometbft.abci.v1beta1.RequestCommitH\x00R\x06\x63ommit\x12T\n\x0elist_snapshots\x18\x0c \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestListSnapshotsH\x00R\rlistSnapshots\x12T\n\x0eoffer_snapshot\x18\r \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestOfferSnapshotH\x00R\rofferSnapshot\x12\x61\n\x13load_snapshot_chunk\x18\x0e \x01(\x0b\x32/.cometbft.abci.v1beta1.RequestLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x64\n\x14\x61pply_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunkB\x07\n\x05value\"\'\n\x0bRequestEcho\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0e\n\x0cRequestFlush\"m\n\x0bRequestInfo\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12#\n\rblock_version\x18\x02 \x01(\x04R\x0c\x62lockVersion\x12\x1f\n\x0bp2p_version\x18\x03 \x01(\x04R\np2pVersion\":\n\x10RequestSetOption\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\xd7\x02\n\x10RequestInitChain\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12Q\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32&.cometbft.abci.v1beta1.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x04 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12&\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0cR\rappStateBytes\x12%\n\x0einitial_height\x18\x06 \x01(\x03R\rinitialHeight\"d\n\x0cRequestQuery\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"\x96\x02\n\x11RequestBeginBlock\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12<\n\x06header\x18\x02 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12U\n\x10last_commit_info\x18\x03 \x01(\x0b\x32%.cometbft.abci.v1beta1.LastCommitInfoB\x04\xc8\xde\x1f\x00R\x0elastCommitInfo\x12X\n\x14\x62yzantine_validators\x18\x04 \x03(\x0b\x32\x1f.cometbft.abci.v1beta1.EvidenceB\x04\xc8\xde\x1f\x00R\x13\x62yzantineValidators\"X\n\x0eRequestCheckTx\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32\".cometbft.abci.v1beta1.CheckTxTypeR\x04type\"\"\n\x10RequestDeliverTx\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\")\n\x0fRequestEndBlock\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\x0f\n\rRequestCommit\"\x16\n\x14RequestListSnapshots\"n\n\x14RequestOfferSnapshot\x12;\n\x08snapshot\x18\x01 \x01(\x0b\x32\x1f.cometbft.abci.v1beta1.SnapshotR\x08snapshot\x12\x19\n\x08\x61pp_hash\x18\x02 \x01(\x0cR\x07\x61ppHash\"`\n\x18RequestLoadSnapshotChunk\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x14\n\x05\x63hunk\x18\x03 \x01(\rR\x05\x63hunk\"_\n\x19RequestApplySnapshotChunk\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x63hunk\x18\x02 \x01(\x0cR\x05\x63hunk\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender\"\xc5\t\n\x08Response\x12H\n\texception\x18\x01 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseExceptionH\x00R\texception\x12\x39\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseEchoH\x00R\x04\x65\x63ho\x12<\n\x05\x66lush\x18\x03 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseFlushH\x00R\x05\x66lush\x12\x39\n\x04info\x18\x04 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseInfoH\x00R\x04info\x12I\n\nset_option\x18\x05 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseSetOptionH\x00R\tsetOption\x12I\n\ninit_chain\x18\x06 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseInitChainH\x00R\tinitChain\x12<\n\x05query\x18\x07 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseQueryH\x00R\x05query\x12L\n\x0b\x62\x65gin_block\x18\x08 \x01(\x0b\x32).cometbft.abci.v1beta1.ResponseBeginBlockH\x00R\nbeginBlock\x12\x43\n\x08\x63heck_tx\x18\t \x01(\x0b\x32&.cometbft.abci.v1beta1.ResponseCheckTxH\x00R\x07\x63heckTx\x12I\n\ndeliver_tx\x18\n \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseDeliverTxH\x00R\tdeliverTx\x12\x46\n\tend_block\x18\x0b \x01(\x0b\x32\'.cometbft.abci.v1beta1.ResponseEndBlockH\x00R\x08\x65ndBlock\x12?\n\x06\x63ommit\x18\x0c \x01(\x0b\x32%.cometbft.abci.v1beta1.ResponseCommitH\x00R\x06\x63ommit\x12U\n\x0elist_snapshots\x18\r \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseListSnapshotsH\x00R\rlistSnapshots\x12U\n\x0eoffer_snapshot\x18\x0e \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseOfferSnapshotH\x00R\rofferSnapshot\x12\x62\n\x13load_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x65\n\x14\x61pply_snapshot_chunk\x18\x10 \x01(\x0b\x32\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunkB\x07\n\x05value\")\n\x11ResponseException\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\"(\n\x0cResponseEcho\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0f\n\rResponseFlush\"\xb8\x01\n\x0cResponseInfo\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1f\n\x0b\x61pp_version\x18\x03 \x01(\x04R\nappVersion\x12*\n\x11last_block_height\x18\x04 \x01(\x03R\x0flastBlockHeight\x12-\n\x13last_block_app_hash\x18\x05 \x01(\x0cR\x10lastBlockAppHash\"M\n\x11ResponseSetOption\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\"\xcf\x01\n\x11ResponseInitChain\x12Q\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32&.cometbft.abci.v1beta1.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x02 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12\x19\n\x08\x61pp_hash\x18\x03 \x01(\x0cR\x07\x61ppHash\"\xf8\x01\n\rResponseQuery\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x12\x39\n\tproof_ops\x18\x08 \x01(\x0b\x32\x1c.cometbft.crypto.v1.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespace\"d\n\x12ResponseBeginBlock\x12N\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.cometbft.abci.v1beta1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\xe2\x02\n\x0fResponseCheckTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\x12\x16\n\x06sender\x18\t \x01(\tR\x06sender\x12\x1a\n\x08priority\x18\n \x01(\x03R\x08priority\x12#\n\rmempool_error\x18\x0b \x01(\tR\x0cmempoolError\"\x8b\x02\n\x11ResponseDeliverTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\"\x9d\x02\n\x10ResponseEndBlock\x12Y\n\x11validator_updates\x18\x01 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12^\n\x17\x63onsensus_param_updates\x18\x02 \x01(\x0b\x32&.cometbft.abci.v1beta1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12N\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x1c.cometbft.abci.v1beta1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"I\n\x0eResponseCommit\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12#\n\rretain_height\x18\x03 \x01(\x03R\x0cretainHeight\"V\n\x15ResponseListSnapshots\x12=\n\tsnapshots\x18\x01 \x03(\x0b\x32\x1f.cometbft.abci.v1beta1.SnapshotR\tsnapshots\"\xc4\x01\n\x15ResponseOfferSnapshot\x12K\n\x06result\x18\x01 \x01(\x0e\x32\x33.cometbft.abci.v1beta1.ResponseOfferSnapshot.ResultR\x06result\"^\n\x06Result\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\t\n\x05\x41\x42ORT\x10\x02\x12\n\n\x06REJECT\x10\x03\x12\x11\n\rREJECT_FORMAT\x10\x04\x12\x11\n\rREJECT_SENDER\x10\x05\"1\n\x19ResponseLoadSnapshotChunk\x12\x14\n\x05\x63hunk\x18\x01 \x01(\x0cR\x05\x63hunk\"\x9e\x02\n\x1aResponseApplySnapshotChunk\x12P\n\x06result\x18\x01 \x01(\x0e\x32\x38.cometbft.abci.v1beta1.ResponseApplySnapshotChunk.ResultR\x06result\x12%\n\x0erefetch_chunks\x18\x02 \x03(\rR\rrefetchChunks\x12%\n\x0ereject_senders\x18\x03 \x03(\tR\rrejectSenders\"`\n\x06Result\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\t\n\x05\x41\x42ORT\x10\x02\x12\t\n\x05RETRY\x10\x03\x12\x12\n\x0eRETRY_SNAPSHOT\x10\x04\x12\x13\n\x0fREJECT_SNAPSHOT\x10\x05\"\x97\x02\n\x0f\x43onsensusParams\x12\x38\n\x05\x62lock\x18\x01 \x01(\x0b\x32\".cometbft.abci.v1beta1.BlockParamsR\x05\x62lock\x12\x42\n\x08\x65vidence\x18\x02 \x01(\x0b\x32&.cometbft.types.v1beta1.EvidenceParamsR\x08\x65vidence\x12\x45\n\tvalidator\x18\x03 \x01(\x0b\x32\'.cometbft.types.v1beta1.ValidatorParamsR\tvalidator\x12?\n\x07version\x18\x04 \x01(\x0b\x32%.cometbft.types.v1beta1.VersionParamsR\x07version\"C\n\x0b\x42lockParams\x12\x1b\n\tmax_bytes\x18\x01 \x01(\x03R\x08maxBytes\x12\x17\n\x07max_gas\x18\x02 \x01(\x03R\x06maxGas\"c\n\x0eLastCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12;\n\x05votes\x18\x02 \x03(\x0b\x32\x1f.cometbft.abci.v1beta1.VoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"\x80\x01\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x63\n\nattributes\x18\x02 \x03(\x0b\x32%.cometbft.abci.v1beta1.EventAttributeB\x1c\xc8\xde\x1f\x00\xea\xde\x1f\x14\x61ttributes,omitemptyR\nattributes\"N\n\x0e\x45ventAttribute\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x14\n\x05index\x18\x03 \x01(\x08R\x05index\"\x90\x01\n\x08TxResult\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12\x0e\n\x02tx\x18\x03 \x01(\x0cR\x02tx\x12\x46\n\x06result\x18\x04 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseDeliverTxB\x04\xc8\xde\x1f\x00R\x06result\";\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x03 \x01(\x03R\x05power\"e\n\x0fValidatorUpdate\x12<\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power\"|\n\x08VoteInfo\x12\x44\n\tvalidator\x18\x01 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12*\n\x11signed_last_block\x18\x02 \x01(\x08R\x0fsignedLastBlock\"\x89\x02\n\x08\x45vidence\x12\x37\n\x04type\x18\x01 \x01(\x0e\x32#.cometbft.abci.v1beta1.EvidenceTypeR\x04type\x12\x44\n\tvalidator\x18\x02 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12,\n\x12total_voting_power\x18\x05 \x01(\x03R\x10totalVotingPower\"\x82\x01\n\x08Snapshot\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x16\n\x06\x63hunks\x18\x03 \x01(\rR\x06\x63hunks\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x1a\n\x08metadata\x18\x05 \x01(\x0cR\x08metadata*9\n\x0b\x43heckTxType\x12\x10\n\x03NEW\x10\x00\x1a\x07\x8a\x9d \x03New\x12\x18\n\x07RECHECK\x10\x01\x1a\x0b\x8a\x9d \x07Recheck*H\n\x0c\x45videnceType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0e\x44UPLICATE_VOTE\x10\x01\x12\x17\n\x13LIGHT_CLIENT_ATTACK\x10\x02\x32\xb7\x0b\n\x0f\x41\x42\x43IApplication\x12O\n\x04\x45\x63ho\x12\".cometbft.abci.v1beta1.RequestEcho\x1a#.cometbft.abci.v1beta1.ResponseEcho\x12R\n\x05\x46lush\x12#.cometbft.abci.v1beta1.RequestFlush\x1a$.cometbft.abci.v1beta1.ResponseFlush\x12O\n\x04Info\x12\".cometbft.abci.v1beta1.RequestInfo\x1a#.cometbft.abci.v1beta1.ResponseInfo\x12^\n\tSetOption\x12\'.cometbft.abci.v1beta1.RequestSetOption\x1a(.cometbft.abci.v1beta1.ResponseSetOption\x12^\n\tDeliverTx\x12\'.cometbft.abci.v1beta1.RequestDeliverTx\x1a(.cometbft.abci.v1beta1.ResponseDeliverTx\x12X\n\x07\x43heckTx\x12%.cometbft.abci.v1beta1.RequestCheckTx\x1a&.cometbft.abci.v1beta1.ResponseCheckTx\x12R\n\x05Query\x12#.cometbft.abci.v1beta1.RequestQuery\x1a$.cometbft.abci.v1beta1.ResponseQuery\x12U\n\x06\x43ommit\x12$.cometbft.abci.v1beta1.RequestCommit\x1a%.cometbft.abci.v1beta1.ResponseCommit\x12^\n\tInitChain\x12\'.cometbft.abci.v1beta1.RequestInitChain\x1a(.cometbft.abci.v1beta1.ResponseInitChain\x12\x61\n\nBeginBlock\x12(.cometbft.abci.v1beta1.RequestBeginBlock\x1a).cometbft.abci.v1beta1.ResponseBeginBlock\x12[\n\x08\x45ndBlock\x12&.cometbft.abci.v1beta1.RequestEndBlock\x1a\'.cometbft.abci.v1beta1.ResponseEndBlock\x12j\n\rListSnapshots\x12+.cometbft.abci.v1beta1.RequestListSnapshots\x1a,.cometbft.abci.v1beta1.ResponseListSnapshots\x12j\n\rOfferSnapshot\x12+.cometbft.abci.v1beta1.RequestOfferSnapshot\x1a,.cometbft.abci.v1beta1.ResponseOfferSnapshot\x12v\n\x11LoadSnapshotChunk\x12/.cometbft.abci.v1beta1.RequestLoadSnapshotChunk\x1a\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunk\x12y\n\x12\x41pplySnapshotChunk\x12\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunk\x1a\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunkB\xd5\x01\n\x19\x63om.cometbft.abci.v1beta1B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta1\xa2\x02\x03\x43\x41X\xaa\x02\x15\x43ometbft.Abci.V1beta1\xca\x02\x15\x43ometbft\\Abci\\V1beta1\xe2\x02!Cometbft\\Abci\\V1beta1\\GPBMetadata\xea\x02\x17\x43ometbft::Abci::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.abci.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.abci.v1beta1B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta1\242\002\003CAX\252\002\025Cometbft.Abci.V1beta1\312\002\025Cometbft\\Abci\\V1beta1\342\002!Cometbft\\Abci\\V1beta1\\GPBMetadata\352\002\027Cometbft::Abci::V1beta1' + _globals['_CHECKTXTYPE'].values_by_name["NEW"]._loaded_options = None + _globals['_CHECKTXTYPE'].values_by_name["NEW"]._serialized_options = b'\212\235 \003New' + _globals['_CHECKTXTYPE'].values_by_name["RECHECK"]._loaded_options = None + _globals['_CHECKTXTYPE'].values_by_name["RECHECK"]._serialized_options = b'\212\235 \007Recheck' + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['header']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['last_commit_info']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['last_commit_info']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['byzantine_validators']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['byzantine_validators']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSECHECKTX'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSECHECKTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEDELIVERTX'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEDELIVERTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_LASTCOMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_LASTCOMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EVENT'].fields_by_name['attributes']._loaded_options = None + _globals['_EVENT'].fields_by_name['attributes']._serialized_options = b'\310\336\037\000\352\336\037\024attributes,omitempty' + _globals['_TXRESULT'].fields_by_name['result']._loaded_options = None + _globals['_TXRESULT'].fields_by_name['result']._serialized_options = b'\310\336\037\000' + _globals['_VALIDATORUPDATE'].fields_by_name['pub_key']._loaded_options = None + _globals['_VALIDATORUPDATE'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' + _globals['_VOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_VOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_EVIDENCE'].fields_by_name['validator']._loaded_options = None + _globals['_EVIDENCE'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_EVIDENCE'].fields_by_name['time']._loaded_options = None + _globals['_EVIDENCE'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CHECKTXTYPE']._serialized_start=8132 + _globals['_CHECKTXTYPE']._serialized_end=8189 + _globals['_EVIDENCETYPE']._serialized_start=8191 + _globals['_EVIDENCETYPE']._serialized_end=8263 + _globals['_REQUEST']._serialized_start=252 + _globals['_REQUEST']._serialized_end=1383 + _globals['_REQUESTECHO']._serialized_start=1385 + _globals['_REQUESTECHO']._serialized_end=1424 + _globals['_REQUESTFLUSH']._serialized_start=1426 + _globals['_REQUESTFLUSH']._serialized_end=1440 + _globals['_REQUESTINFO']._serialized_start=1442 + _globals['_REQUESTINFO']._serialized_end=1551 + _globals['_REQUESTSETOPTION']._serialized_start=1553 + _globals['_REQUESTSETOPTION']._serialized_end=1611 + _globals['_REQUESTINITCHAIN']._serialized_start=1614 + _globals['_REQUESTINITCHAIN']._serialized_end=1957 + _globals['_REQUESTQUERY']._serialized_start=1959 + _globals['_REQUESTQUERY']._serialized_end=2059 + _globals['_REQUESTBEGINBLOCK']._serialized_start=2062 + _globals['_REQUESTBEGINBLOCK']._serialized_end=2340 + _globals['_REQUESTCHECKTX']._serialized_start=2342 + _globals['_REQUESTCHECKTX']._serialized_end=2430 + _globals['_REQUESTDELIVERTX']._serialized_start=2432 + _globals['_REQUESTDELIVERTX']._serialized_end=2466 + _globals['_REQUESTENDBLOCK']._serialized_start=2468 + _globals['_REQUESTENDBLOCK']._serialized_end=2509 + _globals['_REQUESTCOMMIT']._serialized_start=2511 + _globals['_REQUESTCOMMIT']._serialized_end=2526 + _globals['_REQUESTLISTSNAPSHOTS']._serialized_start=2528 + _globals['_REQUESTLISTSNAPSHOTS']._serialized_end=2550 + _globals['_REQUESTOFFERSNAPSHOT']._serialized_start=2552 + _globals['_REQUESTOFFERSNAPSHOT']._serialized_end=2662 + _globals['_REQUESTLOADSNAPSHOTCHUNK']._serialized_start=2664 + _globals['_REQUESTLOADSNAPSHOTCHUNK']._serialized_end=2760 + _globals['_REQUESTAPPLYSNAPSHOTCHUNK']._serialized_start=2762 + _globals['_REQUESTAPPLYSNAPSHOTCHUNK']._serialized_end=2857 + _globals['_RESPONSE']._serialized_start=2860 + _globals['_RESPONSE']._serialized_end=4081 + _globals['_RESPONSEEXCEPTION']._serialized_start=4083 + _globals['_RESPONSEEXCEPTION']._serialized_end=4124 + _globals['_RESPONSEECHO']._serialized_start=4126 + _globals['_RESPONSEECHO']._serialized_end=4166 + _globals['_RESPONSEFLUSH']._serialized_start=4168 + _globals['_RESPONSEFLUSH']._serialized_end=4183 + _globals['_RESPONSEINFO']._serialized_start=4186 + _globals['_RESPONSEINFO']._serialized_end=4370 + _globals['_RESPONSESETOPTION']._serialized_start=4372 + _globals['_RESPONSESETOPTION']._serialized_end=4449 + _globals['_RESPONSEINITCHAIN']._serialized_start=4452 + _globals['_RESPONSEINITCHAIN']._serialized_end=4659 + _globals['_RESPONSEQUERY']._serialized_start=4662 + _globals['_RESPONSEQUERY']._serialized_end=4910 + _globals['_RESPONSEBEGINBLOCK']._serialized_start=4912 + _globals['_RESPONSEBEGINBLOCK']._serialized_end=5012 + _globals['_RESPONSECHECKTX']._serialized_start=5015 + _globals['_RESPONSECHECKTX']._serialized_end=5369 + _globals['_RESPONSEDELIVERTX']._serialized_start=5372 + _globals['_RESPONSEDELIVERTX']._serialized_end=5639 + _globals['_RESPONSEENDBLOCK']._serialized_start=5642 + _globals['_RESPONSEENDBLOCK']._serialized_end=5927 + _globals['_RESPONSECOMMIT']._serialized_start=5929 + _globals['_RESPONSECOMMIT']._serialized_end=6002 + _globals['_RESPONSELISTSNAPSHOTS']._serialized_start=6004 + _globals['_RESPONSELISTSNAPSHOTS']._serialized_end=6090 + _globals['_RESPONSEOFFERSNAPSHOT']._serialized_start=6093 + _globals['_RESPONSEOFFERSNAPSHOT']._serialized_end=6289 + _globals['_RESPONSEOFFERSNAPSHOT_RESULT']._serialized_start=6195 + _globals['_RESPONSEOFFERSNAPSHOT_RESULT']._serialized_end=6289 + _globals['_RESPONSELOADSNAPSHOTCHUNK']._serialized_start=6291 + _globals['_RESPONSELOADSNAPSHOTCHUNK']._serialized_end=6340 + _globals['_RESPONSEAPPLYSNAPSHOTCHUNK']._serialized_start=6343 + _globals['_RESPONSEAPPLYSNAPSHOTCHUNK']._serialized_end=6629 + _globals['_RESPONSEAPPLYSNAPSHOTCHUNK_RESULT']._serialized_start=6533 + _globals['_RESPONSEAPPLYSNAPSHOTCHUNK_RESULT']._serialized_end=6629 + _globals['_CONSENSUSPARAMS']._serialized_start=6632 + _globals['_CONSENSUSPARAMS']._serialized_end=6911 + _globals['_BLOCKPARAMS']._serialized_start=6913 + _globals['_BLOCKPARAMS']._serialized_end=6980 + _globals['_LASTCOMMITINFO']._serialized_start=6982 + _globals['_LASTCOMMITINFO']._serialized_end=7081 + _globals['_EVENT']._serialized_start=7084 + _globals['_EVENT']._serialized_end=7212 + _globals['_EVENTATTRIBUTE']._serialized_start=7214 + _globals['_EVENTATTRIBUTE']._serialized_end=7292 + _globals['_TXRESULT']._serialized_start=7295 + _globals['_TXRESULT']._serialized_end=7439 + _globals['_VALIDATOR']._serialized_start=7441 + _globals['_VALIDATOR']._serialized_end=7500 + _globals['_VALIDATORUPDATE']._serialized_start=7502 + _globals['_VALIDATORUPDATE']._serialized_end=7603 + _globals['_VOTEINFO']._serialized_start=7605 + _globals['_VOTEINFO']._serialized_end=7729 + _globals['_EVIDENCE']._serialized_start=7732 + _globals['_EVIDENCE']._serialized_end=7997 + _globals['_SNAPSHOT']._serialized_start=8000 + _globals['_SNAPSHOT']._serialized_end=8130 + _globals['_ABCIAPPLICATION']._serialized_start=8266 + _globals['_ABCIAPPLICATION']._serialized_end=9729 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/abci/v1beta1/types_pb2_grpc.py b/pyinjective/proto/cometbft/abci/v1beta1/types_pb2_grpc.py new file mode 100644 index 00000000..8109ab24 --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta1/types_pb2_grpc.py @@ -0,0 +1,706 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 + + +class ABCIApplicationStub(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Echo = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/Echo', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + _registered_method=True) + self.Flush = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/Flush', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + _registered_method=True) + self.Info = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/Info', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInfo.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + _registered_method=True) + self.SetOption = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/SetOption', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestSetOption.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseSetOption.FromString, + _registered_method=True) + self.DeliverTx = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/DeliverTx', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseDeliverTx.FromString, + _registered_method=True) + self.CheckTx = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/CheckTx', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCheckTx.FromString, + _registered_method=True) + self.Query = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/Query', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + _registered_method=True) + self.Commit = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/Commit', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.FromString, + _registered_method=True) + self.InitChain = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/InitChain', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInitChain.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInitChain.FromString, + _registered_method=True) + self.BeginBlock = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/BeginBlock', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestBeginBlock.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseBeginBlock.FromString, + _registered_method=True) + self.EndBlock = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/EndBlock', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEndBlock.FromString, + _registered_method=True) + self.ListSnapshots = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/ListSnapshots', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + _registered_method=True) + self.OfferSnapshot = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/OfferSnapshot', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + _registered_method=True) + self.LoadSnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/LoadSnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + _registered_method=True) + self.ApplySnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta1.ABCIApplication/ApplySnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + _registered_method=True) + + +class ABCIApplicationServicer(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + def Echo(self, request, context): + """Echo returns back the same message it is sent. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Flush(self, request, context): + """Flush flushes the write buffer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Info(self, request, context): + """Info returns information about the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetOption(self, request, context): + """SetOption sets a parameter in the application. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeliverTx(self, request, context): + """DeliverTx applies a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckTx(self, request, context): + """CheckTx validates a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Query(self, request, context): + """Query queries the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Commit(self, request, context): + """Commit commits a block of transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InitChain(self, request, context): + """InitChain initializes the blockchain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BeginBlock(self, request, context): + """BeginBlock signals the beginning of a block. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EndBlock(self, request, context): + """EndBlock signals the end of a block, returns changes to the validator set. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSnapshots(self, request, context): + """ListSnapshots lists all the available snapshots. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OfferSnapshot(self, request, context): + """OfferSnapshot sends a snapshot offer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LoadSnapshotChunk(self, request, context): + """LoadSnapshotChunk returns a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ApplySnapshotChunk(self, request, context): + """ApplySnapshotChunk applies a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ABCIApplicationServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Echo': grpc.unary_unary_rpc_method_handler( + servicer.Echo, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.SerializeToString, + ), + 'Flush': grpc.unary_unary_rpc_method_handler( + servicer.Flush, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.SerializeToString, + ), + 'Info': grpc.unary_unary_rpc_method_handler( + servicer.Info, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInfo.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.SerializeToString, + ), + 'SetOption': grpc.unary_unary_rpc_method_handler( + servicer.SetOption, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestSetOption.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseSetOption.SerializeToString, + ), + 'DeliverTx': grpc.unary_unary_rpc_method_handler( + servicer.DeliverTx, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseDeliverTx.SerializeToString, + ), + 'CheckTx': grpc.unary_unary_rpc_method_handler( + servicer.CheckTx, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCheckTx.SerializeToString, + ), + 'Query': grpc.unary_unary_rpc_method_handler( + servicer.Query, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.SerializeToString, + ), + 'Commit': grpc.unary_unary_rpc_method_handler( + servicer.Commit, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.SerializeToString, + ), + 'InitChain': grpc.unary_unary_rpc_method_handler( + servicer.InitChain, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInitChain.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInitChain.SerializeToString, + ), + 'BeginBlock': grpc.unary_unary_rpc_method_handler( + servicer.BeginBlock, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestBeginBlock.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseBeginBlock.SerializeToString, + ), + 'EndBlock': grpc.unary_unary_rpc_method_handler( + servicer.EndBlock, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEndBlock.SerializeToString, + ), + 'ListSnapshots': grpc.unary_unary_rpc_method_handler( + servicer.ListSnapshots, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.SerializeToString, + ), + 'OfferSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.OfferSnapshot, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.SerializeToString, + ), + 'LoadSnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.LoadSnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.SerializeToString, + ), + 'ApplySnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.ApplySnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.abci.v1beta1.ABCIApplication', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.abci.v1beta1.ABCIApplication', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class ABCIApplication(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + @staticmethod + def Echo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/Echo', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Flush(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/Flush', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Info(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/Info', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInfo.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SetOption(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/SetOption', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestSetOption.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseSetOption.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DeliverTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/DeliverTx', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseDeliverTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CheckTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/CheckTx', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCheckTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Query(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/Query', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Commit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/Commit', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InitChain(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/InitChain', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestInitChain.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInitChain.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BeginBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/BeginBlock', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestBeginBlock.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseBeginBlock.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EndBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/EndBlock', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEndBlock.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListSnapshots(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/ListSnapshots', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OfferSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/OfferSnapshot', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LoadSnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/LoadSnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ApplySnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta1.ABCIApplication/ApplySnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/abci/v1beta2/types_pb2.py b/pyinjective/proto/cometbft/abci/v1beta2/types_pb2.py new file mode 100644 index 00000000..88a4a2bd --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta2/types_pb2.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/abci/v1beta2/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta2 import params_pb2 as cometbft_dot_types_dot_v1beta2_dot_params__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/abci/v1beta2/types.proto\x12\x15\x63ometbft.abci.v1beta2\x1a\x14gogoproto/gogo.proto\x1a!cometbft/abci/v1beta1/types.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a#cometbft/types/v1beta2/params.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdf\t\n\x07Request\x12\x38\n\x04\x65\x63ho\x18\x01 \x01(\x0b\x32\".cometbft.abci.v1beta1.RequestEchoH\x00R\x04\x65\x63ho\x12;\n\x05\x66lush\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestFlushH\x00R\x05\x66lush\x12\x38\n\x04info\x18\x03 \x01(\x0b\x32\".cometbft.abci.v1beta2.RequestInfoH\x00R\x04info\x12H\n\ninit_chain\x18\x05 \x01(\x0b\x32\'.cometbft.abci.v1beta2.RequestInitChainH\x00R\tinitChain\x12;\n\x05query\x18\x06 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestQueryH\x00R\x05query\x12K\n\x0b\x62\x65gin_block\x18\x07 \x01(\x0b\x32(.cometbft.abci.v1beta2.RequestBeginBlockH\x00R\nbeginBlock\x12\x42\n\x08\x63heck_tx\x18\x08 \x01(\x0b\x32%.cometbft.abci.v1beta1.RequestCheckTxH\x00R\x07\x63heckTx\x12H\n\ndeliver_tx\x18\t \x01(\x0b\x32\'.cometbft.abci.v1beta1.RequestDeliverTxH\x00R\tdeliverTx\x12\x45\n\tend_block\x18\n \x01(\x0b\x32&.cometbft.abci.v1beta1.RequestEndBlockH\x00R\x08\x65ndBlock\x12>\n\x06\x63ommit\x18\x0b \x01(\x0b\x32$.cometbft.abci.v1beta1.RequestCommitH\x00R\x06\x63ommit\x12T\n\x0elist_snapshots\x18\x0c \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestListSnapshotsH\x00R\rlistSnapshots\x12T\n\x0eoffer_snapshot\x18\r \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestOfferSnapshotH\x00R\rofferSnapshot\x12\x61\n\x13load_snapshot_chunk\x18\x0e \x01(\x0b\x32/.cometbft.abci.v1beta1.RequestLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x64\n\x14\x61pply_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12Z\n\x10prepare_proposal\x18\x10 \x01(\x0b\x32-.cometbft.abci.v1beta2.RequestPrepareProposalH\x00R\x0fprepareProposal\x12Z\n\x10process_proposal\x18\x11 \x01(\x0b\x32-.cometbft.abci.v1beta2.RequestProcessProposalH\x00R\x0fprocessProposalB\x07\n\x05valueJ\x04\x08\x04\x10\x05\"\x90\x01\n\x0bRequestInfo\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12#\n\rblock_version\x18\x02 \x01(\x04R\x0c\x62lockVersion\x12\x1f\n\x0bp2p_version\x18\x03 \x01(\x04R\np2pVersion\x12!\n\x0c\x61\x62\x63i_version\x18\x04 \x01(\tR\x0b\x61\x62\x63iVersion\"\xd8\x02\n\x10RequestInitChain\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12R\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32\'.cometbft.types.v1beta2.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x04 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12&\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0cR\rappStateBytes\x12%\n\x0einitial_height\x18\x06 \x01(\x03R\rinitialHeight\"\x95\x02\n\x11RequestBeginBlock\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12<\n\x06header\x18\x02 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12Q\n\x10last_commit_info\x18\x03 \x01(\x0b\x32!.cometbft.abci.v1beta2.CommitInfoB\x04\xc8\xde\x1f\x00R\x0elastCommitInfo\x12[\n\x14\x62yzantine_validators\x18\x04 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x13\x62yzantineValidators\"\xa4\x03\n\x16RequestPrepareProposal\x12 \n\x0cmax_tx_bytes\x18\x01 \x01(\x03R\nmaxTxBytes\x12\x10\n\x03txs\x18\x02 \x03(\x0cR\x03txs\x12[\n\x11local_last_commit\x18\x03 \x01(\x0b\x32).cometbft.abci.v1beta2.ExtendedCommitInfoB\x04\xc8\xde\x1f\x00R\x0flocalLastCommit\x12J\n\x0bmisbehavior\x18\x04 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x94\x03\n\x16RequestProcessProposal\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12Y\n\x14proposed_last_commit\x18\x02 \x01(\x0b\x32!.cometbft.abci.v1beta2.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12J\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\xba\n\n\x08Response\x12H\n\texception\x18\x01 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseExceptionH\x00R\texception\x12\x39\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseEchoH\x00R\x04\x65\x63ho\x12<\n\x05\x66lush\x18\x03 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseFlushH\x00R\x05\x66lush\x12\x39\n\x04info\x18\x04 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseInfoH\x00R\x04info\x12I\n\ninit_chain\x18\x06 \x01(\x0b\x32(.cometbft.abci.v1beta2.ResponseInitChainH\x00R\tinitChain\x12<\n\x05query\x18\x07 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseQueryH\x00R\x05query\x12L\n\x0b\x62\x65gin_block\x18\x08 \x01(\x0b\x32).cometbft.abci.v1beta2.ResponseBeginBlockH\x00R\nbeginBlock\x12\x43\n\x08\x63heck_tx\x18\t \x01(\x0b\x32&.cometbft.abci.v1beta2.ResponseCheckTxH\x00R\x07\x63heckTx\x12I\n\ndeliver_tx\x18\n \x01(\x0b\x32(.cometbft.abci.v1beta2.ResponseDeliverTxH\x00R\tdeliverTx\x12\x46\n\tend_block\x18\x0b \x01(\x0b\x32\'.cometbft.abci.v1beta2.ResponseEndBlockH\x00R\x08\x65ndBlock\x12?\n\x06\x63ommit\x18\x0c \x01(\x0b\x32%.cometbft.abci.v1beta1.ResponseCommitH\x00R\x06\x63ommit\x12U\n\x0elist_snapshots\x18\r \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseListSnapshotsH\x00R\rlistSnapshots\x12U\n\x0eoffer_snapshot\x18\x0e \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseOfferSnapshotH\x00R\rofferSnapshot\x12\x62\n\x13load_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x65\n\x14\x61pply_snapshot_chunk\x18\x10 \x01(\x0b\x32\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12[\n\x10prepare_proposal\x18\x11 \x01(\x0b\x32..cometbft.abci.v1beta2.ResponsePrepareProposalH\x00R\x0fprepareProposal\x12[\n\x10process_proposal\x18\x12 \x01(\x0b\x32..cometbft.abci.v1beta2.ResponseProcessProposalH\x00R\x0fprocessProposalB\x07\n\x05valueJ\x04\x08\x05\x10\x06\"\xd0\x01\n\x11ResponseInitChain\x12R\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\'.cometbft.types.v1beta2.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x02 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12\x19\n\x08\x61pp_hash\x18\x03 \x01(\x0cR\x07\x61ppHash\"d\n\x12ResponseBeginBlock\x12N\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\xe2\x02\n\x0fResponseCheckTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\x12\x16\n\x06sender\x18\t \x01(\tR\x06sender\x12\x1a\n\x08priority\x18\n \x01(\x03R\x08priority\x12#\n\rmempool_error\x18\x0b \x01(\tR\x0cmempoolError\"\x8b\x02\n\x11ResponseDeliverTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\"\x9e\x02\n\x10ResponseEndBlock\x12Y\n\x11validator_updates\x18\x01 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12_\n\x17\x63onsensus_param_updates\x18\x02 \x01(\x0b\x32\'.cometbft.types.v1beta2.ConsensusParamsR\x15\x63onsensusParamUpdates\x12N\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"+\n\x17ResponsePrepareProposal\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xa7\x01\n\x17ResponseProcessProposal\x12U\n\x06status\x18\x01 \x01(\x0e\x32=.cometbft.abci.v1beta2.ResponseProcessProposal.ProposalStatusR\x06status\"5\n\x0eProposalStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\n\n\x06REJECT\x10\x02\"_\n\nCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12;\n\x05votes\x18\x02 \x03(\x0b\x32\x1f.cometbft.abci.v1beta1.VoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"o\n\x12\x45xtendedCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12\x43\n\x05votes\x18\x02 \x03(\x0b\x32\'.cometbft.abci.v1beta2.ExtendedVoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"\x80\x01\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x63\n\nattributes\x18\x02 \x03(\x0b\x32%.cometbft.abci.v1beta2.EventAttributeB\x1c\xc8\xde\x1f\x00\xea\xde\x1f\x14\x61ttributes,omitemptyR\nattributes\"N\n\x0e\x45ventAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x14\n\x05index\x18\x03 \x01(\x08R\x05index\"\xab\x01\n\x10\x45xtendedVoteInfo\x12\x44\n\tvalidator\x18\x01 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12*\n\x11signed_last_block\x18\x02 \x01(\x08R\x0fsignedLastBlock\x12%\n\x0evote_extension\x18\x03 \x01(\x0cR\rvoteExtension\"\x8f\x02\n\x0bMisbehavior\x12:\n\x04type\x18\x01 \x01(\x0e\x32&.cometbft.abci.v1beta2.MisbehaviorTypeR\x04type\x12\x44\n\tvalidator\x18\x02 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12,\n\x12total_voting_power\x18\x05 \x01(\x03R\x10totalVotingPower*K\n\x0fMisbehaviorType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0e\x44UPLICATE_VOTE\x10\x01\x12\x17\n\x13LIGHT_CLIENT_ATTACK\x10\x02\x32\xbb\x0c\n\x0f\x41\x42\x43IApplication\x12O\n\x04\x45\x63ho\x12\".cometbft.abci.v1beta1.RequestEcho\x1a#.cometbft.abci.v1beta1.ResponseEcho\x12R\n\x05\x46lush\x12#.cometbft.abci.v1beta1.RequestFlush\x1a$.cometbft.abci.v1beta1.ResponseFlush\x12O\n\x04Info\x12\".cometbft.abci.v1beta2.RequestInfo\x1a#.cometbft.abci.v1beta1.ResponseInfo\x12^\n\tDeliverTx\x12\'.cometbft.abci.v1beta1.RequestDeliverTx\x1a(.cometbft.abci.v1beta2.ResponseDeliverTx\x12X\n\x07\x43heckTx\x12%.cometbft.abci.v1beta1.RequestCheckTx\x1a&.cometbft.abci.v1beta2.ResponseCheckTx\x12R\n\x05Query\x12#.cometbft.abci.v1beta1.RequestQuery\x1a$.cometbft.abci.v1beta1.ResponseQuery\x12U\n\x06\x43ommit\x12$.cometbft.abci.v1beta1.RequestCommit\x1a%.cometbft.abci.v1beta1.ResponseCommit\x12^\n\tInitChain\x12\'.cometbft.abci.v1beta2.RequestInitChain\x1a(.cometbft.abci.v1beta2.ResponseInitChain\x12\x61\n\nBeginBlock\x12(.cometbft.abci.v1beta2.RequestBeginBlock\x1a).cometbft.abci.v1beta2.ResponseBeginBlock\x12[\n\x08\x45ndBlock\x12&.cometbft.abci.v1beta1.RequestEndBlock\x1a\'.cometbft.abci.v1beta2.ResponseEndBlock\x12j\n\rListSnapshots\x12+.cometbft.abci.v1beta1.RequestListSnapshots\x1a,.cometbft.abci.v1beta1.ResponseListSnapshots\x12j\n\rOfferSnapshot\x12+.cometbft.abci.v1beta1.RequestOfferSnapshot\x1a,.cometbft.abci.v1beta1.ResponseOfferSnapshot\x12v\n\x11LoadSnapshotChunk\x12/.cometbft.abci.v1beta1.RequestLoadSnapshotChunk\x1a\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunk\x12y\n\x12\x41pplySnapshotChunk\x12\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunk\x1a\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunk\x12p\n\x0fPrepareProposal\x12-.cometbft.abci.v1beta2.RequestPrepareProposal\x1a..cometbft.abci.v1beta2.ResponsePrepareProposal\x12p\n\x0fProcessProposal\x12-.cometbft.abci.v1beta2.RequestProcessProposal\x1a..cometbft.abci.v1beta2.ResponseProcessProposalB\xd5\x01\n\x19\x63om.cometbft.abci.v1beta2B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta2\xa2\x02\x03\x43\x41X\xaa\x02\x15\x43ometbft.Abci.V1beta2\xca\x02\x15\x43ometbft\\Abci\\V1beta2\xe2\x02!Cometbft\\Abci\\V1beta2\\GPBMetadata\xea\x02\x17\x43ometbft::Abci::V1beta2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.abci.v1beta2.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.abci.v1beta2B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta2\242\002\003CAX\252\002\025Cometbft.Abci.V1beta2\312\002\025Cometbft\\Abci\\V1beta2\342\002!Cometbft\\Abci\\V1beta2\\GPBMetadata\352\002\027Cometbft::Abci::V1beta2' + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['header']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['last_commit_info']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['last_commit_info']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTBEGINBLOCK'].fields_by_name['byzantine_validators']._loaded_options = None + _globals['_REQUESTBEGINBLOCK'].fields_by_name['byzantine_validators']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSECHECKTX'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSECHECKTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEDELIVERTX'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEDELIVERTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_COMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_COMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EVENT'].fields_by_name['attributes']._loaded_options = None + _globals['_EVENT'].fields_by_name['attributes']._serialized_options = b'\310\336\037\000\352\336\037\024attributes,omitempty' + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_MISBEHAVIOR'].fields_by_name['validator']._loaded_options = None + _globals['_MISBEHAVIOR'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_MISBEHAVIOR'].fields_by_name['time']._loaded_options = None + _globals['_MISBEHAVIOR'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_MISBEHAVIORTYPE']._serialized_start=6731 + _globals['_MISBEHAVIORTYPE']._serialized_end=6806 + _globals['_REQUEST']._serialized_start=224 + _globals['_REQUEST']._serialized_end=1471 + _globals['_REQUESTINFO']._serialized_start=1474 + _globals['_REQUESTINFO']._serialized_end=1618 + _globals['_REQUESTINITCHAIN']._serialized_start=1621 + _globals['_REQUESTINITCHAIN']._serialized_end=1965 + _globals['_REQUESTBEGINBLOCK']._serialized_start=1968 + _globals['_REQUESTBEGINBLOCK']._serialized_end=2245 + _globals['_REQUESTPREPAREPROPOSAL']._serialized_start=2248 + _globals['_REQUESTPREPAREPROPOSAL']._serialized_end=2668 + _globals['_REQUESTPROCESSPROPOSAL']._serialized_start=2671 + _globals['_REQUESTPROCESSPROPOSAL']._serialized_end=3075 + _globals['_RESPONSE']._serialized_start=3078 + _globals['_RESPONSE']._serialized_end=4416 + _globals['_RESPONSEINITCHAIN']._serialized_start=4419 + _globals['_RESPONSEINITCHAIN']._serialized_end=4627 + _globals['_RESPONSEBEGINBLOCK']._serialized_start=4629 + _globals['_RESPONSEBEGINBLOCK']._serialized_end=4729 + _globals['_RESPONSECHECKTX']._serialized_start=4732 + _globals['_RESPONSECHECKTX']._serialized_end=5086 + _globals['_RESPONSEDELIVERTX']._serialized_start=5089 + _globals['_RESPONSEDELIVERTX']._serialized_end=5356 + _globals['_RESPONSEENDBLOCK']._serialized_start=5359 + _globals['_RESPONSEENDBLOCK']._serialized_end=5645 + _globals['_RESPONSEPREPAREPROPOSAL']._serialized_start=5647 + _globals['_RESPONSEPREPAREPROPOSAL']._serialized_end=5690 + _globals['_RESPONSEPROCESSPROPOSAL']._serialized_start=5693 + _globals['_RESPONSEPROCESSPROPOSAL']._serialized_end=5860 + _globals['_RESPONSEPROCESSPROPOSAL_PROPOSALSTATUS']._serialized_start=5807 + _globals['_RESPONSEPROCESSPROPOSAL_PROPOSALSTATUS']._serialized_end=5860 + _globals['_COMMITINFO']._serialized_start=5862 + _globals['_COMMITINFO']._serialized_end=5957 + _globals['_EXTENDEDCOMMITINFO']._serialized_start=5959 + _globals['_EXTENDEDCOMMITINFO']._serialized_end=6070 + _globals['_EVENT']._serialized_start=6073 + _globals['_EVENT']._serialized_end=6201 + _globals['_EVENTATTRIBUTE']._serialized_start=6203 + _globals['_EVENTATTRIBUTE']._serialized_end=6281 + _globals['_EXTENDEDVOTEINFO']._serialized_start=6284 + _globals['_EXTENDEDVOTEINFO']._serialized_end=6455 + _globals['_MISBEHAVIOR']._serialized_start=6458 + _globals['_MISBEHAVIOR']._serialized_end=6729 + _globals['_ABCIAPPLICATION']._serialized_start=6809 + _globals['_ABCIAPPLICATION']._serialized_end=8404 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/abci/v1beta2/types_pb2_grpc.py b/pyinjective/proto/cometbft/abci/v1beta2/types_pb2_grpc.py new file mode 100644 index 00000000..413bef41 --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta2/types_pb2_grpc.py @@ -0,0 +1,751 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 + + +class ABCIApplicationStub(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Echo = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/Echo', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + _registered_method=True) + self.Flush = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/Flush', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + _registered_method=True) + self.Info = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/Info', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + _registered_method=True) + self.DeliverTx = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/DeliverTx', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseDeliverTx.FromString, + _registered_method=True) + self.CheckTx = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/CheckTx', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseCheckTx.FromString, + _registered_method=True) + self.Query = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/Query', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + _registered_method=True) + self.Commit = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/Commit', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.FromString, + _registered_method=True) + self.InitChain = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/InitChain', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInitChain.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseInitChain.FromString, + _registered_method=True) + self.BeginBlock = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/BeginBlock', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestBeginBlock.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseBeginBlock.FromString, + _registered_method=True) + self.EndBlock = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/EndBlock', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseEndBlock.FromString, + _registered_method=True) + self.ListSnapshots = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/ListSnapshots', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + _registered_method=True) + self.OfferSnapshot = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/OfferSnapshot', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + _registered_method=True) + self.LoadSnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/LoadSnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + _registered_method=True) + self.ApplySnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/ApplySnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + _registered_method=True) + self.PrepareProposal = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/PrepareProposal', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestPrepareProposal.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.FromString, + _registered_method=True) + self.ProcessProposal = channel.unary_unary( + '/cometbft.abci.v1beta2.ABCIApplication/ProcessProposal', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestProcessProposal.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.FromString, + _registered_method=True) + + +class ABCIApplicationServicer(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + def Echo(self, request, context): + """Echo returns back the same message it is sent. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Flush(self, request, context): + """Flush flushes the write buffer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Info(self, request, context): + """Info returns information about the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeliverTx(self, request, context): + """DeliverTx applies a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckTx(self, request, context): + """CheckTx validates a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Query(self, request, context): + """Query queries the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Commit(self, request, context): + """Commit commits a block of transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InitChain(self, request, context): + """InitChain initializes the blockchain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BeginBlock(self, request, context): + """BeginBlock signals the beginning of a block. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EndBlock(self, request, context): + """EndBlock signals the end of a block, returns changes to the validator set. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSnapshots(self, request, context): + """ListSnapshots lists all the available snapshots. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OfferSnapshot(self, request, context): + """OfferSnapshot sends a snapshot offer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LoadSnapshotChunk(self, request, context): + """LoadSnapshotChunk returns a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ApplySnapshotChunk(self, request, context): + """ApplySnapshotChunk applies a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PrepareProposal(self, request, context): + """PrepareProposal returns a proposal for the next block. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ProcessProposal(self, request, context): + """ProcessProposal validates a proposal. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ABCIApplicationServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Echo': grpc.unary_unary_rpc_method_handler( + servicer.Echo, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.SerializeToString, + ), + 'Flush': grpc.unary_unary_rpc_method_handler( + servicer.Flush, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.SerializeToString, + ), + 'Info': grpc.unary_unary_rpc_method_handler( + servicer.Info, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.SerializeToString, + ), + 'DeliverTx': grpc.unary_unary_rpc_method_handler( + servicer.DeliverTx, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseDeliverTx.SerializeToString, + ), + 'CheckTx': grpc.unary_unary_rpc_method_handler( + servicer.CheckTx, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseCheckTx.SerializeToString, + ), + 'Query': grpc.unary_unary_rpc_method_handler( + servicer.Query, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.SerializeToString, + ), + 'Commit': grpc.unary_unary_rpc_method_handler( + servicer.Commit, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.SerializeToString, + ), + 'InitChain': grpc.unary_unary_rpc_method_handler( + servicer.InitChain, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInitChain.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseInitChain.SerializeToString, + ), + 'BeginBlock': grpc.unary_unary_rpc_method_handler( + servicer.BeginBlock, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestBeginBlock.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseBeginBlock.SerializeToString, + ), + 'EndBlock': grpc.unary_unary_rpc_method_handler( + servicer.EndBlock, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseEndBlock.SerializeToString, + ), + 'ListSnapshots': grpc.unary_unary_rpc_method_handler( + servicer.ListSnapshots, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.SerializeToString, + ), + 'OfferSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.OfferSnapshot, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.SerializeToString, + ), + 'LoadSnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.LoadSnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.SerializeToString, + ), + 'ApplySnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.ApplySnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.SerializeToString, + ), + 'PrepareProposal': grpc.unary_unary_rpc_method_handler( + servicer.PrepareProposal, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestPrepareProposal.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.SerializeToString, + ), + 'ProcessProposal': grpc.unary_unary_rpc_method_handler( + servicer.ProcessProposal, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestProcessProposal.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.abci.v1beta2.ABCIApplication', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.abci.v1beta2.ABCIApplication', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class ABCIApplication(object): + """---------------------------------------- + Service Definition + + ABCIApplication is a service for an ABCI application. + """ + + @staticmethod + def Echo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/Echo', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Flush(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/Flush', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Info(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/Info', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DeliverTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/DeliverTx', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestDeliverTx.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseDeliverTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CheckTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/CheckTx', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseCheckTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Query(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/Query', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Commit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/Commit', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseCommit.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InitChain(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/InitChain', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInitChain.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseInitChain.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BeginBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/BeginBlock', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestBeginBlock.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseBeginBlock.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EndBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/EndBlock', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEndBlock.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseEndBlock.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListSnapshots(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/ListSnapshots', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OfferSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/OfferSnapshot', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LoadSnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/LoadSnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ApplySnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/ApplySnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PrepareProposal(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/PrepareProposal', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestPrepareProposal.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ProcessProposal(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta2.ABCIApplication/ProcessProposal', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestProcessProposal.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/abci/v1beta3/types_pb2.py b/pyinjective/proto/cometbft/abci/v1beta3/types_pb2.py new file mode 100644 index 00000000..9dc88b9c --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta3/types_pb2.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/abci/v1beta3/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/abci/v1beta3/types.proto\x12\x15\x63ometbft.abci.v1beta3\x1a!cometbft/abci/v1beta1/types.proto\x1a!cometbft/abci/v1beta2/types.proto\x1a\x1e\x63ometbft/types/v1/params.proto\x1a&cometbft/types/v1beta1/validator.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9f\n\n\x07Request\x12\x38\n\x04\x65\x63ho\x18\x01 \x01(\x0b\x32\".cometbft.abci.v1beta1.RequestEchoH\x00R\x04\x65\x63ho\x12;\n\x05\x66lush\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestFlushH\x00R\x05\x66lush\x12\x38\n\x04info\x18\x03 \x01(\x0b\x32\".cometbft.abci.v1beta2.RequestInfoH\x00R\x04info\x12H\n\ninit_chain\x18\x05 \x01(\x0b\x32\'.cometbft.abci.v1beta3.RequestInitChainH\x00R\tinitChain\x12;\n\x05query\x18\x06 \x01(\x0b\x32#.cometbft.abci.v1beta1.RequestQueryH\x00R\x05query\x12\x42\n\x08\x63heck_tx\x18\x08 \x01(\x0b\x32%.cometbft.abci.v1beta1.RequestCheckTxH\x00R\x07\x63heckTx\x12>\n\x06\x63ommit\x18\x0b \x01(\x0b\x32$.cometbft.abci.v1beta1.RequestCommitH\x00R\x06\x63ommit\x12T\n\x0elist_snapshots\x18\x0c \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestListSnapshotsH\x00R\rlistSnapshots\x12T\n\x0eoffer_snapshot\x18\r \x01(\x0b\x32+.cometbft.abci.v1beta1.RequestOfferSnapshotH\x00R\rofferSnapshot\x12\x61\n\x13load_snapshot_chunk\x18\x0e \x01(\x0b\x32/.cometbft.abci.v1beta1.RequestLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x64\n\x14\x61pply_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12Z\n\x10prepare_proposal\x18\x10 \x01(\x0b\x32-.cometbft.abci.v1beta3.RequestPrepareProposalH\x00R\x0fprepareProposal\x12Z\n\x10process_proposal\x18\x11 \x01(\x0b\x32-.cometbft.abci.v1beta3.RequestProcessProposalH\x00R\x0fprocessProposal\x12K\n\x0b\x65xtend_vote\x18\x12 \x01(\x0b\x32(.cometbft.abci.v1beta3.RequestExtendVoteH\x00R\nextendVote\x12g\n\x15verify_vote_extension\x18\x13 \x01(\x0b\x32\x31.cometbft.abci.v1beta3.RequestVerifyVoteExtensionH\x00R\x13verifyVoteExtension\x12T\n\x0e\x66inalize_block\x18\x14 \x01(\x0b\x32+.cometbft.abci.v1beta3.RequestFinalizeBlockH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x04\x10\x05J\x04\x08\x07\x10\x08J\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"\xd3\x02\n\x10RequestInitChain\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12M\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x04 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12&\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0cR\rappStateBytes\x12%\n\x0einitial_height\x18\x06 \x01(\x03R\rinitialHeight\"\xa4\x03\n\x16RequestPrepareProposal\x12 \n\x0cmax_tx_bytes\x18\x01 \x01(\x03R\nmaxTxBytes\x12\x10\n\x03txs\x18\x02 \x03(\x0cR\x03txs\x12[\n\x11local_last_commit\x18\x03 \x01(\x0b\x32).cometbft.abci.v1beta3.ExtendedCommitInfoB\x04\xc8\xde\x1f\x00R\x0flocalLastCommit\x12J\n\x0bmisbehavior\x18\x04 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x94\x03\n\x16RequestProcessProposal\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12Y\n\x14proposed_last_commit\x18\x02 \x01(\x0b\x32!.cometbft.abci.v1beta3.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12J\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x8f\x03\n\x11RequestExtendVote\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x10\n\x03txs\x18\x04 \x03(\x0cR\x03txs\x12Y\n\x14proposed_last_commit\x18\x05 \x01(\x0b\x32!.cometbft.abci.v1beta3.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12J\n\x0bmisbehavior\x18\x06 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x9c\x01\n\x1aRequestVerifyVoteExtension\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12%\n\x0evote_extension\x18\x04 \x01(\x0cR\rvoteExtension\"\x90\x03\n\x14RequestFinalizeBlock\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12W\n\x13\x64\x65\x63ided_last_commit\x18\x02 \x01(\x0b\x32!.cometbft.abci.v1beta3.CommitInfoB\x04\xc8\xde\x1f\x00R\x11\x64\x65\x63idedLastCommit\x12J\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\".cometbft.abci.v1beta2.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\xfa\n\n\x08Response\x12H\n\texception\x18\x01 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseExceptionH\x00R\texception\x12\x39\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseEchoH\x00R\x04\x65\x63ho\x12<\n\x05\x66lush\x18\x03 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseFlushH\x00R\x05\x66lush\x12\x39\n\x04info\x18\x04 \x01(\x0b\x32#.cometbft.abci.v1beta1.ResponseInfoH\x00R\x04info\x12I\n\ninit_chain\x18\x06 \x01(\x0b\x32(.cometbft.abci.v1beta3.ResponseInitChainH\x00R\tinitChain\x12<\n\x05query\x18\x07 \x01(\x0b\x32$.cometbft.abci.v1beta1.ResponseQueryH\x00R\x05query\x12\x43\n\x08\x63heck_tx\x18\t \x01(\x0b\x32&.cometbft.abci.v1beta3.ResponseCheckTxH\x00R\x07\x63heckTx\x12?\n\x06\x63ommit\x18\x0c \x01(\x0b\x32%.cometbft.abci.v1beta3.ResponseCommitH\x00R\x06\x63ommit\x12U\n\x0elist_snapshots\x18\r \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseListSnapshotsH\x00R\rlistSnapshots\x12U\n\x0eoffer_snapshot\x18\x0e \x01(\x0b\x32,.cometbft.abci.v1beta1.ResponseOfferSnapshotH\x00R\rofferSnapshot\x12\x62\n\x13load_snapshot_chunk\x18\x0f \x01(\x0b\x32\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12\x65\n\x14\x61pply_snapshot_chunk\x18\x10 \x01(\x0b\x32\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12[\n\x10prepare_proposal\x18\x11 \x01(\x0b\x32..cometbft.abci.v1beta2.ResponsePrepareProposalH\x00R\x0fprepareProposal\x12[\n\x10process_proposal\x18\x12 \x01(\x0b\x32..cometbft.abci.v1beta2.ResponseProcessProposalH\x00R\x0fprocessProposal\x12L\n\x0b\x65xtend_vote\x18\x13 \x01(\x0b\x32).cometbft.abci.v1beta3.ResponseExtendVoteH\x00R\nextendVote\x12h\n\x15verify_vote_extension\x18\x14 \x01(\x0b\x32\x32.cometbft.abci.v1beta3.ResponseVerifyVoteExtensionH\x00R\x13verifyVoteExtension\x12U\n\x0e\x66inalize_block\x18\x15 \x01(\x0b\x32,.cometbft.abci.v1beta3.ResponseFinalizeBlockH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x05\x10\x06J\x04\x08\x08\x10\tJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0c\"\xcb\x01\n\x11ResponseInitChain\x12M\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x0f\x63onsensusParams\x12L\n\nvalidators\x18\x02 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12\x19\n\x08\x61pp_hash\x18\x03 \x01(\x0cR\x07\x61ppHash\"\xb0\x02\n\x0fResponseCheckTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespaceJ\x04\x08\t\x10\x0cR\x06senderR\x08priorityR\rmempool_error\"A\n\x0eResponseCommit\x12#\n\rretain_height\x18\x03 \x01(\x03R\x0cretainHeightJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\";\n\x12ResponseExtendVote\x12%\n\x0evote_extension\x18\x01 \x01(\x0cR\rvoteExtension\"\xab\x01\n\x1bResponseVerifyVoteExtension\x12W\n\x06status\x18\x01 \x01(\x0e\x32?.cometbft.abci.v1beta3.ResponseVerifyVoteExtension.VerifyStatusR\x06status\"3\n\x0cVerifyStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\n\n\x06REJECT\x10\x02\"\xfd\x02\n\x15ResponseFinalizeBlock\x12N\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x42\n\ntx_results\x18\x02 \x03(\x0b\x32#.cometbft.abci.v1beta3.ExecTxResultR\ttxResults\x12Y\n\x11validator_updates\x18\x03 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12Z\n\x17\x63onsensus_param_updates\x18\x04 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12\x19\n\x08\x61pp_hash\x18\x05 \x01(\x0cR\x07\x61ppHash\"\x9f\x01\n\x08VoteInfo\x12\x44\n\tvalidator\x18\x01 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12G\n\rblock_id_flag\x18\x03 \x01(\x0e\x32#.cometbft.types.v1beta1.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"\xff\x01\n\x10\x45xtendedVoteInfo\x12\x44\n\tvalidator\x18\x01 \x01(\x0b\x32 .cometbft.abci.v1beta1.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12%\n\x0evote_extension\x18\x03 \x01(\x0cR\rvoteExtension\x12/\n\x13\x65xtension_signature\x18\x04 \x01(\x0cR\x12\x65xtensionSignature\x12G\n\rblock_id_flag\x18\x05 \x01(\x0e\x32#.cometbft.types.v1beta1.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"_\n\nCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12;\n\x05votes\x18\x02 \x03(\x0b\x32\x1f.cometbft.abci.v1beta3.VoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"o\n\x12\x45xtendedCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12\x43\n\x05votes\x18\x02 \x03(\x0b\x32\'.cometbft.abci.v1beta3.ExtendedVoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"\x86\x02\n\x0c\x45xecTxResult\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12N\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\"\x8b\x01\n\x08TxResult\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12\x0e\n\x02tx\x18\x03 \x01(\x0cR\x02tx\x12\x41\n\x06result\x18\x04 \x01(\x0b\x32#.cometbft.abci.v1beta3.ExecTxResultB\x04\xc8\xde\x1f\x00R\x06result2\xdd\x0c\n\x04\x41\x42\x43I\x12O\n\x04\x45\x63ho\x12\".cometbft.abci.v1beta1.RequestEcho\x1a#.cometbft.abci.v1beta1.ResponseEcho\x12R\n\x05\x46lush\x12#.cometbft.abci.v1beta1.RequestFlush\x1a$.cometbft.abci.v1beta1.ResponseFlush\x12O\n\x04Info\x12\".cometbft.abci.v1beta2.RequestInfo\x1a#.cometbft.abci.v1beta1.ResponseInfo\x12X\n\x07\x43heckTx\x12%.cometbft.abci.v1beta1.RequestCheckTx\x1a&.cometbft.abci.v1beta3.ResponseCheckTx\x12R\n\x05Query\x12#.cometbft.abci.v1beta1.RequestQuery\x1a$.cometbft.abci.v1beta1.ResponseQuery\x12U\n\x06\x43ommit\x12$.cometbft.abci.v1beta1.RequestCommit\x1a%.cometbft.abci.v1beta3.ResponseCommit\x12^\n\tInitChain\x12\'.cometbft.abci.v1beta3.RequestInitChain\x1a(.cometbft.abci.v1beta3.ResponseInitChain\x12j\n\rListSnapshots\x12+.cometbft.abci.v1beta1.RequestListSnapshots\x1a,.cometbft.abci.v1beta1.ResponseListSnapshots\x12j\n\rOfferSnapshot\x12+.cometbft.abci.v1beta1.RequestOfferSnapshot\x1a,.cometbft.abci.v1beta1.ResponseOfferSnapshot\x12v\n\x11LoadSnapshotChunk\x12/.cometbft.abci.v1beta1.RequestLoadSnapshotChunk\x1a\x30.cometbft.abci.v1beta1.ResponseLoadSnapshotChunk\x12y\n\x12\x41pplySnapshotChunk\x12\x30.cometbft.abci.v1beta1.RequestApplySnapshotChunk\x1a\x31.cometbft.abci.v1beta1.ResponseApplySnapshotChunk\x12p\n\x0fPrepareProposal\x12-.cometbft.abci.v1beta3.RequestPrepareProposal\x1a..cometbft.abci.v1beta2.ResponsePrepareProposal\x12p\n\x0fProcessProposal\x12-.cometbft.abci.v1beta3.RequestProcessProposal\x1a..cometbft.abci.v1beta2.ResponseProcessProposal\x12\x61\n\nExtendVote\x12(.cometbft.abci.v1beta3.RequestExtendVote\x1a).cometbft.abci.v1beta3.ResponseExtendVote\x12|\n\x13VerifyVoteExtension\x12\x31.cometbft.abci.v1beta3.RequestVerifyVoteExtension\x1a\x32.cometbft.abci.v1beta3.ResponseVerifyVoteExtension\x12j\n\rFinalizeBlock\x12+.cometbft.abci.v1beta3.RequestFinalizeBlock\x1a,.cometbft.abci.v1beta3.ResponseFinalizeBlockB\xd5\x01\n\x19\x63om.cometbft.abci.v1beta3B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta3\xa2\x02\x03\x43\x41X\xaa\x02\x15\x43ometbft.Abci.V1beta3\xca\x02\x15\x43ometbft\\Abci\\V1beta3\xe2\x02!Cometbft\\Abci\\V1beta3\\GPBMetadata\xea\x02\x17\x43ometbft::Abci::V1beta3b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.abci.v1beta3.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.abci.v1beta3B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/abci/v1beta3\242\002\003CAX\252\002\025Cometbft.Abci.V1beta3\312\002\025Cometbft\\Abci\\V1beta3\342\002!Cometbft\\Abci\\V1beta3\\GPBMetadata\352\002\027Cometbft::Abci::V1beta3' + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTEXTENDVOTE'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTEXTENDVOTE'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_REQUESTEXTENDVOTE'].fields_by_name['proposed_last_commit']._loaded_options = None + _globals['_REQUESTEXTENDVOTE'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTEXTENDVOTE'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTEXTENDVOTE'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['decided_last_commit']._loaded_options = None + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['decided_last_commit']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['misbehavior']._loaded_options = None + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['time']._loaded_options = None + _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._loaded_options = None + _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSECHECKTX'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSECHECKTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['validator_updates']._loaded_options = None + _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_VOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_VOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._loaded_options = None + _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_COMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_COMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._loaded_options = None + _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_EXECTXRESULT'].fields_by_name['events']._loaded_options = None + _globals['_EXECTXRESULT'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_TXRESULT'].fields_by_name['result']._loaded_options = None + _globals['_TXRESULT'].fields_by_name['result']._serialized_options = b'\310\336\037\000' + _globals['_REQUEST']._serialized_start=258 + _globals['_REQUEST']._serialized_end=1569 + _globals['_REQUESTINITCHAIN']._serialized_start=1572 + _globals['_REQUESTINITCHAIN']._serialized_end=1911 + _globals['_REQUESTPREPAREPROPOSAL']._serialized_start=1914 + _globals['_REQUESTPREPAREPROPOSAL']._serialized_end=2334 + _globals['_REQUESTPROCESSPROPOSAL']._serialized_start=2337 + _globals['_REQUESTPROCESSPROPOSAL']._serialized_end=2741 + _globals['_REQUESTEXTENDVOTE']._serialized_start=2744 + _globals['_REQUESTEXTENDVOTE']._serialized_end=3143 + _globals['_REQUESTVERIFYVOTEEXTENSION']._serialized_start=3146 + _globals['_REQUESTVERIFYVOTEEXTENSION']._serialized_end=3302 + _globals['_REQUESTFINALIZEBLOCK']._serialized_start=3305 + _globals['_REQUESTFINALIZEBLOCK']._serialized_end=3705 + _globals['_RESPONSE']._serialized_start=3708 + _globals['_RESPONSE']._serialized_end=5110 + _globals['_RESPONSEINITCHAIN']._serialized_start=5113 + _globals['_RESPONSEINITCHAIN']._serialized_end=5316 + _globals['_RESPONSECHECKTX']._serialized_start=5319 + _globals['_RESPONSECHECKTX']._serialized_end=5623 + _globals['_RESPONSECOMMIT']._serialized_start=5625 + _globals['_RESPONSECOMMIT']._serialized_end=5690 + _globals['_RESPONSEEXTENDVOTE']._serialized_start=5692 + _globals['_RESPONSEEXTENDVOTE']._serialized_end=5751 + _globals['_RESPONSEVERIFYVOTEEXTENSION']._serialized_start=5754 + _globals['_RESPONSEVERIFYVOTEEXTENSION']._serialized_end=5925 + _globals['_RESPONSEVERIFYVOTEEXTENSION_VERIFYSTATUS']._serialized_start=5874 + _globals['_RESPONSEVERIFYVOTEEXTENSION_VERIFYSTATUS']._serialized_end=5925 + _globals['_RESPONSEFINALIZEBLOCK']._serialized_start=5928 + _globals['_RESPONSEFINALIZEBLOCK']._serialized_end=6309 + _globals['_VOTEINFO']._serialized_start=6312 + _globals['_VOTEINFO']._serialized_end=6471 + _globals['_EXTENDEDVOTEINFO']._serialized_start=6474 + _globals['_EXTENDEDVOTEINFO']._serialized_end=6729 + _globals['_COMMITINFO']._serialized_start=6731 + _globals['_COMMITINFO']._serialized_end=6826 + _globals['_EXTENDEDCOMMITINFO']._serialized_start=6828 + _globals['_EXTENDEDCOMMITINFO']._serialized_end=6939 + _globals['_EXECTXRESULT']._serialized_start=6942 + _globals['_EXECTXRESULT']._serialized_end=7204 + _globals['_TXRESULT']._serialized_start=7207 + _globals['_TXRESULT']._serialized_end=7346 + _globals['_ABCI']._serialized_start=7349 + _globals['_ABCI']._serialized_end=8978 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/abci/v1beta3/types_pb2_grpc.py b/pyinjective/proto/cometbft/abci/v1beta3/types_pb2_grpc.py new file mode 100644 index 00000000..3f65b7c1 --- /dev/null +++ b/pyinjective/proto/cometbft/abci/v1beta3/types_pb2_grpc.py @@ -0,0 +1,752 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta3 import types_pb2 as cometbft_dot_abci_dot_v1beta3_dot_types__pb2 + + +class ABCIStub(object): + """NOTE: When using custom types, mind the warnings. + https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues + + ABCIService is a service for an ABCI application. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Echo = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/Echo', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + _registered_method=True) + self.Flush = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/Flush', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + _registered_method=True) + self.Info = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/Info', + request_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + _registered_method=True) + self.CheckTx = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/CheckTx', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCheckTx.FromString, + _registered_method=True) + self.Query = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/Query', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + _registered_method=True) + self.Commit = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/Commit', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCommit.FromString, + _registered_method=True) + self.InitChain = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/InitChain', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestInitChain.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseInitChain.FromString, + _registered_method=True) + self.ListSnapshots = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/ListSnapshots', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + _registered_method=True) + self.OfferSnapshot = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/OfferSnapshot', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + _registered_method=True) + self.LoadSnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/LoadSnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + _registered_method=True) + self.ApplySnapshotChunk = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/ApplySnapshotChunk', + request_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + _registered_method=True) + self.PrepareProposal = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/PrepareProposal', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestPrepareProposal.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.FromString, + _registered_method=True) + self.ProcessProposal = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/ProcessProposal', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestProcessProposal.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.FromString, + _registered_method=True) + self.ExtendVote = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/ExtendVote', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestExtendVote.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseExtendVote.FromString, + _registered_method=True) + self.VerifyVoteExtension = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/VerifyVoteExtension', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestVerifyVoteExtension.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseVerifyVoteExtension.FromString, + _registered_method=True) + self.FinalizeBlock = channel.unary_unary( + '/cometbft.abci.v1beta3.ABCI/FinalizeBlock', + request_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestFinalizeBlock.SerializeToString, + response_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseFinalizeBlock.FromString, + _registered_method=True) + + +class ABCIServicer(object): + """NOTE: When using custom types, mind the warnings. + https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues + + ABCIService is a service for an ABCI application. + """ + + def Echo(self, request, context): + """Echo returns back the same message it is sent. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Flush(self, request, context): + """Flush flushes the write buffer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Info(self, request, context): + """Info returns information about the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckTx(self, request, context): + """CheckTx validates a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Query(self, request, context): + """Query queries the application state. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Commit(self, request, context): + """Commit commits a block of transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InitChain(self, request, context): + """InitChain initializes the blockchain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSnapshots(self, request, context): + """ListSnapshots lists all the available snapshots. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OfferSnapshot(self, request, context): + """OfferSnapshot sends a snapshot offer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LoadSnapshotChunk(self, request, context): + """LoadSnapshotChunk returns a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ApplySnapshotChunk(self, request, context): + """ApplySnapshotChunk applies a chunk of snapshot. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PrepareProposal(self, request, context): + """PrepareProposal returns a proposal for the next block. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ProcessProposal(self, request, context): + """ProcessProposal validates a proposal. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExtendVote(self, request, context): + """ExtendVote extends a vote with application-injected data (vote extensions). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VerifyVoteExtension(self, request, context): + """VerifyVoteExtension verifies a vote extension. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FinalizeBlock(self, request, context): + """FinalizeBlock finalizes a block. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ABCIServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Echo': grpc.unary_unary_rpc_method_handler( + servicer.Echo, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.SerializeToString, + ), + 'Flush': grpc.unary_unary_rpc_method_handler( + servicer.Flush, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.SerializeToString, + ), + 'Info': grpc.unary_unary_rpc_method_handler( + servicer.Info, + request_deserializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.SerializeToString, + ), + 'CheckTx': grpc.unary_unary_rpc_method_handler( + servicer.CheckTx, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCheckTx.SerializeToString, + ), + 'Query': grpc.unary_unary_rpc_method_handler( + servicer.Query, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.SerializeToString, + ), + 'Commit': grpc.unary_unary_rpc_method_handler( + servicer.Commit, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCommit.SerializeToString, + ), + 'InitChain': grpc.unary_unary_rpc_method_handler( + servicer.InitChain, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestInitChain.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseInitChain.SerializeToString, + ), + 'ListSnapshots': grpc.unary_unary_rpc_method_handler( + servicer.ListSnapshots, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.SerializeToString, + ), + 'OfferSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.OfferSnapshot, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.SerializeToString, + ), + 'LoadSnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.LoadSnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.SerializeToString, + ), + 'ApplySnapshotChunk': grpc.unary_unary_rpc_method_handler( + servicer.ApplySnapshotChunk, + request_deserializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.SerializeToString, + ), + 'PrepareProposal': grpc.unary_unary_rpc_method_handler( + servicer.PrepareProposal, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestPrepareProposal.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.SerializeToString, + ), + 'ProcessProposal': grpc.unary_unary_rpc_method_handler( + servicer.ProcessProposal, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestProcessProposal.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.SerializeToString, + ), + 'ExtendVote': grpc.unary_unary_rpc_method_handler( + servicer.ExtendVote, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestExtendVote.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseExtendVote.SerializeToString, + ), + 'VerifyVoteExtension': grpc.unary_unary_rpc_method_handler( + servicer.VerifyVoteExtension, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestVerifyVoteExtension.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseVerifyVoteExtension.SerializeToString, + ), + 'FinalizeBlock': grpc.unary_unary_rpc_method_handler( + servicer.FinalizeBlock, + request_deserializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestFinalizeBlock.FromString, + response_serializer=cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseFinalizeBlock.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.abci.v1beta3.ABCI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.abci.v1beta3.ABCI', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class ABCI(object): + """NOTE: When using custom types, mind the warnings. + https://github.com/cosmos/gogoproto/blob/master/custom_types.md#warnings-and-issues + + ABCIService is a service for an ABCI application. + """ + + @staticmethod + def Echo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/Echo', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestEcho.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseEcho.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Flush(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/Flush', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestFlush.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseFlush.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Info(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/Info', + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.RequestInfo.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CheckTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/CheckTx', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCheckTx.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCheckTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Query(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/Query', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestQuery.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseQuery.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Commit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/Commit', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestCommit.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseCommit.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InitChain(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/InitChain', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestInitChain.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseInitChain.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListSnapshots(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/ListSnapshots', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestListSnapshots.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseListSnapshots.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OfferSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/OfferSnapshot', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestOfferSnapshot.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseOfferSnapshot.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LoadSnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/LoadSnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestLoadSnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseLoadSnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ApplySnapshotChunk(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/ApplySnapshotChunk', + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.RequestApplySnapshotChunk.SerializeToString, + cometbft_dot_abci_dot_v1beta1_dot_types__pb2.ResponseApplySnapshotChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PrepareProposal(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/PrepareProposal', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestPrepareProposal.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponsePrepareProposal.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ProcessProposal(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/ProcessProposal', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestProcessProposal.SerializeToString, + cometbft_dot_abci_dot_v1beta2_dot_types__pb2.ResponseProcessProposal.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ExtendVote(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/ExtendVote', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestExtendVote.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseExtendVote.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def VerifyVoteExtension(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/VerifyVoteExtension', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestVerifyVoteExtension.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseVerifyVoteExtension.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FinalizeBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.abci.v1beta3.ABCI/FinalizeBlock', + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.RequestFinalizeBlock.SerializeToString, + cometbft_dot_abci_dot_v1beta3_dot_types__pb2.ResponseFinalizeBlock.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/blocksync/v1/types_pb2.py b/pyinjective/proto/cometbft/blocksync/v1/types_pb2.py new file mode 100644 index 00000000..f0a10fe3 --- /dev/null +++ b/pyinjective/proto/cometbft/blocksync/v1/types_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/blocksync/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1 import block_pb2 as cometbft_dot_types_dot_v1_dot_block__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/blocksync/v1/types.proto\x12\x15\x63ometbft.blocksync.v1\x1a\x1d\x63ometbft/types/v1/block.proto\x1a\x1d\x63ometbft/types/v1/types.proto\"&\n\x0c\x42lockRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\")\n\x0fNoBlockResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\x0f\n\rStatusRequest\"<\n\x0eStatusResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x12\n\x04\x62\x61se\x18\x02 \x01(\x03R\x04\x62\x61se\"\x81\x01\n\rBlockResponse\x12.\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x18.cometbft.types.v1.BlockR\x05\x62lock\x12@\n\next_commit\x18\x02 \x01(\x0b\x32!.cometbft.types.v1.ExtendedCommitR\textCommit\"\xa2\x03\n\x07Message\x12J\n\rblock_request\x18\x01 \x01(\x0b\x32#.cometbft.blocksync.v1.BlockRequestH\x00R\x0c\x62lockRequest\x12T\n\x11no_block_response\x18\x02 \x01(\x0b\x32&.cometbft.blocksync.v1.NoBlockResponseH\x00R\x0fnoBlockResponse\x12M\n\x0e\x62lock_response\x18\x03 \x01(\x0b\x32$.cometbft.blocksync.v1.BlockResponseH\x00R\rblockResponse\x12M\n\x0estatus_request\x18\x04 \x01(\x0b\x32$.cometbft.blocksync.v1.StatusRequestH\x00R\rstatusRequest\x12P\n\x0fstatus_response\x18\x05 \x01(\x0b\x32%.cometbft.blocksync.v1.StatusResponseH\x00R\x0estatusResponseB\x05\n\x03sumB\xd5\x01\n\x19\x63om.cometbft.blocksync.v1B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/blocksync/v1\xa2\x02\x03\x43\x42X\xaa\x02\x15\x43ometbft.Blocksync.V1\xca\x02\x15\x43ometbft\\Blocksync\\V1\xe2\x02!Cometbft\\Blocksync\\V1\\GPBMetadata\xea\x02\x17\x43ometbft::Blocksync::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.blocksync.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.blocksync.v1B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/blocksync/v1\242\002\003CBX\252\002\025Cometbft.Blocksync.V1\312\002\025Cometbft\\Blocksync\\V1\342\002!Cometbft\\Blocksync\\V1\\GPBMetadata\352\002\027Cometbft::Blocksync::V1' + _globals['_BLOCKREQUEST']._serialized_start=122 + _globals['_BLOCKREQUEST']._serialized_end=160 + _globals['_NOBLOCKRESPONSE']._serialized_start=162 + _globals['_NOBLOCKRESPONSE']._serialized_end=203 + _globals['_STATUSREQUEST']._serialized_start=205 + _globals['_STATUSREQUEST']._serialized_end=220 + _globals['_STATUSRESPONSE']._serialized_start=222 + _globals['_STATUSRESPONSE']._serialized_end=282 + _globals['_BLOCKRESPONSE']._serialized_start=285 + _globals['_BLOCKRESPONSE']._serialized_end=414 + _globals['_MESSAGE']._serialized_start=417 + _globals['_MESSAGE']._serialized_end=835 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/p2p/types_pb2_grpc.py b/pyinjective/proto/cometbft/blocksync/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/p2p/types_pb2_grpc.py rename to pyinjective/proto/cometbft/blocksync/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/blocksync/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/blocksync/v1beta1/types_pb2.py new file mode 100644 index 00000000..56f77c05 --- /dev/null +++ b/pyinjective/proto/cometbft/blocksync/v1beta1/types_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/blocksync/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1beta1 import block_pb2 as cometbft_dot_types_dot_v1beta1_dot_block__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cometbft/blocksync/v1beta1/types.proto\x12\x1a\x63ometbft.blocksync.v1beta1\x1a\"cometbft/types/v1beta1/block.proto\"&\n\x0c\x42lockRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\")\n\x0fNoBlockResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"D\n\rBlockResponse\x12\x33\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x1d.cometbft.types.v1beta1.BlockR\x05\x62lock\"\x0f\n\rStatusRequest\"<\n\x0eStatusResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x12\n\x04\x62\x61se\x18\x02 \x01(\x03R\x04\x62\x61se\"\xbb\x03\n\x07Message\x12O\n\rblock_request\x18\x01 \x01(\x0b\x32(.cometbft.blocksync.v1beta1.BlockRequestH\x00R\x0c\x62lockRequest\x12Y\n\x11no_block_response\x18\x02 \x01(\x0b\x32+.cometbft.blocksync.v1beta1.NoBlockResponseH\x00R\x0fnoBlockResponse\x12R\n\x0e\x62lock_response\x18\x03 \x01(\x0b\x32).cometbft.blocksync.v1beta1.BlockResponseH\x00R\rblockResponse\x12R\n\x0estatus_request\x18\x04 \x01(\x0b\x32).cometbft.blocksync.v1beta1.StatusRequestH\x00R\rstatusRequest\x12U\n\x0fstatus_response\x18\x05 \x01(\x0b\x32*.cometbft.blocksync.v1beta1.StatusResponseH\x00R\x0estatusResponseB\x05\n\x03sumB\xf3\x01\n\x1e\x63om.cometbft.blocksync.v1beta1B\nTypesProtoP\x01Z;github.com/cometbft/cometbft/api/cometbft/blocksync/v1beta1\xa2\x02\x03\x43\x42X\xaa\x02\x1a\x43ometbft.Blocksync.V1beta1\xca\x02\x1a\x43ometbft\\Blocksync\\V1beta1\xe2\x02&Cometbft\\Blocksync\\V1beta1\\GPBMetadata\xea\x02\x1c\x43ometbft::Blocksync::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.blocksync.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cometbft.blocksync.v1beta1B\nTypesProtoP\001Z;github.com/cometbft/cometbft/api/cometbft/blocksync/v1beta1\242\002\003CBX\252\002\032Cometbft.Blocksync.V1beta1\312\002\032Cometbft\\Blocksync\\V1beta1\342\002&Cometbft\\Blocksync\\V1beta1\\GPBMetadata\352\002\034Cometbft::Blocksync::V1beta1' + _globals['_BLOCKREQUEST']._serialized_start=106 + _globals['_BLOCKREQUEST']._serialized_end=144 + _globals['_NOBLOCKRESPONSE']._serialized_start=146 + _globals['_NOBLOCKRESPONSE']._serialized_end=187 + _globals['_BLOCKRESPONSE']._serialized_start=189 + _globals['_BLOCKRESPONSE']._serialized_end=257 + _globals['_STATUSREQUEST']._serialized_start=259 + _globals['_STATUSREQUEST']._serialized_end=274 + _globals['_STATUSRESPONSE']._serialized_start=276 + _globals['_STATUSRESPONSE']._serialized_end=336 + _globals['_MESSAGE']._serialized_start=339 + _globals['_MESSAGE']._serialized_end=782 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/types_pb2_grpc.py b/pyinjective/proto/cometbft/blocksync/v1beta1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/types/types_pb2_grpc.py rename to pyinjective/proto/cometbft/blocksync/v1beta1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/consensus/v1/types_pb2.py b/pyinjective/proto/cometbft/consensus/v1/types_pb2.py new file mode 100644 index 00000000..bf7ea531 --- /dev/null +++ b/pyinjective/proto/cometbft/consensus/v1/types_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/consensus/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.libs.bits.v1 import types_pb2 as cometbft_dot_libs_dot_bits_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/consensus/v1/types.proto\x12\x15\x63ometbft.consensus.v1\x1a\x14gogoproto/gogo.proto\x1a!cometbft/libs/bits/v1/types.proto\x1a\x1d\x63ometbft/types/v1/types.proto\"\xb5\x01\n\x0cNewRoundStep\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x03 \x01(\rR\x04step\x12\x37\n\x18seconds_since_start_time\x18\x04 \x01(\x03R\x15secondsSinceStartTime\x12*\n\x11last_commit_round\x18\x05 \x01(\x05R\x0flastCommitRound\"\xf7\x01\n\rNewValidBlock\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12Y\n\x15\x62lock_part_set_header\x18\x03 \x01(\x0b\x32 .cometbft.types.v1.PartSetHeaderB\x04\xc8\xde\x1f\x00R\x12\x62lockPartSetHeader\x12@\n\x0b\x62lock_parts\x18\x04 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayR\nblockParts\x12\x1b\n\tis_commit\x18\x05 \x01(\x08R\x08isCommit\"I\n\x08Proposal\x12=\n\x08proposal\x18\x01 \x01(\x0b\x32\x1b.cometbft.types.v1.ProposalB\x04\xc8\xde\x1f\x00R\x08proposal\"\x9d\x01\n\x0bProposalPOL\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12,\n\x12proposal_pol_round\x18\x02 \x01(\x05R\x10proposalPolRound\x12H\n\x0cproposal_pol\x18\x03 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayB\x04\xc8\xde\x1f\x00R\x0bproposalPol\"l\n\tBlockPart\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x31\n\x04part\x18\x03 \x01(\x0b\x32\x17.cometbft.types.v1.PartB\x04\xc8\xde\x1f\x00R\x04part\"3\n\x04Vote\x12+\n\x04vote\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteR\x04vote\"\x83\x01\n\x07HasVote\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x14\n\x05index\x18\x04 \x01(\x05R\x05index\"\xba\x01\n\x0cVoteSetMaj23\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x46\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\"\xf6\x01\n\x0bVoteSetBits\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x46\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12;\n\x05votes\x18\x05 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayB\x04\xc8\xde\x1f\x00R\x05votes\"Z\n\x14HasProposalBlockPart\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x14\n\x05index\x18\x03 \x01(\x05R\x05index\"\xe5\x05\n\x07Message\x12K\n\x0enew_round_step\x18\x01 \x01(\x0b\x32#.cometbft.consensus.v1.NewRoundStepH\x00R\x0cnewRoundStep\x12N\n\x0fnew_valid_block\x18\x02 \x01(\x0b\x32$.cometbft.consensus.v1.NewValidBlockH\x00R\rnewValidBlock\x12=\n\x08proposal\x18\x03 \x01(\x0b\x32\x1f.cometbft.consensus.v1.ProposalH\x00R\x08proposal\x12G\n\x0cproposal_pol\x18\x04 \x01(\x0b\x32\".cometbft.consensus.v1.ProposalPOLH\x00R\x0bproposalPol\x12\x41\n\nblock_part\x18\x05 \x01(\x0b\x32 .cometbft.consensus.v1.BlockPartH\x00R\tblockPart\x12\x31\n\x04vote\x18\x06 \x01(\x0b\x32\x1b.cometbft.consensus.v1.VoteH\x00R\x04vote\x12;\n\x08has_vote\x18\x07 \x01(\x0b\x32\x1e.cometbft.consensus.v1.HasVoteH\x00R\x07hasVote\x12K\n\x0evote_set_maj23\x18\x08 \x01(\x0b\x32#.cometbft.consensus.v1.VoteSetMaj23H\x00R\x0cvoteSetMaj23\x12H\n\rvote_set_bits\x18\t \x01(\x0b\x32\".cometbft.consensus.v1.VoteSetBitsH\x00R\x0bvoteSetBits\x12\x64\n\x17has_proposal_block_part\x18\n \x01(\x0b\x32+.cometbft.consensus.v1.HasProposalBlockPartH\x00R\x14hasProposalBlockPartB\x05\n\x03sumB\xd5\x01\n\x19\x63om.cometbft.consensus.v1B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/consensus/v1\xa2\x02\x03\x43\x43X\xaa\x02\x15\x43ometbft.Consensus.V1\xca\x02\x15\x43ometbft\\Consensus\\V1\xe2\x02!Cometbft\\Consensus\\V1\\GPBMetadata\xea\x02\x17\x43ometbft::Consensus::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.consensus.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.consensus.v1B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/consensus/v1\242\002\003CCX\252\002\025Cometbft.Consensus.V1\312\002\025Cometbft\\Consensus\\V1\342\002!Cometbft\\Consensus\\V1\\GPBMetadata\352\002\027Cometbft::Consensus::V1' + _globals['_NEWVALIDBLOCK'].fields_by_name['block_part_set_header']._loaded_options = None + _globals['_NEWVALIDBLOCK'].fields_by_name['block_part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_PROPOSAL'].fields_by_name['proposal']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['proposal']._serialized_options = b'\310\336\037\000' + _globals['_PROPOSALPOL'].fields_by_name['proposal_pol']._loaded_options = None + _globals['_PROPOSALPOL'].fields_by_name['proposal_pol']._serialized_options = b'\310\336\037\000' + _globals['_BLOCKPART'].fields_by_name['part']._loaded_options = None + _globals['_BLOCKPART'].fields_by_name['part']._serialized_options = b'\310\336\037\000' + _globals['_VOTESETMAJ23'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTESETMAJ23'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTESETBITS'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTESETBITS'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTESETBITS'].fields_by_name['votes']._loaded_options = None + _globals['_VOTESETBITS'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_NEWROUNDSTEP']._serialized_start=149 + _globals['_NEWROUNDSTEP']._serialized_end=330 + _globals['_NEWVALIDBLOCK']._serialized_start=333 + _globals['_NEWVALIDBLOCK']._serialized_end=580 + _globals['_PROPOSAL']._serialized_start=582 + _globals['_PROPOSAL']._serialized_end=655 + _globals['_PROPOSALPOL']._serialized_start=658 + _globals['_PROPOSALPOL']._serialized_end=815 + _globals['_BLOCKPART']._serialized_start=817 + _globals['_BLOCKPART']._serialized_end=925 + _globals['_VOTE']._serialized_start=927 + _globals['_VOTE']._serialized_end=978 + _globals['_HASVOTE']._serialized_start=981 + _globals['_HASVOTE']._serialized_end=1112 + _globals['_VOTESETMAJ23']._serialized_start=1115 + _globals['_VOTESETMAJ23']._serialized_end=1301 + _globals['_VOTESETBITS']._serialized_start=1304 + _globals['_VOTESETBITS']._serialized_end=1550 + _globals['_HASPROPOSALBLOCKPART']._serialized_start=1552 + _globals['_HASPROPOSALBLOCKPART']._serialized_end=1642 + _globals['_MESSAGE']._serialized_start=1645 + _globals['_MESSAGE']._serialized_end=2386 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/version/types_pb2_grpc.py b/pyinjective/proto/cometbft/consensus/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/version/types_pb2_grpc.py rename to pyinjective/proto/cometbft/consensus/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/consensus/v1/wal_pb2.py b/pyinjective/proto/cometbft/consensus/v1/wal_pb2.py new file mode 100644 index 00000000..490b168c --- /dev/null +++ b/pyinjective/proto/cometbft/consensus/v1/wal_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/consensus/v1/wal.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.consensus.v1 import types_pb2 as cometbft_dot_consensus_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import events_pb2 as cometbft_dot_types_dot_v1_dot_events__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63ometbft/consensus/v1/wal.proto\x12\x15\x63ometbft.consensus.v1\x1a!cometbft/consensus/v1/types.proto\x1a\x1e\x63ometbft/types/v1/events.proto\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xaf\x01\n\x07MsgInfo\x12\x36\n\x03msg\x18\x01 \x01(\x0b\x32\x1e.cometbft.consensus.v1.MessageB\x04\xc8\xde\x1f\x00R\x03msg\x12#\n\x07peer_id\x18\x02 \x01(\tB\n\xe2\xde\x1f\x06PeerIDR\x06peerId\x12G\n\x0creceive_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x01\x90\xdf\x1f\x01R\x0breceiveTime\"\x90\x01\n\x0bTimeoutInfo\x12?\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01R\x08\x64uration\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x04 \x01(\rR\x04step\"#\n\tEndHeight\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\xbb\x02\n\nWALMessage\x12]\n\x16\x65vent_data_round_state\x18\x01 \x01(\x0b\x32&.cometbft.types.v1.EventDataRoundStateH\x00R\x13\x65ventDataRoundState\x12;\n\x08msg_info\x18\x02 \x01(\x0b\x32\x1e.cometbft.consensus.v1.MsgInfoH\x00R\x07msgInfo\x12G\n\x0ctimeout_info\x18\x03 \x01(\x0b\x32\".cometbft.consensus.v1.TimeoutInfoH\x00R\x0btimeoutInfo\x12\x41\n\nend_height\x18\x04 \x01(\x0b\x32 .cometbft.consensus.v1.EndHeightH\x00R\tendHeightB\x05\n\x03sum\"\x80\x01\n\x0fTimedWALMessage\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x33\n\x03msg\x18\x02 \x01(\x0b\x32!.cometbft.consensus.v1.WALMessageR\x03msgB\xd3\x01\n\x19\x63om.cometbft.consensus.v1B\x08WalProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/consensus/v1\xa2\x02\x03\x43\x43X\xaa\x02\x15\x43ometbft.Consensus.V1\xca\x02\x15\x43ometbft\\Consensus\\V1\xe2\x02!Cometbft\\Consensus\\V1\\GPBMetadata\xea\x02\x17\x43ometbft::Consensus::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.consensus.v1.wal_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.consensus.v1B\010WalProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/consensus/v1\242\002\003CCX\252\002\025Cometbft.Consensus.V1\312\002\025Cometbft\\Consensus\\V1\342\002!Cometbft\\Consensus\\V1\\GPBMetadata\352\002\027Cometbft::Consensus::V1' + _globals['_MSGINFO'].fields_by_name['msg']._loaded_options = None + _globals['_MSGINFO'].fields_by_name['msg']._serialized_options = b'\310\336\037\000' + _globals['_MSGINFO'].fields_by_name['peer_id']._loaded_options = None + _globals['_MSGINFO'].fields_by_name['peer_id']._serialized_options = b'\342\336\037\006PeerID' + _globals['_MSGINFO'].fields_by_name['receive_time']._loaded_options = None + _globals['_MSGINFO'].fields_by_name['receive_time']._serialized_options = b'\310\336\037\001\220\337\037\001' + _globals['_TIMEOUTINFO'].fields_by_name['duration']._loaded_options = None + _globals['_TIMEOUTINFO'].fields_by_name['duration']._serialized_options = b'\310\336\037\000\230\337\037\001' + _globals['_TIMEDWALMESSAGE'].fields_by_name['time']._loaded_options = None + _globals['_TIMEDWALMESSAGE'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_MSGINFO']._serialized_start=213 + _globals['_MSGINFO']._serialized_end=388 + _globals['_TIMEOUTINFO']._serialized_start=391 + _globals['_TIMEOUTINFO']._serialized_end=535 + _globals['_ENDHEIGHT']._serialized_start=537 + _globals['_ENDHEIGHT']._serialized_end=572 + _globals['_WALMESSAGE']._serialized_start=575 + _globals['_WALMESSAGE']._serialized_end=890 + _globals['_TIMEDWALMESSAGE']._serialized_start=893 + _globals['_TIMEDWALMESSAGE']._serialized_end=1021 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/module/v1alpha1/module_pb2_grpc.py b/pyinjective/proto/cometbft/consensus/v1/wal_pb2_grpc.py similarity index 100% rename from pyinjective/proto/cosmos/orm/module/v1alpha1/module_pb2_grpc.py rename to pyinjective/proto/cometbft/consensus/v1/wal_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/consensus/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/consensus/v1beta1/types_pb2.py new file mode 100644 index 00000000..d6a12832 --- /dev/null +++ b/pyinjective/proto/cometbft/consensus/v1beta1/types_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/consensus/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.libs.bits.v1 import types_pb2 as cometbft_dot_libs_dot_bits_dot_v1_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cometbft/consensus/v1beta1/types.proto\x12\x1a\x63ometbft.consensus.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a!cometbft/libs/bits/v1/types.proto\"\xb5\x01\n\x0cNewRoundStep\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x03 \x01(\rR\x04step\x12\x37\n\x18seconds_since_start_time\x18\x04 \x01(\x03R\x15secondsSinceStartTime\x12*\n\x11last_commit_round\x18\x05 \x01(\x05R\x0flastCommitRound\"\xfc\x01\n\rNewValidBlock\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12^\n\x15\x62lock_part_set_header\x18\x03 \x01(\x0b\x32%.cometbft.types.v1beta1.PartSetHeaderB\x04\xc8\xde\x1f\x00R\x12\x62lockPartSetHeader\x12@\n\x0b\x62lock_parts\x18\x04 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayR\nblockParts\x12\x1b\n\tis_commit\x18\x05 \x01(\x08R\x08isCommit\"N\n\x08Proposal\x12\x42\n\x08proposal\x18\x01 \x01(\x0b\x32 .cometbft.types.v1beta1.ProposalB\x04\xc8\xde\x1f\x00R\x08proposal\"\x9d\x01\n\x0bProposalPOL\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12,\n\x12proposal_pol_round\x18\x02 \x01(\x05R\x10proposalPolRound\x12H\n\x0cproposal_pol\x18\x03 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayB\x04\xc8\xde\x1f\x00R\x0bproposalPol\"q\n\tBlockPart\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x36\n\x04part\x18\x03 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.PartB\x04\xc8\xde\x1f\x00R\x04part\"8\n\x04Vote\x12\x30\n\x04vote\x18\x01 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.VoteR\x04vote\"\x88\x01\n\x07HasVote\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x39\n\x04type\x18\x03 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12\x14\n\x05index\x18\x04 \x01(\x05R\x05index\"\xc4\x01\n\x0cVoteSetMaj23\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x39\n\x04type\x18\x03 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12K\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\"\x80\x02\n\x0bVoteSetBits\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x39\n\x04type\x18\x03 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12K\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12;\n\x05votes\x18\x05 \x01(\x0b\x32\x1f.cometbft.libs.bits.v1.BitArrayB\x04\xc8\xde\x1f\x00R\x05votes\"\xac\x05\n\x07Message\x12P\n\x0enew_round_step\x18\x01 \x01(\x0b\x32(.cometbft.consensus.v1beta1.NewRoundStepH\x00R\x0cnewRoundStep\x12S\n\x0fnew_valid_block\x18\x02 \x01(\x0b\x32).cometbft.consensus.v1beta1.NewValidBlockH\x00R\rnewValidBlock\x12\x42\n\x08proposal\x18\x03 \x01(\x0b\x32$.cometbft.consensus.v1beta1.ProposalH\x00R\x08proposal\x12L\n\x0cproposal_pol\x18\x04 \x01(\x0b\x32\'.cometbft.consensus.v1beta1.ProposalPOLH\x00R\x0bproposalPol\x12\x46\n\nblock_part\x18\x05 \x01(\x0b\x32%.cometbft.consensus.v1beta1.BlockPartH\x00R\tblockPart\x12\x36\n\x04vote\x18\x06 \x01(\x0b\x32 .cometbft.consensus.v1beta1.VoteH\x00R\x04vote\x12@\n\x08has_vote\x18\x07 \x01(\x0b\x32#.cometbft.consensus.v1beta1.HasVoteH\x00R\x07hasVote\x12P\n\x0evote_set_maj23\x18\x08 \x01(\x0b\x32(.cometbft.consensus.v1beta1.VoteSetMaj23H\x00R\x0cvoteSetMaj23\x12M\n\rvote_set_bits\x18\t \x01(\x0b\x32\'.cometbft.consensus.v1beta1.VoteSetBitsH\x00R\x0bvoteSetBitsB\x05\n\x03sumB\xf3\x01\n\x1e\x63om.cometbft.consensus.v1beta1B\nTypesProtoP\x01Z;github.com/cometbft/cometbft/api/cometbft/consensus/v1beta1\xa2\x02\x03\x43\x43X\xaa\x02\x1a\x43ometbft.Consensus.V1beta1\xca\x02\x1a\x43ometbft\\Consensus\\V1beta1\xe2\x02&Cometbft\\Consensus\\V1beta1\\GPBMetadata\xea\x02\x1c\x43ometbft::Consensus::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.consensus.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cometbft.consensus.v1beta1B\nTypesProtoP\001Z;github.com/cometbft/cometbft/api/cometbft/consensus/v1beta1\242\002\003CCX\252\002\032Cometbft.Consensus.V1beta1\312\002\032Cometbft\\Consensus\\V1beta1\342\002&Cometbft\\Consensus\\V1beta1\\GPBMetadata\352\002\034Cometbft::Consensus::V1beta1' + _globals['_NEWVALIDBLOCK'].fields_by_name['block_part_set_header']._loaded_options = None + _globals['_NEWVALIDBLOCK'].fields_by_name['block_part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_PROPOSAL'].fields_by_name['proposal']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['proposal']._serialized_options = b'\310\336\037\000' + _globals['_PROPOSALPOL'].fields_by_name['proposal_pol']._loaded_options = None + _globals['_PROPOSALPOL'].fields_by_name['proposal_pol']._serialized_options = b'\310\336\037\000' + _globals['_BLOCKPART'].fields_by_name['part']._loaded_options = None + _globals['_BLOCKPART'].fields_by_name['part']._serialized_options = b'\310\336\037\000' + _globals['_VOTESETMAJ23'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTESETMAJ23'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTESETBITS'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTESETBITS'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTESETBITS'].fields_by_name['votes']._loaded_options = None + _globals['_VOTESETBITS'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' + _globals['_NEWROUNDSTEP']._serialized_start=164 + _globals['_NEWROUNDSTEP']._serialized_end=345 + _globals['_NEWVALIDBLOCK']._serialized_start=348 + _globals['_NEWVALIDBLOCK']._serialized_end=600 + _globals['_PROPOSAL']._serialized_start=602 + _globals['_PROPOSAL']._serialized_end=680 + _globals['_PROPOSALPOL']._serialized_start=683 + _globals['_PROPOSALPOL']._serialized_end=840 + _globals['_BLOCKPART']._serialized_start=842 + _globals['_BLOCKPART']._serialized_end=955 + _globals['_VOTE']._serialized_start=957 + _globals['_VOTE']._serialized_end=1013 + _globals['_HASVOTE']._serialized_start=1016 + _globals['_HASVOTE']._serialized_end=1152 + _globals['_VOTESETMAJ23']._serialized_start=1155 + _globals['_VOTESETMAJ23']._serialized_end=1351 + _globals['_VOTESETBITS']._serialized_start=1354 + _globals['_VOTESETBITS']._serialized_end=1610 + _globals['_MESSAGE']._serialized_start=1613 + _globals['_MESSAGE']._serialized_end=2297 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/v1/orm_pb2_grpc.py b/pyinjective/proto/cometbft/consensus/v1beta1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/cosmos/orm/v1/orm_pb2_grpc.py rename to pyinjective/proto/cometbft/consensus/v1beta1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/consensus/v1beta1/wal_pb2.py b/pyinjective/proto/cometbft/consensus/v1beta1/wal_pb2.py new file mode 100644 index 00000000..7a2bb0ec --- /dev/null +++ b/pyinjective/proto/cometbft/consensus/v1beta1/wal_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/consensus/v1beta1/wal.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.consensus.v1beta1 import types_pb2 as cometbft_dot_consensus_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import events_pb2 as cometbft_dot_types_dot_v1beta1_dot_events__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cometbft/consensus/v1beta1/wal.proto\x12\x1a\x63ometbft.consensus.v1beta1\x1a\x14gogoproto/gogo.proto\x1a&cometbft/consensus/v1beta1/types.proto\x1a#cometbft/types/v1beta1/events.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"k\n\x07MsgInfo\x12;\n\x03msg\x18\x01 \x01(\x0b\x32#.cometbft.consensus.v1beta1.MessageB\x04\xc8\xde\x1f\x00R\x03msg\x12#\n\x07peer_id\x18\x02 \x01(\tB\n\xe2\xde\x1f\x06PeerIDR\x06peerId\"\x90\x01\n\x0bTimeoutInfo\x12?\n\x08\x64uration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01R\x08\x64uration\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x04 \x01(\rR\x04step\"#\n\tEndHeight\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\xcf\x02\n\nWALMessage\x12\x62\n\x16\x65vent_data_round_state\x18\x01 \x01(\x0b\x32+.cometbft.types.v1beta1.EventDataRoundStateH\x00R\x13\x65ventDataRoundState\x12@\n\x08msg_info\x18\x02 \x01(\x0b\x32#.cometbft.consensus.v1beta1.MsgInfoH\x00R\x07msgInfo\x12L\n\x0ctimeout_info\x18\x03 \x01(\x0b\x32\'.cometbft.consensus.v1beta1.TimeoutInfoH\x00R\x0btimeoutInfo\x12\x46\n\nend_height\x18\x04 \x01(\x0b\x32%.cometbft.consensus.v1beta1.EndHeightH\x00R\tendHeightB\x05\n\x03sum\"\x85\x01\n\x0fTimedWALMessage\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x38\n\x03msg\x18\x02 \x01(\x0b\x32&.cometbft.consensus.v1beta1.WALMessageR\x03msgB\xf1\x01\n\x1e\x63om.cometbft.consensus.v1beta1B\x08WalProtoP\x01Z;github.com/cometbft/cometbft/api/cometbft/consensus/v1beta1\xa2\x02\x03\x43\x43X\xaa\x02\x1a\x43ometbft.Consensus.V1beta1\xca\x02\x1a\x43ometbft\\Consensus\\V1beta1\xe2\x02&Cometbft\\Consensus\\V1beta1\\GPBMetadata\xea\x02\x1c\x43ometbft::Consensus::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.consensus.v1beta1.wal_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cometbft.consensus.v1beta1B\010WalProtoP\001Z;github.com/cometbft/cometbft/api/cometbft/consensus/v1beta1\242\002\003CCX\252\002\032Cometbft.Consensus.V1beta1\312\002\032Cometbft\\Consensus\\V1beta1\342\002&Cometbft\\Consensus\\V1beta1\\GPBMetadata\352\002\034Cometbft::Consensus::V1beta1' + _globals['_MSGINFO'].fields_by_name['msg']._loaded_options = None + _globals['_MSGINFO'].fields_by_name['msg']._serialized_options = b'\310\336\037\000' + _globals['_MSGINFO'].fields_by_name['peer_id']._loaded_options = None + _globals['_MSGINFO'].fields_by_name['peer_id']._serialized_options = b'\342\336\037\006PeerID' + _globals['_TIMEOUTINFO'].fields_by_name['duration']._loaded_options = None + _globals['_TIMEOUTINFO'].fields_by_name['duration']._serialized_options = b'\310\336\037\000\230\337\037\001' + _globals['_TIMEDWALMESSAGE'].fields_by_name['time']._loaded_options = None + _globals['_TIMEDWALMESSAGE'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_MSGINFO']._serialized_start=232 + _globals['_MSGINFO']._serialized_end=339 + _globals['_TIMEOUTINFO']._serialized_start=342 + _globals['_TIMEOUTINFO']._serialized_end=486 + _globals['_ENDHEIGHT']._serialized_start=488 + _globals['_ENDHEIGHT']._serialized_end=523 + _globals['_WALMESSAGE']._serialized_start=526 + _globals['_WALMESSAGE']._serialized_end=861 + _globals['_TIMEDWALMESSAGE']._serialized_start=864 + _globals['_TIMEDWALMESSAGE']._serialized_end=997 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/v1alpha1/schema_pb2_grpc.py b/pyinjective/proto/cometbft/consensus/v1beta1/wal_pb2_grpc.py similarity index 100% rename from pyinjective/proto/cosmos/orm/v1alpha1/schema_pb2_grpc.py rename to pyinjective/proto/cometbft/consensus/v1beta1/wal_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/crypto/v1/keys_pb2.py b/pyinjective/proto/cometbft/crypto/v1/keys_pb2.py new file mode 100644 index 00000000..f70cb9bd --- /dev/null +++ b/pyinjective/proto/cometbft/crypto/v1/keys_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/crypto/v1/keys.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63ometbft/crypto/v1/keys.proto\x12\x12\x63ometbft.crypto.v1\x1a\x14gogoproto/gogo.proto\"v\n\tPublicKey\x12\x1a\n\x07\x65\x64\x32\x35\x35\x31\x39\x18\x01 \x01(\x0cH\x00R\x07\x65\x64\x32\x35\x35\x31\x39\x12\x1e\n\tsecp256k1\x18\x02 \x01(\x0cH\x00R\tsecp256k1\x12\x1c\n\x08\x62ls12381\x18\x03 \x01(\x0cH\x00R\x08\x62ls12381:\x08\xe8\xa0\x1f\x01\xe8\xa1\x1f\x01\x42\x05\n\x03sumB\xc2\x01\n\x16\x63om.cometbft.crypto.v1B\tKeysProtoP\x01Z3github.com/cometbft/cometbft/api/cometbft/crypto/v1\xa2\x02\x03\x43\x43X\xaa\x02\x12\x43ometbft.Crypto.V1\xca\x02\x12\x43ometbft\\Crypto\\V1\xe2\x02\x1e\x43ometbft\\Crypto\\V1\\GPBMetadata\xea\x02\x14\x43ometbft::Crypto::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.crypto.v1.keys_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.cometbft.crypto.v1B\tKeysProtoP\001Z3github.com/cometbft/cometbft/api/cometbft/crypto/v1\242\002\003CCX\252\002\022Cometbft.Crypto.V1\312\002\022Cometbft\\Crypto\\V1\342\002\036Cometbft\\Crypto\\V1\\GPBMetadata\352\002\024Cometbft::Crypto::V1' + _globals['_PUBLICKEY']._loaded_options = None + _globals['_PUBLICKEY']._serialized_options = b'\350\240\037\001\350\241\037\001' + _globals['_PUBLICKEY']._serialized_start=75 + _globals['_PUBLICKEY']._serialized_end=193 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/crypto/keys_pb2_grpc.py b/pyinjective/proto/cometbft/crypto/v1/keys_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/crypto/keys_pb2_grpc.py rename to pyinjective/proto/cometbft/crypto/v1/keys_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/crypto/v1/proof_pb2.py b/pyinjective/proto/cometbft/crypto/v1/proof_pb2.py new file mode 100644 index 00000000..ea100083 --- /dev/null +++ b/pyinjective/proto/cometbft/crypto/v1/proof_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/crypto/v1/proof.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63ometbft/crypto/v1/proof.proto\x12\x12\x63ometbft.crypto.v1\x1a\x14gogoproto/gogo.proto\"f\n\x05Proof\x12\x14\n\x05total\x18\x01 \x01(\x03R\x05total\x12\x14\n\x05index\x18\x02 \x01(\x03R\x05index\x12\x1b\n\tleaf_hash\x18\x03 \x01(\x0cR\x08leafHash\x12\x14\n\x05\x61unts\x18\x04 \x03(\x0cR\x05\x61unts\"L\n\x07ValueOp\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12/\n\x05proof\x18\x02 \x01(\x0b\x32\x19.cometbft.crypto.v1.ProofR\x05proof\"J\n\x08\x44ominoOp\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05input\x18\x02 \x01(\tR\x05input\x12\x16\n\x06output\x18\x03 \x01(\tR\x06output\"C\n\x07ProofOp\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\"?\n\x08ProofOps\x12\x33\n\x03ops\x18\x01 \x03(\x0b\x32\x1b.cometbft.crypto.v1.ProofOpB\x04\xc8\xde\x1f\x00R\x03opsB\xc3\x01\n\x16\x63om.cometbft.crypto.v1B\nProofProtoP\x01Z3github.com/cometbft/cometbft/api/cometbft/crypto/v1\xa2\x02\x03\x43\x43X\xaa\x02\x12\x43ometbft.Crypto.V1\xca\x02\x12\x43ometbft\\Crypto\\V1\xe2\x02\x1e\x43ometbft\\Crypto\\V1\\GPBMetadata\xea\x02\x14\x43ometbft::Crypto::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.crypto.v1.proof_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.cometbft.crypto.v1B\nProofProtoP\001Z3github.com/cometbft/cometbft/api/cometbft/crypto/v1\242\002\003CCX\252\002\022Cometbft.Crypto.V1\312\002\022Cometbft\\Crypto\\V1\342\002\036Cometbft\\Crypto\\V1\\GPBMetadata\352\002\024Cometbft::Crypto::V1' + _globals['_PROOFOPS'].fields_by_name['ops']._loaded_options = None + _globals['_PROOFOPS'].fields_by_name['ops']._serialized_options = b'\310\336\037\000' + _globals['_PROOF']._serialized_start=76 + _globals['_PROOF']._serialized_end=178 + _globals['_VALUEOP']._serialized_start=180 + _globals['_VALUEOP']._serialized_end=256 + _globals['_DOMINOOP']._serialized_start=258 + _globals['_DOMINOOP']._serialized_end=332 + _globals['_PROOFOP']._serialized_start=334 + _globals['_PROOFOP']._serialized_end=401 + _globals['_PROOFOPS']._serialized_start=403 + _globals['_PROOFOPS']._serialized_end=466 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/crypto/proof_pb2_grpc.py b/pyinjective/proto/cometbft/crypto/v1/proof_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/crypto/proof_pb2_grpc.py rename to pyinjective/proto/cometbft/crypto/v1/proof_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/libs/bits/v1/types_pb2.py b/pyinjective/proto/cometbft/libs/bits/v1/types_pb2.py new file mode 100644 index 00000000..9c32bcd5 --- /dev/null +++ b/pyinjective/proto/cometbft/libs/bits/v1/types_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/libs/bits/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/libs/bits/v1/types.proto\x12\x15\x63ometbft.libs.bits.v1\"4\n\x08\x42itArray\x12\x12\n\x04\x62its\x18\x01 \x01(\x03R\x04\x62its\x12\x14\n\x05\x65lems\x18\x02 \x03(\x04R\x05\x65lemsB\xd6\x01\n\x19\x63om.cometbft.libs.bits.v1B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/libs/bits/v1\xa2\x02\x03\x43LB\xaa\x02\x15\x43ometbft.Libs.Bits.V1\xca\x02\x15\x43ometbft\\Libs\\Bits\\V1\xe2\x02!Cometbft\\Libs\\Bits\\V1\\GPBMetadata\xea\x02\x18\x43ometbft::Libs::Bits::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.libs.bits.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.libs.bits.v1B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/libs/bits/v1\242\002\003CLB\252\002\025Cometbft.Libs.Bits.V1\312\002\025Cometbft\\Libs\\Bits\\V1\342\002!Cometbft\\Libs\\Bits\\V1\\GPBMetadata\352\002\030Cometbft::Libs::Bits::V1' + _globals['_BITARRAY']._serialized_start=60 + _globals['_BITARRAY']._serialized_end=112 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/ocr/v1beta1/genesis_pb2_grpc.py b/pyinjective/proto/cometbft/libs/bits/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/injective/ocr/v1beta1/genesis_pb2_grpc.py rename to pyinjective/proto/cometbft/libs/bits/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/mempool/v1/types_pb2.py b/pyinjective/proto/cometbft/mempool/v1/types_pb2.py new file mode 100644 index 00000000..a3bd193e --- /dev/null +++ b/pyinjective/proto/cometbft/mempool/v1/types_pb2.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/mempool/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63ometbft/mempool/v1/types.proto\x12\x13\x63ometbft.mempool.v1\"\x17\n\x03Txs\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\">\n\x07Message\x12,\n\x03txs\x18\x01 \x01(\x0b\x32\x18.cometbft.mempool.v1.TxsH\x00R\x03txsB\x05\n\x03sumB\xc9\x01\n\x17\x63om.cometbft.mempool.v1B\nTypesProtoP\x01Z4github.com/cometbft/cometbft/api/cometbft/mempool/v1\xa2\x02\x03\x43MX\xaa\x02\x13\x43ometbft.Mempool.V1\xca\x02\x13\x43ometbft\\Mempool\\V1\xe2\x02\x1f\x43ometbft\\Mempool\\V1\\GPBMetadata\xea\x02\x15\x43ometbft::Mempool::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.mempool.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cometbft.mempool.v1B\nTypesProtoP\001Z4github.com/cometbft/cometbft/api/cometbft/mempool/v1\242\002\003CMX\252\002\023Cometbft.Mempool.V1\312\002\023Cometbft\\Mempool\\V1\342\002\037Cometbft\\Mempool\\V1\\GPBMetadata\352\002\025Cometbft::Mempool::V1' + _globals['_TXS']._serialized_start=56 + _globals['_TXS']._serialized_end=79 + _globals['_MESSAGE']._serialized_start=81 + _globals['_MESSAGE']._serialized_end=143 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/ocr/v1beta1/ocr_pb2_grpc.py b/pyinjective/proto/cometbft/mempool/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/injective/ocr/v1beta1/ocr_pb2_grpc.py rename to pyinjective/proto/cometbft/mempool/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/mempool/v2/types_pb2.py b/pyinjective/proto/cometbft/mempool/v2/types_pb2.py new file mode 100644 index 00000000..b85c2eef --- /dev/null +++ b/pyinjective/proto/cometbft/mempool/v2/types_pb2.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/mempool/v2/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63ometbft/mempool/v2/types.proto\x12\x13\x63ometbft.mempool.v2\"\x17\n\x03Txs\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\x1f\n\x06HaveTx\x12\x15\n\x06tx_key\x18\x01 \x01(\x0cR\x05txKey\"\x0c\n\nResetRoute\"\xba\x01\n\x07Message\x12,\n\x03txs\x18\x01 \x01(\x0b\x32\x18.cometbft.mempool.v2.TxsH\x00R\x03txs\x12\x36\n\x07have_tx\x18\x02 \x01(\x0b\x32\x1b.cometbft.mempool.v2.HaveTxH\x00R\x06haveTx\x12\x42\n\x0breset_route\x18\x03 \x01(\x0b\x32\x1f.cometbft.mempool.v2.ResetRouteH\x00R\nresetRouteB\x05\n\x03sumB\xc9\x01\n\x17\x63om.cometbft.mempool.v2B\nTypesProtoP\x01Z4github.com/cometbft/cometbft/api/cometbft/mempool/v2\xa2\x02\x03\x43MX\xaa\x02\x13\x43ometbft.Mempool.V2\xca\x02\x13\x43ometbft\\Mempool\\V2\xe2\x02\x1f\x43ometbft\\Mempool\\V2\\GPBMetadata\xea\x02\x15\x43ometbft::Mempool::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.mempool.v2.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cometbft.mempool.v2B\nTypesProtoP\001Z4github.com/cometbft/cometbft/api/cometbft/mempool/v2\242\002\003CMX\252\002\023Cometbft.Mempool.V2\312\002\023Cometbft\\Mempool\\V2\342\002\037Cometbft\\Mempool\\V2\\GPBMetadata\352\002\025Cometbft::Mempool::V2' + _globals['_TXS']._serialized_start=56 + _globals['_TXS']._serialized_end=79 + _globals['_HAVETX']._serialized_start=81 + _globals['_HAVETX']._serialized_end=112 + _globals['_RESETROUTE']._serialized_start=114 + _globals['_RESETROUTE']._serialized_end=126 + _globals['_MESSAGE']._serialized_start=129 + _globals['_MESSAGE']._serialized_end=315 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/block_pb2_grpc.py b/pyinjective/proto/cometbft/mempool/v2/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/types/block_pb2_grpc.py rename to pyinjective/proto/cometbft/mempool/v2/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/p2p/v1/conn_pb2.py b/pyinjective/proto/cometbft/p2p/v1/conn_pb2.py new file mode 100644 index 00000000..19a735ad --- /dev/null +++ b/pyinjective/proto/cometbft/p2p/v1/conn_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/p2p/v1/conn.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63ometbft/p2p/v1/conn.proto\x12\x0f\x63ometbft.p2p.v1\x1a\x14gogoproto/gogo.proto\x1a\x1d\x63ometbft/crypto/v1/keys.proto\"\x0c\n\nPacketPing\"\x0c\n\nPacketPong\"h\n\tPacketMsg\x12,\n\nchannel_id\x18\x01 \x01(\x05\x42\r\xe2\xde\x1f\tChannelIDR\tchannelId\x12\x19\n\x03\x65of\x18\x02 \x01(\x08\x42\x07\xe2\xde\x1f\x03\x45OFR\x03\x65of\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\"\xcc\x01\n\x06Packet\x12>\n\x0bpacket_ping\x18\x01 \x01(\x0b\x32\x1b.cometbft.p2p.v1.PacketPingH\x00R\npacketPing\x12>\n\x0bpacket_pong\x18\x02 \x01(\x0b\x32\x1b.cometbft.p2p.v1.PacketPongH\x00R\npacketPong\x12;\n\npacket_msg\x18\x03 \x01(\x0b\x32\x1a.cometbft.p2p.v1.PacketMsgH\x00R\tpacketMsgB\x05\n\x03sum\"`\n\x0e\x41uthSigMessage\x12<\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12\x10\n\x03sig\x18\x02 \x01(\x0cR\x03sigB\xb0\x01\n\x13\x63om.cometbft.p2p.v1B\tConnProtoP\x01Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\xa2\x02\x03\x43PX\xaa\x02\x0f\x43ometbft.P2p.V1\xca\x02\x0f\x43ometbft\\P2p\\V1\xe2\x02\x1b\x43ometbft\\P2p\\V1\\GPBMetadata\xea\x02\x11\x43ometbft::P2p::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.p2p.v1.conn_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\023com.cometbft.p2p.v1B\tConnProtoP\001Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\242\002\003CPX\252\002\017Cometbft.P2p.V1\312\002\017Cometbft\\P2p\\V1\342\002\033Cometbft\\P2p\\V1\\GPBMetadata\352\002\021Cometbft::P2p::V1' + _globals['_PACKETMSG'].fields_by_name['channel_id']._loaded_options = None + _globals['_PACKETMSG'].fields_by_name['channel_id']._serialized_options = b'\342\336\037\tChannelID' + _globals['_PACKETMSG'].fields_by_name['eof']._loaded_options = None + _globals['_PACKETMSG'].fields_by_name['eof']._serialized_options = b'\342\336\037\003EOF' + _globals['_AUTHSIGMESSAGE'].fields_by_name['pub_key']._loaded_options = None + _globals['_AUTHSIGMESSAGE'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' + _globals['_PACKETPING']._serialized_start=100 + _globals['_PACKETPING']._serialized_end=112 + _globals['_PACKETPONG']._serialized_start=114 + _globals['_PACKETPONG']._serialized_end=126 + _globals['_PACKETMSG']._serialized_start=128 + _globals['_PACKETMSG']._serialized_end=232 + _globals['_PACKET']._serialized_start=235 + _globals['_PACKET']._serialized_end=439 + _globals['_AUTHSIGMESSAGE']._serialized_start=441 + _globals['_AUTHSIGMESSAGE']._serialized_end=537 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/evidence_pb2_grpc.py b/pyinjective/proto/cometbft/p2p/v1/conn_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/types/evidence_pb2_grpc.py rename to pyinjective/proto/cometbft/p2p/v1/conn_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/p2p/v1/pex_pb2.py b/pyinjective/proto/cometbft/p2p/v1/pex_pb2.py new file mode 100644 index 00000000..0414bace --- /dev/null +++ b/pyinjective/proto/cometbft/p2p/v1/pex_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/p2p/v1/pex.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.p2p.v1 import types_pb2 as cometbft_dot_p2p_dot_v1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x63ometbft/p2p/v1/pex.proto\x12\x0f\x63ometbft.p2p.v1\x1a\x1b\x63ometbft/p2p/v1/types.proto\x1a\x14gogoproto/gogo.proto\"\x0c\n\nPexRequest\"C\n\x08PexAddrs\x12\x37\n\x05\x61\x64\x64rs\x18\x01 \x03(\x0b\x32\x1b.cometbft.p2p.v1.NetAddressB\x04\xc8\xde\x1f\x00R\x05\x61\x64\x64rs\"\x8a\x01\n\x07Message\x12>\n\x0bpex_request\x18\x01 \x01(\x0b\x32\x1b.cometbft.p2p.v1.PexRequestH\x00R\npexRequest\x12\x38\n\tpex_addrs\x18\x02 \x01(\x0b\x32\x19.cometbft.p2p.v1.PexAddrsH\x00R\x08pexAddrsB\x05\n\x03sumB\xaf\x01\n\x13\x63om.cometbft.p2p.v1B\x08PexProtoP\x01Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\xa2\x02\x03\x43PX\xaa\x02\x0f\x43ometbft.P2p.V1\xca\x02\x0f\x43ometbft\\P2p\\V1\xe2\x02\x1b\x43ometbft\\P2p\\V1\\GPBMetadata\xea\x02\x11\x43ometbft::P2p::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.p2p.v1.pex_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\023com.cometbft.p2p.v1B\010PexProtoP\001Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\242\002\003CPX\252\002\017Cometbft.P2p.V1\312\002\017Cometbft\\P2p\\V1\342\002\033Cometbft\\P2p\\V1\\GPBMetadata\352\002\021Cometbft::P2p::V1' + _globals['_PEXADDRS'].fields_by_name['addrs']._loaded_options = None + _globals['_PEXADDRS'].fields_by_name['addrs']._serialized_options = b'\310\336\037\000' + _globals['_PEXREQUEST']._serialized_start=97 + _globals['_PEXREQUEST']._serialized_end=109 + _globals['_PEXADDRS']._serialized_start=111 + _globals['_PEXADDRS']._serialized_end=178 + _globals['_MESSAGE']._serialized_start=181 + _globals['_MESSAGE']._serialized_end=319 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/params_pb2_grpc.py b/pyinjective/proto/cometbft/p2p/v1/pex_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/types/params_pb2_grpc.py rename to pyinjective/proto/cometbft/p2p/v1/pex_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/p2p/v1/types_pb2.py b/pyinjective/proto/cometbft/p2p/v1/types_pb2.py new file mode 100644 index 00000000..0eb8e8f8 --- /dev/null +++ b/pyinjective/proto/cometbft/p2p/v1/types_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/p2p/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x63ometbft/p2p/v1/types.proto\x12\x0f\x63ometbft.p2p.v1\x1a\x14gogoproto/gogo.proto\"P\n\nNetAddress\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02IDR\x02id\x12\x16\n\x02ip\x18\x02 \x01(\tB\x06\xe2\xde\x1f\x02IPR\x02ip\x12\x12\n\x04port\x18\x03 \x01(\rR\x04port\"T\n\x0fProtocolVersion\x12\x19\n\x03p2p\x18\x01 \x01(\x04\x42\x07\xe2\xde\x1f\x03P2PR\x03p2p\x12\x14\n\x05\x62lock\x18\x02 \x01(\x04R\x05\x62lock\x12\x10\n\x03\x61pp\x18\x03 \x01(\x04R\x03\x61pp\"\xed\x02\n\x0f\x44\x65\x66\x61ultNodeInfo\x12Q\n\x10protocol_version\x18\x01 \x01(\x0b\x32 .cometbft.p2p.v1.ProtocolVersionB\x04\xc8\xde\x1f\x00R\x0fprotocolVersion\x12\x39\n\x0f\x64\x65\x66\x61ult_node_id\x18\x02 \x01(\tB\x11\xe2\xde\x1f\rDefaultNodeIDR\rdefaultNodeId\x12\x1f\n\x0blisten_addr\x18\x03 \x01(\tR\nlistenAddr\x12\x18\n\x07network\x18\x04 \x01(\tR\x07network\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\x12\x1a\n\x08\x63hannels\x18\x06 \x01(\x0cR\x08\x63hannels\x12\x18\n\x07moniker\x18\x07 \x01(\tR\x07moniker\x12\x41\n\x05other\x18\x08 \x01(\x0b\x32%.cometbft.p2p.v1.DefaultNodeInfoOtherB\x04\xc8\xde\x1f\x00R\x05other\"b\n\x14\x44\x65\x66\x61ultNodeInfoOther\x12\x19\n\x08tx_index\x18\x01 \x01(\tR\x07txIndex\x12/\n\x0brpc_address\x18\x02 \x01(\tB\x0e\xe2\xde\x1f\nRPCAddressR\nrpcAddressB\xb1\x01\n\x13\x63om.cometbft.p2p.v1B\nTypesProtoP\x01Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\xa2\x02\x03\x43PX\xaa\x02\x0f\x43ometbft.P2p.V1\xca\x02\x0f\x43ometbft\\P2p\\V1\xe2\x02\x1b\x43ometbft\\P2p\\V1\\GPBMetadata\xea\x02\x11\x43ometbft::P2p::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.p2p.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\023com.cometbft.p2p.v1B\nTypesProtoP\001Z0github.com/cometbft/cometbft/api/cometbft/p2p/v1\242\002\003CPX\252\002\017Cometbft.P2p.V1\312\002\017Cometbft\\P2p\\V1\342\002\033Cometbft\\P2p\\V1\\GPBMetadata\352\002\021Cometbft::P2p::V1' + _globals['_NETADDRESS'].fields_by_name['id']._loaded_options = None + _globals['_NETADDRESS'].fields_by_name['id']._serialized_options = b'\342\336\037\002ID' + _globals['_NETADDRESS'].fields_by_name['ip']._loaded_options = None + _globals['_NETADDRESS'].fields_by_name['ip']._serialized_options = b'\342\336\037\002IP' + _globals['_PROTOCOLVERSION'].fields_by_name['p2p']._loaded_options = None + _globals['_PROTOCOLVERSION'].fields_by_name['p2p']._serialized_options = b'\342\336\037\003P2P' + _globals['_DEFAULTNODEINFO'].fields_by_name['protocol_version']._loaded_options = None + _globals['_DEFAULTNODEINFO'].fields_by_name['protocol_version']._serialized_options = b'\310\336\037\000' + _globals['_DEFAULTNODEINFO'].fields_by_name['default_node_id']._loaded_options = None + _globals['_DEFAULTNODEINFO'].fields_by_name['default_node_id']._serialized_options = b'\342\336\037\rDefaultNodeID' + _globals['_DEFAULTNODEINFO'].fields_by_name['other']._loaded_options = None + _globals['_DEFAULTNODEINFO'].fields_by_name['other']._serialized_options = b'\310\336\037\000' + _globals['_DEFAULTNODEINFOOTHER'].fields_by_name['rpc_address']._loaded_options = None + _globals['_DEFAULTNODEINFOOTHER'].fields_by_name['rpc_address']._serialized_options = b'\342\336\037\nRPCAddress' + _globals['_NETADDRESS']._serialized_start=70 + _globals['_NETADDRESS']._serialized_end=150 + _globals['_PROTOCOLVERSION']._serialized_start=152 + _globals['_PROTOCOLVERSION']._serialized_end=236 + _globals['_DEFAULTNODEINFO']._serialized_start=239 + _globals['_DEFAULTNODEINFO']._serialized_end=604 + _globals['_DEFAULTNODEINFOOTHER']._serialized_start=606 + _globals['_DEFAULTNODEINFOOTHER']._serialized_end=704 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/validator_pb2_grpc.py b/pyinjective/proto/cometbft/p2p/v1/types_pb2_grpc.py similarity index 100% rename from pyinjective/proto/tendermint/types/validator_pb2_grpc.py rename to pyinjective/proto/cometbft/p2p/v1/types_pb2_grpc.py diff --git a/pyinjective/proto/cometbft/privval/v1/types_pb2.py b/pyinjective/proto/cometbft/privval/v1/types_pb2.py new file mode 100644 index 00000000..168105d5 --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1/types_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/privval/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63ometbft/privval/v1/types.proto\x12\x13\x63ometbft.privval.v1\x1a\x1d\x63ometbft/types/v1/types.proto\x1a\x14gogoproto/gogo.proto\"I\n\x11RemoteSignerError\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"*\n\rPubKeyRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\"\x9a\x01\n\x0ePubKeyResponse\x12<\n\x05\x65rror\x18\x02 \x01(\x0b\x32&.cometbft.privval.v1.RemoteSignerErrorR\x05\x65rror\x12\"\n\rpub_key_bytes\x18\x03 \x01(\x0cR\x0bpubKeyBytes\x12 \n\x0cpub_key_type\x18\x04 \x01(\tR\npubKeyTypeJ\x04\x08\x01\x10\x02\"\x8f\x01\n\x0fSignVoteRequest\x12+\n\x04vote\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteR\x04vote\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12\x34\n\x16skip_extension_signing\x18\x03 \x01(\x08R\x14skipExtensionSigning\"\x85\x01\n\x12SignedVoteResponse\x12\x31\n\x04vote\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteB\x04\xc8\xde\x1f\x00R\x04vote\x12<\n\x05\x65rror\x18\x02 \x01(\x0b\x32&.cometbft.privval.v1.RemoteSignerErrorR\x05\x65rror\"i\n\x13SignProposalRequest\x12\x37\n\x08proposal\x18\x01 \x01(\x0b\x32\x1b.cometbft.types.v1.ProposalR\x08proposal\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\"\x95\x01\n\x16SignedProposalResponse\x12=\n\x08proposal\x18\x01 \x01(\x0b\x32\x1b.cometbft.types.v1.ProposalB\x04\xc8\xde\x1f\x00R\x08proposal\x12<\n\x05\x65rror\x18\x02 \x01(\x0b\x32&.cometbft.privval.v1.RemoteSignerErrorR\x05\x65rror\"(\n\x10SignBytesRequest\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\"o\n\x11SignBytesResponse\x12\x1c\n\tsignature\x18\x01 \x01(\x0cR\tsignature\x12<\n\x05\x65rror\x18\x02 \x01(\x0b\x32&.cometbft.privval.v1.RemoteSignerErrorR\x05\x65rror\"\r\n\x0bPingRequest\"\x0e\n\x0cPingResponse\"\xeb\x06\n\x07Message\x12L\n\x0fpub_key_request\x18\x01 \x01(\x0b\x32\".cometbft.privval.v1.PubKeyRequestH\x00R\rpubKeyRequest\x12O\n\x10pub_key_response\x18\x02 \x01(\x0b\x32#.cometbft.privval.v1.PubKeyResponseH\x00R\x0epubKeyResponse\x12R\n\x11sign_vote_request\x18\x03 \x01(\x0b\x32$.cometbft.privval.v1.SignVoteRequestH\x00R\x0fsignVoteRequest\x12[\n\x14signed_vote_response\x18\x04 \x01(\x0b\x32\'.cometbft.privval.v1.SignedVoteResponseH\x00R\x12signedVoteResponse\x12^\n\x15sign_proposal_request\x18\x05 \x01(\x0b\x32(.cometbft.privval.v1.SignProposalRequestH\x00R\x13signProposalRequest\x12g\n\x18signed_proposal_response\x18\x06 \x01(\x0b\x32+.cometbft.privval.v1.SignedProposalResponseH\x00R\x16signedProposalResponse\x12\x45\n\x0cping_request\x18\x07 \x01(\x0b\x32 .cometbft.privval.v1.PingRequestH\x00R\x0bpingRequest\x12H\n\rping_response\x18\x08 \x01(\x0b\x32!.cometbft.privval.v1.PingResponseH\x00R\x0cpingResponse\x12U\n\x12sign_bytes_request\x18\t \x01(\x0b\x32%.cometbft.privval.v1.SignBytesRequestH\x00R\x10signBytesRequest\x12X\n\x13sign_bytes_response\x18\n \x01(\x0b\x32&.cometbft.privval.v1.SignBytesResponseH\x00R\x11signBytesResponseB\x05\n\x03sumB\xc9\x01\n\x17\x63om.cometbft.privval.v1B\nTypesProtoP\x01Z4github.com/cometbft/cometbft/api/cometbft/privval/v1\xa2\x02\x03\x43PX\xaa\x02\x13\x43ometbft.Privval.V1\xca\x02\x13\x43ometbft\\Privval\\V1\xe2\x02\x1f\x43ometbft\\Privval\\V1\\GPBMetadata\xea\x02\x15\x43ometbft::Privval::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.privval.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cometbft.privval.v1B\nTypesProtoP\001Z4github.com/cometbft/cometbft/api/cometbft/privval/v1\242\002\003CPX\252\002\023Cometbft.Privval.V1\312\002\023Cometbft\\Privval\\V1\342\002\037Cometbft\\Privval\\V1\\GPBMetadata\352\002\025Cometbft::Privval::V1' + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._loaded_options = None + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._loaded_options = None + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._serialized_options = b'\310\336\037\000' + _globals['_REMOTESIGNERERROR']._serialized_start=109 + _globals['_REMOTESIGNERERROR']._serialized_end=182 + _globals['_PUBKEYREQUEST']._serialized_start=184 + _globals['_PUBKEYREQUEST']._serialized_end=226 + _globals['_PUBKEYRESPONSE']._serialized_start=229 + _globals['_PUBKEYRESPONSE']._serialized_end=383 + _globals['_SIGNVOTEREQUEST']._serialized_start=386 + _globals['_SIGNVOTEREQUEST']._serialized_end=529 + _globals['_SIGNEDVOTERESPONSE']._serialized_start=532 + _globals['_SIGNEDVOTERESPONSE']._serialized_end=665 + _globals['_SIGNPROPOSALREQUEST']._serialized_start=667 + _globals['_SIGNPROPOSALREQUEST']._serialized_end=772 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_start=775 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_end=924 + _globals['_SIGNBYTESREQUEST']._serialized_start=926 + _globals['_SIGNBYTESREQUEST']._serialized_end=966 + _globals['_SIGNBYTESRESPONSE']._serialized_start=968 + _globals['_SIGNBYTESRESPONSE']._serialized_end=1079 + _globals['_PINGREQUEST']._serialized_start=1081 + _globals['_PINGREQUEST']._serialized_end=1094 + _globals['_PINGRESPONSE']._serialized_start=1096 + _globals['_PINGRESPONSE']._serialized_end=1110 + _globals['_MESSAGE']._serialized_start=1113 + _globals['_MESSAGE']._serialized_end=1988 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/privval/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/privval/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/privval/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/privval/v1beta1/types_pb2.py new file mode 100644 index 00000000..23e2a82b --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1beta1/types_pb2.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/privval/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cometbft/privval/v1beta1/types.proto\x12\x18\x63ometbft.privval.v1beta1\x1a\x1d\x63ometbft/crypto/v1/keys.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a\x14gogoproto/gogo.proto\"I\n\x11RemoteSignerError\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"*\n\rPubKeyRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\"\x91\x01\n\x0ePubKeyResponse\x12<\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta1.RemoteSignerErrorR\x05\x65rror\"^\n\x0fSignVoteRequest\x12\x30\n\x04vote\x18\x01 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.VoteR\x04vote\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\"\x8f\x01\n\x12SignedVoteResponse\x12\x36\n\x04vote\x18\x01 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.VoteB\x04\xc8\xde\x1f\x00R\x04vote\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta1.RemoteSignerErrorR\x05\x65rror\"n\n\x13SignProposalRequest\x12<\n\x08proposal\x18\x01 \x01(\x0b\x32 .cometbft.types.v1beta1.ProposalR\x08proposal\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\"\x9f\x01\n\x16SignedProposalResponse\x12\x42\n\x08proposal\x18\x01 \x01(\x0b\x32 .cometbft.types.v1beta1.ProposalB\x04\xc8\xde\x1f\x00R\x08proposal\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta1.RemoteSignerErrorR\x05\x65rror\"\r\n\x0bPingRequest\"\x0e\n\x0cPingResponse\"\xe2\x05\n\x07Message\x12Q\n\x0fpub_key_request\x18\x01 \x01(\x0b\x32\'.cometbft.privval.v1beta1.PubKeyRequestH\x00R\rpubKeyRequest\x12T\n\x10pub_key_response\x18\x02 \x01(\x0b\x32(.cometbft.privval.v1beta1.PubKeyResponseH\x00R\x0epubKeyResponse\x12W\n\x11sign_vote_request\x18\x03 \x01(\x0b\x32).cometbft.privval.v1beta1.SignVoteRequestH\x00R\x0fsignVoteRequest\x12`\n\x14signed_vote_response\x18\x04 \x01(\x0b\x32,.cometbft.privval.v1beta1.SignedVoteResponseH\x00R\x12signedVoteResponse\x12\x63\n\x15sign_proposal_request\x18\x05 \x01(\x0b\x32-.cometbft.privval.v1beta1.SignProposalRequestH\x00R\x13signProposalRequest\x12l\n\x18signed_proposal_response\x18\x06 \x01(\x0b\x32\x30.cometbft.privval.v1beta1.SignedProposalResponseH\x00R\x16signedProposalResponse\x12J\n\x0cping_request\x18\x07 \x01(\x0b\x32%.cometbft.privval.v1beta1.PingRequestH\x00R\x0bpingRequest\x12M\n\rping_response\x18\x08 \x01(\x0b\x32&.cometbft.privval.v1beta1.PingResponseH\x00R\x0cpingResponseB\x05\n\x03sum*\xa8\x01\n\x06\x45rrors\x12\x12\n\x0e\x45RRORS_UNKNOWN\x10\x00\x12\x1e\n\x1a\x45RRORS_UNEXPECTED_RESPONSE\x10\x01\x12\x18\n\x14\x45RRORS_NO_CONNECTION\x10\x02\x12\x1d\n\x19\x45RRORS_CONNECTION_TIMEOUT\x10\x03\x12\x17\n\x13\x45RRORS_READ_TIMEOUT\x10\x04\x12\x18\n\x14\x45RRORS_WRITE_TIMEOUT\x10\x05\x42\xe7\x01\n\x1c\x63om.cometbft.privval.v1beta1B\nTypesProtoP\x01Z9github.com/cometbft/cometbft/api/cometbft/privval/v1beta1\xa2\x02\x03\x43PX\xaa\x02\x18\x43ometbft.Privval.V1beta1\xca\x02\x18\x43ometbft\\Privval\\V1beta1\xe2\x02$Cometbft\\Privval\\V1beta1\\GPBMetadata\xea\x02\x1a\x43ometbft::Privval::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.privval.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.cometbft.privval.v1beta1B\nTypesProtoP\001Z9github.com/cometbft/cometbft/api/cometbft/privval/v1beta1\242\002\003CPX\252\002\030Cometbft.Privval.V1beta1\312\002\030Cometbft\\Privval\\V1beta1\342\002$Cometbft\\Privval\\V1beta1\\GPBMetadata\352\002\032Cometbft::Privval::V1beta1' + _globals['_PUBKEYRESPONSE'].fields_by_name['pub_key']._loaded_options = None + _globals['_PUBKEYRESPONSE'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._loaded_options = None + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._loaded_options = None + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._serialized_options = b'\310\336\037\000' + _globals['_ERRORS']._serialized_start=1711 + _globals['_ERRORS']._serialized_end=1879 + _globals['_REMOTESIGNERERROR']._serialized_start=155 + _globals['_REMOTESIGNERERROR']._serialized_end=228 + _globals['_PUBKEYREQUEST']._serialized_start=230 + _globals['_PUBKEYREQUEST']._serialized_end=272 + _globals['_PUBKEYRESPONSE']._serialized_start=275 + _globals['_PUBKEYRESPONSE']._serialized_end=420 + _globals['_SIGNVOTEREQUEST']._serialized_start=422 + _globals['_SIGNVOTEREQUEST']._serialized_end=516 + _globals['_SIGNEDVOTERESPONSE']._serialized_start=519 + _globals['_SIGNEDVOTERESPONSE']._serialized_end=662 + _globals['_SIGNPROPOSALREQUEST']._serialized_start=664 + _globals['_SIGNPROPOSALREQUEST']._serialized_end=774 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_start=777 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_end=936 + _globals['_PINGREQUEST']._serialized_start=938 + _globals['_PINGREQUEST']._serialized_end=951 + _globals['_PINGRESPONSE']._serialized_start=953 + _globals['_PINGRESPONSE']._serialized_end=967 + _globals['_MESSAGE']._serialized_start=970 + _globals['_MESSAGE']._serialized_end=1708 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/privval/v1beta1/types_pb2_grpc.py b/pyinjective/proto/cometbft/privval/v1beta1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1beta1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/privval/v1beta2/types_pb2.py b/pyinjective/proto/cometbft/privval/v1beta2/types_pb2.py new file mode 100644 index 00000000..9ed50f2d --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1beta2/types_pb2.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/privval/v1beta2/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cometbft/privval/v1beta2/types.proto\x12\x18\x63ometbft.privval.v1beta2\x1a\x1d\x63ometbft/crypto/v1/keys.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a\x14gogoproto/gogo.proto\"I\n\x11RemoteSignerError\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"*\n\rPubKeyRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\"\x91\x01\n\x0ePubKeyResponse\x12<\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta2.RemoteSignerErrorR\x05\x65rror\"Y\n\x0fSignVoteRequest\x12+\n\x04vote\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteR\x04vote\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\"\x8a\x01\n\x12SignedVoteResponse\x12\x31\n\x04vote\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteB\x04\xc8\xde\x1f\x00R\x04vote\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta2.RemoteSignerErrorR\x05\x65rror\"i\n\x13SignProposalRequest\x12\x37\n\x08proposal\x18\x01 \x01(\x0b\x32\x1b.cometbft.types.v1.ProposalR\x08proposal\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\"\x9a\x01\n\x16SignedProposalResponse\x12=\n\x08proposal\x18\x01 \x01(\x0b\x32\x1b.cometbft.types.v1.ProposalB\x04\xc8\xde\x1f\x00R\x08proposal\x12\x41\n\x05\x65rror\x18\x02 \x01(\x0b\x32+.cometbft.privval.v1beta2.RemoteSignerErrorR\x05\x65rror\"\r\n\x0bPingRequest\"\x0e\n\x0cPingResponse\"\xe2\x05\n\x07Message\x12Q\n\x0fpub_key_request\x18\x01 \x01(\x0b\x32\'.cometbft.privval.v1beta2.PubKeyRequestH\x00R\rpubKeyRequest\x12T\n\x10pub_key_response\x18\x02 \x01(\x0b\x32(.cometbft.privval.v1beta2.PubKeyResponseH\x00R\x0epubKeyResponse\x12W\n\x11sign_vote_request\x18\x03 \x01(\x0b\x32).cometbft.privval.v1beta2.SignVoteRequestH\x00R\x0fsignVoteRequest\x12`\n\x14signed_vote_response\x18\x04 \x01(\x0b\x32,.cometbft.privval.v1beta2.SignedVoteResponseH\x00R\x12signedVoteResponse\x12\x63\n\x15sign_proposal_request\x18\x05 \x01(\x0b\x32-.cometbft.privval.v1beta2.SignProposalRequestH\x00R\x13signProposalRequest\x12l\n\x18signed_proposal_response\x18\x06 \x01(\x0b\x32\x30.cometbft.privval.v1beta2.SignedProposalResponseH\x00R\x16signedProposalResponse\x12J\n\x0cping_request\x18\x07 \x01(\x0b\x32%.cometbft.privval.v1beta2.PingRequestH\x00R\x0bpingRequest\x12M\n\rping_response\x18\x08 \x01(\x0b\x32&.cometbft.privval.v1beta2.PingResponseH\x00R\x0cpingResponseB\x05\n\x03sum*\xa8\x01\n\x06\x45rrors\x12\x12\n\x0e\x45RRORS_UNKNOWN\x10\x00\x12\x1e\n\x1a\x45RRORS_UNEXPECTED_RESPONSE\x10\x01\x12\x18\n\x14\x45RRORS_NO_CONNECTION\x10\x02\x12\x1d\n\x19\x45RRORS_CONNECTION_TIMEOUT\x10\x03\x12\x17\n\x13\x45RRORS_READ_TIMEOUT\x10\x04\x12\x18\n\x14\x45RRORS_WRITE_TIMEOUT\x10\x05\x42\xe7\x01\n\x1c\x63om.cometbft.privval.v1beta2B\nTypesProtoP\x01Z9github.com/cometbft/cometbft/api/cometbft/privval/v1beta2\xa2\x02\x03\x43PX\xaa\x02\x18\x43ometbft.Privval.V1beta2\xca\x02\x18\x43ometbft\\Privval\\V1beta2\xe2\x02$Cometbft\\Privval\\V1beta2\\GPBMetadata\xea\x02\x1a\x43ometbft::Privval::V1beta2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.privval.v1beta2.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.cometbft.privval.v1beta2B\nTypesProtoP\001Z9github.com/cometbft/cometbft/api/cometbft/privval/v1beta2\242\002\003CPX\252\002\030Cometbft.Privval.V1beta2\312\002\030Cometbft\\Privval\\V1beta2\342\002$Cometbft\\Privval\\V1beta2\\GPBMetadata\352\002\032Cometbft::Privval::V1beta2' + _globals['_PUBKEYRESPONSE'].fields_by_name['pub_key']._loaded_options = None + _globals['_PUBKEYRESPONSE'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._loaded_options = None + _globals['_SIGNEDVOTERESPONSE'].fields_by_name['vote']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._loaded_options = None + _globals['_SIGNEDPROPOSALRESPONSE'].fields_by_name['proposal']._serialized_options = b'\310\336\037\000' + _globals['_ERRORS']._serialized_start=1686 + _globals['_ERRORS']._serialized_end=1854 + _globals['_REMOTESIGNERERROR']._serialized_start=150 + _globals['_REMOTESIGNERERROR']._serialized_end=223 + _globals['_PUBKEYREQUEST']._serialized_start=225 + _globals['_PUBKEYREQUEST']._serialized_end=267 + _globals['_PUBKEYRESPONSE']._serialized_start=270 + _globals['_PUBKEYRESPONSE']._serialized_end=415 + _globals['_SIGNVOTEREQUEST']._serialized_start=417 + _globals['_SIGNVOTEREQUEST']._serialized_end=506 + _globals['_SIGNEDVOTERESPONSE']._serialized_start=509 + _globals['_SIGNEDVOTERESPONSE']._serialized_end=647 + _globals['_SIGNPROPOSALREQUEST']._serialized_start=649 + _globals['_SIGNPROPOSALREQUEST']._serialized_end=754 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_start=757 + _globals['_SIGNEDPROPOSALRESPONSE']._serialized_end=911 + _globals['_PINGREQUEST']._serialized_start=913 + _globals['_PINGREQUEST']._serialized_end=926 + _globals['_PINGRESPONSE']._serialized_start=928 + _globals['_PINGRESPONSE']._serialized_end=942 + _globals['_MESSAGE']._serialized_start=945 + _globals['_MESSAGE']._serialized_end=1683 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/privval/v1beta2/types_pb2_grpc.py b/pyinjective/proto/cometbft/privval/v1beta2/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/privval/v1beta2/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2.py new file mode 100644 index 00000000..b8776321 --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/rpc/grpc/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%cometbft/rpc/grpc/v1beta1/types.proto\x12\x19\x63ometbft.rpc.grpc.v1beta1\x1a!cometbft/abci/v1beta1/types.proto\"\r\n\x0bRequestPing\"$\n\x12RequestBroadcastTx\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\"\x0e\n\x0cResponsePing\"\xa1\x01\n\x13ResponseBroadcastTx\x12\x41\n\x08\x63heck_tx\x18\x01 \x01(\x0b\x32&.cometbft.abci.v1beta1.ResponseCheckTxR\x07\x63heckTx\x12G\n\ndeliver_tx\x18\x02 \x01(\x0b\x32(.cometbft.abci.v1beta1.ResponseDeliverTxR\tdeliverTx2\xd5\x01\n\x0c\x42roadcastAPI\x12W\n\x04Ping\x12&.cometbft.rpc.grpc.v1beta1.RequestPing\x1a\'.cometbft.rpc.grpc.v1beta1.ResponsePing\x12l\n\x0b\x42roadcastTx\x12-.cometbft.rpc.grpc.v1beta1.RequestBroadcastTx\x1a..cometbft.rpc.grpc.v1beta1.ResponseBroadcastTxB\xee\x01\n\x1d\x63om.cometbft.rpc.grpc.v1beta1B\nTypesProtoP\x01Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta1\xa2\x02\x03\x43RG\xaa\x02\x19\x43ometbft.Rpc.Grpc.V1beta1\xca\x02\x19\x43ometbft\\Rpc\\Grpc\\V1beta1\xe2\x02%Cometbft\\Rpc\\Grpc\\V1beta1\\GPBMetadata\xea\x02\x1c\x43ometbft::Rpc::Grpc::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.rpc.grpc.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\035com.cometbft.rpc.grpc.v1beta1B\nTypesProtoP\001Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta1\242\002\003CRG\252\002\031Cometbft.Rpc.Grpc.V1beta1\312\002\031Cometbft\\Rpc\\Grpc\\V1beta1\342\002%Cometbft\\Rpc\\Grpc\\V1beta1\\GPBMetadata\352\002\034Cometbft::Rpc::Grpc::V1beta1' + _globals['_REQUESTPING']._serialized_start=103 + _globals['_REQUESTPING']._serialized_end=116 + _globals['_REQUESTBROADCASTTX']._serialized_start=118 + _globals['_REQUESTBROADCASTTX']._serialized_end=154 + _globals['_RESPONSEPING']._serialized_start=156 + _globals['_RESPONSEPING']._serialized_end=170 + _globals['_RESPONSEBROADCASTTX']._serialized_start=173 + _globals['_RESPONSEBROADCASTTX']._serialized_end=334 + _globals['_BROADCASTAPI']._serialized_start=337 + _globals['_BROADCASTAPI']._serialized_end=550 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2_grpc.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2_grpc.py new file mode 100644 index 00000000..373719ab --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta1/types_pb2_grpc.py @@ -0,0 +1,125 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.rpc.grpc.v1beta1 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2 + + +class BroadcastAPIStub(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Ping = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta1.BroadcastAPI/Ping', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + _registered_method=True) + self.BroadcastTx = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta1.BroadcastAPI/BroadcastTx', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponseBroadcastTx.FromString, + _registered_method=True) + + +class BroadcastAPIServicer(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + def Ping(self, request, context): + """Ping the connection. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BroadcastTx(self, request, context): + """BroadcastTx broadcasts the transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BroadcastAPIServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Ping': grpc.unary_unary_rpc_method_handler( + servicer.Ping, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.SerializeToString, + ), + 'BroadcastTx': grpc.unary_unary_rpc_method_handler( + servicer.BroadcastTx, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponseBroadcastTx.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.rpc.grpc.v1beta1.BroadcastAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.rpc.grpc.v1beta1.BroadcastAPI', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class BroadcastAPI(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + @staticmethod + def Ping(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta1.BroadcastAPI/Ping', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BroadcastTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta1.BroadcastAPI/BroadcastTx', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponseBroadcastTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2.py new file mode 100644 index 00000000..6961c0b9 --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/rpc/grpc/v1beta2/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.rpc.grpc.v1beta1 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%cometbft/rpc/grpc/v1beta2/types.proto\x12\x19\x63ometbft.rpc.grpc.v1beta2\x1a%cometbft/rpc/grpc/v1beta1/types.proto\x1a!cometbft/abci/v1beta2/types.proto\"\xa1\x01\n\x13ResponseBroadcastTx\x12\x41\n\x08\x63heck_tx\x18\x01 \x01(\x0b\x32&.cometbft.abci.v1beta2.ResponseCheckTxR\x07\x63heckTx\x12G\n\ndeliver_tx\x18\x02 \x01(\x0b\x32(.cometbft.abci.v1beta2.ResponseDeliverTxR\tdeliverTx2\xd5\x01\n\x0c\x42roadcastAPI\x12W\n\x04Ping\x12&.cometbft.rpc.grpc.v1beta1.RequestPing\x1a\'.cometbft.rpc.grpc.v1beta1.ResponsePing\x12l\n\x0b\x42roadcastTx\x12-.cometbft.rpc.grpc.v1beta1.RequestBroadcastTx\x1a..cometbft.rpc.grpc.v1beta2.ResponseBroadcastTxB\xee\x01\n\x1d\x63om.cometbft.rpc.grpc.v1beta2B\nTypesProtoP\x01Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta2\xa2\x02\x03\x43RG\xaa\x02\x19\x43ometbft.Rpc.Grpc.V1beta2\xca\x02\x19\x43ometbft\\Rpc\\Grpc\\V1beta2\xe2\x02%Cometbft\\Rpc\\Grpc\\V1beta2\\GPBMetadata\xea\x02\x1c\x43ometbft::Rpc::Grpc::V1beta2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.rpc.grpc.v1beta2.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\035com.cometbft.rpc.grpc.v1beta2B\nTypesProtoP\001Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta2\242\002\003CRG\252\002\031Cometbft.Rpc.Grpc.V1beta2\312\002\031Cometbft\\Rpc\\Grpc\\V1beta2\342\002%Cometbft\\Rpc\\Grpc\\V1beta2\\GPBMetadata\352\002\034Cometbft::Rpc::Grpc::V1beta2' + _globals['_RESPONSEBROADCASTTX']._serialized_start=143 + _globals['_RESPONSEBROADCASTTX']._serialized_end=304 + _globals['_BROADCASTAPI']._serialized_start=307 + _globals['_BROADCASTAPI']._serialized_end=520 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2_grpc.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2_grpc.py new file mode 100644 index 00000000..b2759bb1 --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta2/types_pb2_grpc.py @@ -0,0 +1,126 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.rpc.grpc.v1beta1 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.rpc.grpc.v1beta2 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta2_dot_types__pb2 + + +class BroadcastAPIStub(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Ping = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta2.BroadcastAPI/Ping', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + _registered_method=True) + self.BroadcastTx = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta2.BroadcastAPI/BroadcastTx', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta2_dot_types__pb2.ResponseBroadcastTx.FromString, + _registered_method=True) + + +class BroadcastAPIServicer(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + def Ping(self, request, context): + """Ping the connection. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BroadcastTx(self, request, context): + """BroadcastTx broadcasts the transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BroadcastAPIServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Ping': grpc.unary_unary_rpc_method_handler( + servicer.Ping, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.SerializeToString, + ), + 'BroadcastTx': grpc.unary_unary_rpc_method_handler( + servicer.BroadcastTx, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta2_dot_types__pb2.ResponseBroadcastTx.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.rpc.grpc.v1beta2.BroadcastAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.rpc.grpc.v1beta2.BroadcastAPI', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class BroadcastAPI(object): + """BroadcastAPI is an API for broadcasting transactions. + """ + + @staticmethod + def Ping(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta2.BroadcastAPI/Ping', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BroadcastTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta2.BroadcastAPI/BroadcastTx', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta2_dot_types__pb2.ResponseBroadcastTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2.py new file mode 100644 index 00000000..c334fc6a --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/rpc/grpc/v1beta3/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.rpc.grpc.v1beta1 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta3 import types_pb2 as cometbft_dot_abci_dot_v1beta3_dot_types__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%cometbft/rpc/grpc/v1beta3/types.proto\x12\x19\x63ometbft.rpc.grpc.v1beta3\x1a%cometbft/rpc/grpc/v1beta1/types.proto\x1a!cometbft/abci/v1beta3/types.proto\"\x9a\x01\n\x13ResponseBroadcastTx\x12\x41\n\x08\x63heck_tx\x18\x01 \x01(\x0b\x32&.cometbft.abci.v1beta3.ResponseCheckTxR\x07\x63heckTx\x12@\n\ttx_result\x18\x02 \x01(\x0b\x32#.cometbft.abci.v1beta3.ExecTxResultR\x08txResult2\xd5\x01\n\x0c\x42roadcastAPI\x12W\n\x04Ping\x12&.cometbft.rpc.grpc.v1beta1.RequestPing\x1a\'.cometbft.rpc.grpc.v1beta1.ResponsePing\x12l\n\x0b\x42roadcastTx\x12-.cometbft.rpc.grpc.v1beta1.RequestBroadcastTx\x1a..cometbft.rpc.grpc.v1beta3.ResponseBroadcastTxB\xee\x01\n\x1d\x63om.cometbft.rpc.grpc.v1beta3B\nTypesProtoP\x01Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta3\xa2\x02\x03\x43RG\xaa\x02\x19\x43ometbft.Rpc.Grpc.V1beta3\xca\x02\x19\x43ometbft\\Rpc\\Grpc\\V1beta3\xe2\x02%Cometbft\\Rpc\\Grpc\\V1beta3\\GPBMetadata\xea\x02\x1c\x43ometbft::Rpc::Grpc::V1beta3b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.rpc.grpc.v1beta3.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\035com.cometbft.rpc.grpc.v1beta3B\nTypesProtoP\001Z:github.com/cometbft/cometbft/api/cometbft/rpc/grpc/v1beta3\242\002\003CRG\252\002\031Cometbft.Rpc.Grpc.V1beta3\312\002\031Cometbft\\Rpc\\Grpc\\V1beta3\342\002%Cometbft\\Rpc\\Grpc\\V1beta3\\GPBMetadata\352\002\034Cometbft::Rpc::Grpc::V1beta3' + _globals['_RESPONSEBROADCASTTX']._serialized_start=143 + _globals['_RESPONSEBROADCASTTX']._serialized_end=297 + _globals['_BROADCASTAPI']._serialized_start=300 + _globals['_BROADCASTAPI']._serialized_end=513 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2_grpc.py b/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2_grpc.py new file mode 100644 index 00000000..99714435 --- /dev/null +++ b/pyinjective/proto/cometbft/rpc/grpc/v1beta3/types_pb2_grpc.py @@ -0,0 +1,135 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.rpc.grpc.v1beta1 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.rpc.grpc.v1beta3 import types_pb2 as cometbft_dot_rpc_dot_grpc_dot_v1beta3_dot_types__pb2 + + +class BroadcastAPIStub(object): + """BroadcastAPI is an API for broadcasting transactions. + + Deprecated: This API will be superseded by a more comprehensive gRPC-based + broadcast API, and is scheduled for removal after v0.38. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Ping = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta3.BroadcastAPI/Ping', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + _registered_method=True) + self.BroadcastTx = channel.unary_unary( + '/cometbft.rpc.grpc.v1beta3.BroadcastAPI/BroadcastTx', + request_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + response_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta3_dot_types__pb2.ResponseBroadcastTx.FromString, + _registered_method=True) + + +class BroadcastAPIServicer(object): + """BroadcastAPI is an API for broadcasting transactions. + + Deprecated: This API will be superseded by a more comprehensive gRPC-based + broadcast API, and is scheduled for removal after v0.38. + """ + + def Ping(self, request, context): + """Ping the connection. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BroadcastTx(self, request, context): + """BroadcastTx broadcasts a transaction. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BroadcastAPIServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Ping': grpc.unary_unary_rpc_method_handler( + servicer.Ping, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.SerializeToString, + ), + 'BroadcastTx': grpc.unary_unary_rpc_method_handler( + servicer.BroadcastTx, + request_deserializer=cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.FromString, + response_serializer=cometbft_dot_rpc_dot_grpc_dot_v1beta3_dot_types__pb2.ResponseBroadcastTx.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.rpc.grpc.v1beta3.BroadcastAPI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.rpc.grpc.v1beta3.BroadcastAPI', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class BroadcastAPI(object): + """BroadcastAPI is an API for broadcasting transactions. + + Deprecated: This API will be superseded by a more comprehensive gRPC-based + broadcast API, and is scheduled for removal after v0.38. + """ + + @staticmethod + def Ping(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta3.BroadcastAPI/Ping', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestPing.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.ResponsePing.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BroadcastTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.rpc.grpc.v1beta3.BroadcastAPI/BroadcastTx', + cometbft_dot_rpc_dot_grpc_dot_v1beta1_dot_types__pb2.RequestBroadcastTx.SerializeToString, + cometbft_dot_rpc_dot_grpc_dot_v1beta3_dot_types__pb2.ResponseBroadcastTx.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/services/block/v1/block_pb2.py b/pyinjective/proto/cometbft/services/block/v1/block_pb2.py new file mode 100644 index 00000000..af80db36 --- /dev/null +++ b/pyinjective/proto/cometbft/services/block/v1/block_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/block/v1/block.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import block_pb2 as cometbft_dot_types_dot_v1_dot_block__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cometbft/services/block/v1/block.proto\x12\x1a\x63ometbft.services.block.v1\x1a\x1d\x63ometbft/types/v1/types.proto\x1a\x1d\x63ometbft/types/v1/block.proto\",\n\x12GetByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"|\n\x13GetByHeightResponse\x12\x35\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDR\x07\x62lockId\x12.\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x18.cometbft.types.v1.BlockR\x05\x62lock\"\x18\n\x16GetLatestHeightRequest\"1\n\x17GetLatestHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06heightB\xf4\x01\n\x1e\x63om.cometbft.services.block.v1B\nBlockProtoP\x01Z;github.com/cometbft/cometbft/api/cometbft/services/block/v1\xa2\x02\x03\x43SB\xaa\x02\x1a\x43ometbft.Services.Block.V1\xca\x02\x1a\x43ometbft\\Services\\Block\\V1\xe2\x02&Cometbft\\Services\\Block\\V1\\GPBMetadata\xea\x02\x1d\x43ometbft::Services::Block::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.block.v1.block_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cometbft.services.block.v1B\nBlockProtoP\001Z;github.com/cometbft/cometbft/api/cometbft/services/block/v1\242\002\003CSB\252\002\032Cometbft.Services.Block.V1\312\002\032Cometbft\\Services\\Block\\V1\342\002&Cometbft\\Services\\Block\\V1\\GPBMetadata\352\002\035Cometbft::Services::Block::V1' + _globals['_GETBYHEIGHTREQUEST']._serialized_start=132 + _globals['_GETBYHEIGHTREQUEST']._serialized_end=176 + _globals['_GETBYHEIGHTRESPONSE']._serialized_start=178 + _globals['_GETBYHEIGHTRESPONSE']._serialized_end=302 + _globals['_GETLATESTHEIGHTREQUEST']._serialized_start=304 + _globals['_GETLATESTHEIGHTREQUEST']._serialized_end=328 + _globals['_GETLATESTHEIGHTRESPONSE']._serialized_start=330 + _globals['_GETLATESTHEIGHTRESPONSE']._serialized_end=379 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/block/v1/block_pb2_grpc.py b/pyinjective/proto/cometbft/services/block/v1/block_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/services/block/v1/block_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/services/block/v1/block_service_pb2.py b/pyinjective/proto/cometbft/services/block/v1/block_service_pb2.py new file mode 100644 index 00000000..41b7e23b --- /dev/null +++ b/pyinjective/proto/cometbft/services/block/v1/block_service_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/block/v1/block_service.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.services.block.v1 import block_pb2 as cometbft_dot_services_dot_block_dot_v1_dot_block__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.cometbft/services/block/v1/block_service.proto\x12\x1a\x63ometbft.services.block.v1\x1a&cometbft/services/block/v1/block.proto2\xfc\x01\n\x0c\x42lockService\x12n\n\x0bGetByHeight\x12..cometbft.services.block.v1.GetByHeightRequest\x1a/.cometbft.services.block.v1.GetByHeightResponse\x12|\n\x0fGetLatestHeight\x12\x32.cometbft.services.block.v1.GetLatestHeightRequest\x1a\x33.cometbft.services.block.v1.GetLatestHeightResponse0\x01\x42\xfb\x01\n\x1e\x63om.cometbft.services.block.v1B\x11\x42lockServiceProtoP\x01Z;github.com/cometbft/cometbft/api/cometbft/services/block/v1\xa2\x02\x03\x43SB\xaa\x02\x1a\x43ometbft.Services.Block.V1\xca\x02\x1a\x43ometbft\\Services\\Block\\V1\xe2\x02&Cometbft\\Services\\Block\\V1\\GPBMetadata\xea\x02\x1d\x43ometbft::Services::Block::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.block.v1.block_service_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cometbft.services.block.v1B\021BlockServiceProtoP\001Z;github.com/cometbft/cometbft/api/cometbft/services/block/v1\242\002\003CSB\252\002\032Cometbft.Services.Block.V1\312\002\032Cometbft\\Services\\Block\\V1\342\002&Cometbft\\Services\\Block\\V1\\GPBMetadata\352\002\035Cometbft::Services::Block::V1' + _globals['_BLOCKSERVICE']._serialized_start=119 + _globals['_BLOCKSERVICE']._serialized_end=371 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/block/v1/block_service_pb2_grpc.py b/pyinjective/proto/cometbft/services/block/v1/block_service_pb2_grpc.py new file mode 100644 index 00000000..a7d0f845 --- /dev/null +++ b/pyinjective/proto/cometbft/services/block/v1/block_service_pb2_grpc.py @@ -0,0 +1,128 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.services.block.v1 import block_pb2 as cometbft_dot_services_dot_block_dot_v1_dot_block__pb2 + + +class BlockServiceStub(object): + """BlockService provides information about blocks + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetByHeight = channel.unary_unary( + '/cometbft.services.block.v1.BlockService/GetByHeight', + request_serializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightResponse.FromString, + _registered_method=True) + self.GetLatestHeight = channel.unary_stream( + '/cometbft.services.block.v1.BlockService/GetLatestHeight', + request_serializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightResponse.FromString, + _registered_method=True) + + +class BlockServiceServicer(object): + """BlockService provides information about blocks + """ + + def GetByHeight(self, request, context): + """GetBlock retrieves the block information at a particular height. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetLatestHeight(self, request, context): + """GetLatestHeight returns a stream of the latest block heights committed by + the network. This is a long-lived stream that is only terminated by the + server if an error occurs. The caller is expected to handle such + disconnections and automatically reconnect. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BlockServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetByHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetByHeight, + request_deserializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightResponse.SerializeToString, + ), + 'GetLatestHeight': grpc.unary_stream_rpc_method_handler( + servicer.GetLatestHeight, + request_deserializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.services.block.v1.BlockService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.services.block.v1.BlockService', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class BlockService(object): + """BlockService provides information about blocks + """ + + @staticmethod + def GetByHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.block.v1.BlockService/GetByHeight', + cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightRequest.SerializeToString, + cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetByHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetLatestHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/cometbft.services.block.v1.BlockService/GetLatestHeight', + cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightRequest.SerializeToString, + cometbft_dot_services_dot_block_dot_v1_dot_block__pb2.GetLatestHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2.py b/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2.py new file mode 100644 index 00000000..ecb1f2c8 --- /dev/null +++ b/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/block_results/v1/block_results.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6cometbft/services/block_results/v1/block_results.proto\x12\"cometbft.services.block_results.v1\x1a\x1c\x63ometbft/abci/v1/types.proto\x1a\x1e\x63ometbft/types/v1/params.proto\"0\n\x16GetBlockResultsRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\x84\x03\n\x17GetBlockResultsResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12=\n\ntx_results\x18\x02 \x03(\x0b\x32\x1e.cometbft.abci.v1.ExecTxResultR\ttxResults\x12K\n\x15\x66inalize_block_events\x18\x03 \x03(\x0b\x32\x17.cometbft.abci.v1.EventR\x13\x66inalizeBlockEvents\x12N\n\x11validator_updates\x18\x04 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateR\x10validatorUpdates\x12Z\n\x17\x63onsensus_param_updates\x18\x05 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12\x19\n\x08\x61pp_hash\x18\x06 \x01(\x0cR\x07\x61ppHashB\xa7\x02\n&com.cometbft.services.block_results.v1B\x11\x42lockResultsProtoP\x01ZCgithub.com/cometbft/cometbft/api/cometbft/services/block_results/v1\xa2\x02\x03\x43SB\xaa\x02!Cometbft.Services.BlockResults.V1\xca\x02!Cometbft\\Services\\BlockResults\\V1\xe2\x02-Cometbft\\Services\\BlockResults\\V1\\GPBMetadata\xea\x02$Cometbft::Services::BlockResults::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.block_results.v1.block_results_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n&com.cometbft.services.block_results.v1B\021BlockResultsProtoP\001ZCgithub.com/cometbft/cometbft/api/cometbft/services/block_results/v1\242\002\003CSB\252\002!Cometbft.Services.BlockResults.V1\312\002!Cometbft\\Services\\BlockResults\\V1\342\002-Cometbft\\Services\\BlockResults\\V1\\GPBMetadata\352\002$Cometbft::Services::BlockResults::V1' + _globals['_GETBLOCKRESULTSREQUEST']._serialized_start=156 + _globals['_GETBLOCKRESULTSREQUEST']._serialized_end=204 + _globals['_GETBLOCKRESULTSRESPONSE']._serialized_start=207 + _globals['_GETBLOCKRESULTSRESPONSE']._serialized_end=595 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2_grpc.py b/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/services/block_results/v1/block_results_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2.py b/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2.py new file mode 100644 index 00000000..aaf54943 --- /dev/null +++ b/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/block_results/v1/block_results_service.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.services.block_results.v1 import block_results_pb2 as cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n>cometbft/services/block_results/v1/block_results_service.proto\x12\"cometbft.services.block_results.v1\x1a\x36\x63ometbft/services/block_results/v1/block_results.proto2\xa2\x01\n\x13\x42lockResultsService\x12\x8a\x01\n\x0fGetBlockResults\x12:.cometbft.services.block_results.v1.GetBlockResultsRequest\x1a;.cometbft.services.block_results.v1.GetBlockResultsResponseB\xae\x02\n&com.cometbft.services.block_results.v1B\x18\x42lockResultsServiceProtoP\x01ZCgithub.com/cometbft/cometbft/api/cometbft/services/block_results/v1\xa2\x02\x03\x43SB\xaa\x02!Cometbft.Services.BlockResults.V1\xca\x02!Cometbft\\Services\\BlockResults\\V1\xe2\x02-Cometbft\\Services\\BlockResults\\V1\\GPBMetadata\xea\x02$Cometbft::Services::BlockResults::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.block_results.v1.block_results_service_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n&com.cometbft.services.block_results.v1B\030BlockResultsServiceProtoP\001ZCgithub.com/cometbft/cometbft/api/cometbft/services/block_results/v1\242\002\003CSB\252\002!Cometbft.Services.BlockResults.V1\312\002!Cometbft\\Services\\BlockResults\\V1\342\002-Cometbft\\Services\\BlockResults\\V1\\GPBMetadata\352\002$Cometbft::Services::BlockResults::V1' + _globals['_BLOCKRESULTSSERVICE']._serialized_start=159 + _globals['_BLOCKRESULTSSERVICE']._serialized_end=321 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2_grpc.py b/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2_grpc.py new file mode 100644 index 00000000..487ca6b1 --- /dev/null +++ b/pyinjective/proto/cometbft/services/block_results/v1/block_results_service_pb2_grpc.py @@ -0,0 +1,84 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.services.block_results.v1 import block_results_pb2 as cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2 + + +class BlockResultsServiceStub(object): + """ + BlockResultService provides the block results of a given or latestheight. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetBlockResults = channel.unary_unary( + '/cometbft.services.block_results.v1.BlockResultsService/GetBlockResults', + request_serializer=cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsResponse.FromString, + _registered_method=True) + + +class BlockResultsServiceServicer(object): + """ + BlockResultService provides the block results of a given or latestheight. + """ + + def GetBlockResults(self, request, context): + """GetBlockResults returns the BlockResults of the requested height. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BlockResultsServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetBlockResults': grpc.unary_unary_rpc_method_handler( + servicer.GetBlockResults, + request_deserializer=cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsRequest.FromString, + response_serializer=cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.services.block_results.v1.BlockResultsService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.services.block_results.v1.BlockResultsService', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class BlockResultsService(object): + """ + BlockResultService provides the block results of a given or latestheight. + """ + + @staticmethod + def GetBlockResults(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.block_results.v1.BlockResultsService/GetBlockResults', + cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsRequest.SerializeToString, + cometbft_dot_services_dot_block__results_dot_v1_dot_block__results__pb2.GetBlockResultsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2.py b/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2.py new file mode 100644 index 00000000..b8cbddb0 --- /dev/null +++ b/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/pruning/v1/pruning.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cometbft/services/pruning/v1/pruning.proto\x12\x1c\x63ometbft.services.pruning.v1\"5\n\x1bSetBlockRetainHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"\x1e\n\x1cSetBlockRetainHeightResponse\"\x1d\n\x1bGetBlockRetainHeightRequest\"\x8d\x01\n\x1cGetBlockRetainHeightResponse\x12*\n\x11\x61pp_retain_height\x18\x01 \x01(\x04R\x0f\x61ppRetainHeight\x12\x41\n\x1dpruning_service_retain_height\x18\x02 \x01(\x04R\x1apruningServiceRetainHeight\"<\n\"SetBlockResultsRetainHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"%\n#SetBlockResultsRetainHeightResponse\"$\n\"GetBlockResultsRetainHeightRequest\"h\n#GetBlockResultsRetainHeightResponse\x12\x41\n\x1dpruning_service_retain_height\x18\x01 \x01(\x04R\x1apruningServiceRetainHeight\"9\n\x1fSetTxIndexerRetainHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"\"\n SetTxIndexerRetainHeightResponse\"!\n\x1fGetTxIndexerRetainHeightRequest\":\n GetTxIndexerRetainHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"<\n\"SetBlockIndexerRetainHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"%\n#SetBlockIndexerRetainHeightResponse\"$\n\"GetBlockIndexerRetainHeightRequest\"=\n#GetBlockIndexerRetainHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06heightB\xc3\x01\n com.cometbft.services.pruning.v1B\x0cPruningProtoP\x01\xa2\x02\x03\x43SP\xaa\x02\x1c\x43ometbft.Services.Pruning.V1\xca\x02\x1c\x43ometbft\\Services\\Pruning\\V1\xe2\x02(Cometbft\\Services\\Pruning\\V1\\GPBMetadata\xea\x02\x1f\x43ometbft::Services::Pruning::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.pruning.v1.pruning_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.cometbft.services.pruning.v1B\014PruningProtoP\001\242\002\003CSP\252\002\034Cometbft.Services.Pruning.V1\312\002\034Cometbft\\Services\\Pruning\\V1\342\002(Cometbft\\Services\\Pruning\\V1\\GPBMetadata\352\002\037Cometbft::Services::Pruning::V1' + _globals['_SETBLOCKRETAINHEIGHTREQUEST']._serialized_start=76 + _globals['_SETBLOCKRETAINHEIGHTREQUEST']._serialized_end=129 + _globals['_SETBLOCKRETAINHEIGHTRESPONSE']._serialized_start=131 + _globals['_SETBLOCKRETAINHEIGHTRESPONSE']._serialized_end=161 + _globals['_GETBLOCKRETAINHEIGHTREQUEST']._serialized_start=163 + _globals['_GETBLOCKRETAINHEIGHTREQUEST']._serialized_end=192 + _globals['_GETBLOCKRETAINHEIGHTRESPONSE']._serialized_start=195 + _globals['_GETBLOCKRETAINHEIGHTRESPONSE']._serialized_end=336 + _globals['_SETBLOCKRESULTSRETAINHEIGHTREQUEST']._serialized_start=338 + _globals['_SETBLOCKRESULTSRETAINHEIGHTREQUEST']._serialized_end=398 + _globals['_SETBLOCKRESULTSRETAINHEIGHTRESPONSE']._serialized_start=400 + _globals['_SETBLOCKRESULTSRETAINHEIGHTRESPONSE']._serialized_end=437 + _globals['_GETBLOCKRESULTSRETAINHEIGHTREQUEST']._serialized_start=439 + _globals['_GETBLOCKRESULTSRETAINHEIGHTREQUEST']._serialized_end=475 + _globals['_GETBLOCKRESULTSRETAINHEIGHTRESPONSE']._serialized_start=477 + _globals['_GETBLOCKRESULTSRETAINHEIGHTRESPONSE']._serialized_end=581 + _globals['_SETTXINDEXERRETAINHEIGHTREQUEST']._serialized_start=583 + _globals['_SETTXINDEXERRETAINHEIGHTREQUEST']._serialized_end=640 + _globals['_SETTXINDEXERRETAINHEIGHTRESPONSE']._serialized_start=642 + _globals['_SETTXINDEXERRETAINHEIGHTRESPONSE']._serialized_end=676 + _globals['_GETTXINDEXERRETAINHEIGHTREQUEST']._serialized_start=678 + _globals['_GETTXINDEXERRETAINHEIGHTREQUEST']._serialized_end=711 + _globals['_GETTXINDEXERRETAINHEIGHTRESPONSE']._serialized_start=713 + _globals['_GETTXINDEXERRETAINHEIGHTRESPONSE']._serialized_end=771 + _globals['_SETBLOCKINDEXERRETAINHEIGHTREQUEST']._serialized_start=773 + _globals['_SETBLOCKINDEXERRETAINHEIGHTREQUEST']._serialized_end=833 + _globals['_SETBLOCKINDEXERRETAINHEIGHTRESPONSE']._serialized_start=835 + _globals['_SETBLOCKINDEXERRETAINHEIGHTRESPONSE']._serialized_end=872 + _globals['_GETBLOCKINDEXERRETAINHEIGHTREQUEST']._serialized_start=874 + _globals['_GETBLOCKINDEXERRETAINHEIGHTREQUEST']._serialized_end=910 + _globals['_GETBLOCKINDEXERRETAINHEIGHTRESPONSE']._serialized_start=912 + _globals['_GETBLOCKINDEXERRETAINHEIGHTRESPONSE']._serialized_end=973 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2_grpc.py b/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/services/pruning/v1/pruning_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/services/pruning/v1/service_pb2.py b/pyinjective/proto/cometbft/services/pruning/v1/service_pb2.py new file mode 100644 index 00000000..157b2479 --- /dev/null +++ b/pyinjective/proto/cometbft/services/pruning/v1/service_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/pruning/v1/service.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.services.pruning.v1 import pruning_pb2 as cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cometbft/services/pruning/v1/service.proto\x12\x1c\x63ometbft.services.pruning.v1\x1a*cometbft/services/pruning/v1/pruning.proto2\xfc\t\n\x0ePruningService\x12\x8d\x01\n\x14SetBlockRetainHeight\x12\x39.cometbft.services.pruning.v1.SetBlockRetainHeightRequest\x1a:.cometbft.services.pruning.v1.SetBlockRetainHeightResponse\x12\x8d\x01\n\x14GetBlockRetainHeight\x12\x39.cometbft.services.pruning.v1.GetBlockRetainHeightRequest\x1a:.cometbft.services.pruning.v1.GetBlockRetainHeightResponse\x12\xa2\x01\n\x1bSetBlockResultsRetainHeight\x12@.cometbft.services.pruning.v1.SetBlockResultsRetainHeightRequest\x1a\x41.cometbft.services.pruning.v1.SetBlockResultsRetainHeightResponse\x12\xa2\x01\n\x1bGetBlockResultsRetainHeight\x12@.cometbft.services.pruning.v1.GetBlockResultsRetainHeightRequest\x1a\x41.cometbft.services.pruning.v1.GetBlockResultsRetainHeightResponse\x12\x99\x01\n\x18SetTxIndexerRetainHeight\x12=.cometbft.services.pruning.v1.SetTxIndexerRetainHeightRequest\x1a>.cometbft.services.pruning.v1.SetTxIndexerRetainHeightResponse\x12\x99\x01\n\x18GetTxIndexerRetainHeight\x12=.cometbft.services.pruning.v1.GetTxIndexerRetainHeightRequest\x1a>.cometbft.services.pruning.v1.GetTxIndexerRetainHeightResponse\x12\xa2\x01\n\x1bSetBlockIndexerRetainHeight\x12@.cometbft.services.pruning.v1.SetBlockIndexerRetainHeightRequest\x1a\x41.cometbft.services.pruning.v1.SetBlockIndexerRetainHeightResponse\x12\xa2\x01\n\x1bGetBlockIndexerRetainHeight\x12@.cometbft.services.pruning.v1.GetBlockIndexerRetainHeightRequest\x1a\x41.cometbft.services.pruning.v1.GetBlockIndexerRetainHeightResponseB\xc3\x01\n com.cometbft.services.pruning.v1B\x0cServiceProtoP\x01\xa2\x02\x03\x43SP\xaa\x02\x1c\x43ometbft.Services.Pruning.V1\xca\x02\x1c\x43ometbft\\Services\\Pruning\\V1\xe2\x02(Cometbft\\Services\\Pruning\\V1\\GPBMetadata\xea\x02\x1f\x43ometbft::Services::Pruning::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.pruning.v1.service_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.cometbft.services.pruning.v1B\014ServiceProtoP\001\242\002\003CSP\252\002\034Cometbft.Services.Pruning.V1\312\002\034Cometbft\\Services\\Pruning\\V1\342\002(Cometbft\\Services\\Pruning\\V1\\GPBMetadata\352\002\037Cometbft::Services::Pruning::V1' + _globals['_PRUNINGSERVICE']._serialized_start=121 + _globals['_PRUNINGSERVICE']._serialized_end=1397 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/pruning/v1/service_pb2_grpc.py b/pyinjective/proto/cometbft/services/pruning/v1/service_pb2_grpc.py new file mode 100644 index 00000000..fff52474 --- /dev/null +++ b/pyinjective/proto/cometbft/services/pruning/v1/service_pb2_grpc.py @@ -0,0 +1,407 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.services.pruning.v1 import pruning_pb2 as cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2 + + +class PruningServiceStub(object): + """PruningService provides privileged access to specialized pruning + functionality on the CometBFT node to help control node storage. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SetBlockRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/SetBlockRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightResponse.FromString, + _registered_method=True) + self.GetBlockRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/GetBlockRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightResponse.FromString, + _registered_method=True) + self.SetBlockResultsRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/SetBlockResultsRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightResponse.FromString, + _registered_method=True) + self.GetBlockResultsRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/GetBlockResultsRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightResponse.FromString, + _registered_method=True) + self.SetTxIndexerRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/SetTxIndexerRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightResponse.FromString, + _registered_method=True) + self.GetTxIndexerRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/GetTxIndexerRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightResponse.FromString, + _registered_method=True) + self.SetBlockIndexerRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/SetBlockIndexerRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightResponse.FromString, + _registered_method=True) + self.GetBlockIndexerRetainHeight = channel.unary_unary( + '/cometbft.services.pruning.v1.PruningService/GetBlockIndexerRetainHeight', + request_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightResponse.FromString, + _registered_method=True) + + +class PruningServiceServicer(object): + """PruningService provides privileged access to specialized pruning + functionality on the CometBFT node to help control node storage. + """ + + def SetBlockRetainHeight(self, request, context): + """SetBlockRetainHeightRequest indicates to the node that it can safely + prune all block data up to the specified retain height. + + The lower of this retain height and that set by the application in its + Commit response will be used by the node to determine which heights' data + can be pruned. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBlockRetainHeight(self, request, context): + """GetBlockRetainHeight returns information about the retain height + parameters used by the node to influence block retention/pruning. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetBlockResultsRetainHeight(self, request, context): + """SetBlockResultsRetainHeightRequest indicates to the node that it can + safely prune all block results data up to the specified height. + + The node will always store the block results for the latest height to + help facilitate crash recovery. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBlockResultsRetainHeight(self, request, context): + """GetBlockResultsRetainHeight returns information about the retain height + parameters used by the node to influence block results retention/pruning. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetTxIndexerRetainHeight(self, request, context): + """SetTxIndexerRetainHeightRequest indicates to the node that it can safely + prune all tx indices up to the specified retain height. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTxIndexerRetainHeight(self, request, context): + """GetTxIndexerRetainHeight returns information about the retain height + parameters used by the node to influence TxIndexer pruning + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetBlockIndexerRetainHeight(self, request, context): + """SetBlockIndexerRetainHeightRequest indicates to the node that it can safely + prune all block indices up to the specified retain height. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBlockIndexerRetainHeight(self, request, context): + """GetBlockIndexerRetainHeight returns information about the retain height + parameters used by the node to influence BlockIndexer pruning + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_PruningServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SetBlockRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.SetBlockRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightResponse.SerializeToString, + ), + 'GetBlockRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetBlockRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightResponse.SerializeToString, + ), + 'SetBlockResultsRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.SetBlockResultsRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightResponse.SerializeToString, + ), + 'GetBlockResultsRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetBlockResultsRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightResponse.SerializeToString, + ), + 'SetTxIndexerRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.SetTxIndexerRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightResponse.SerializeToString, + ), + 'GetTxIndexerRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetTxIndexerRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightResponse.SerializeToString, + ), + 'SetBlockIndexerRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.SetBlockIndexerRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightResponse.SerializeToString, + ), + 'GetBlockIndexerRetainHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetBlockIndexerRetainHeight, + request_deserializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightRequest.FromString, + response_serializer=cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.services.pruning.v1.PruningService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.services.pruning.v1.PruningService', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class PruningService(object): + """PruningService provides privileged access to specialized pruning + functionality on the CometBFT node to help control node storage. + """ + + @staticmethod + def SetBlockRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/SetBlockRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetBlockRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/GetBlockRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SetBlockResultsRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/SetBlockResultsRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockResultsRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetBlockResultsRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/GetBlockResultsRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockResultsRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SetTxIndexerRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/SetTxIndexerRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetTxIndexerRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetTxIndexerRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/GetTxIndexerRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetTxIndexerRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SetBlockIndexerRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/SetBlockIndexerRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.SetBlockIndexerRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetBlockIndexerRetainHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.pruning.v1.PruningService/GetBlockIndexerRetainHeight', + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightRequest.SerializeToString, + cometbft_dot_services_dot_pruning_dot_v1_dot_pruning__pb2.GetBlockIndexerRetainHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/services/version/v1/version_pb2.py b/pyinjective/proto/cometbft/services/version/v1/version_pb2.py new file mode 100644 index 00000000..6b12dd9f --- /dev/null +++ b/pyinjective/proto/cometbft/services/version/v1/version_pb2.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/version/v1/version.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cometbft/services/version/v1/version.proto\x12\x1c\x63ometbft.services.version.v1\"\x13\n\x11GetVersionRequest\"d\n\x12GetVersionResponse\x12\x12\n\x04node\x18\x01 \x01(\tR\x04node\x12\x12\n\x04\x61\x62\x63i\x18\x02 \x01(\tR\x04\x61\x62\x63i\x12\x10\n\x03p2p\x18\x03 \x01(\x04R\x03p2p\x12\x14\n\x05\x62lock\x18\x04 \x01(\x04R\x05\x62lockB\x82\x02\n com.cometbft.services.version.v1B\x0cVersionProtoP\x01Z=github.com/cometbft/cometbft/api/cometbft/services/version/v1\xa2\x02\x03\x43SV\xaa\x02\x1c\x43ometbft.Services.Version.V1\xca\x02\x1c\x43ometbft\\Services\\Version\\V1\xe2\x02(Cometbft\\Services\\Version\\V1\\GPBMetadata\xea\x02\x1f\x43ometbft::Services::Version::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.version.v1.version_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.cometbft.services.version.v1B\014VersionProtoP\001Z=github.com/cometbft/cometbft/api/cometbft/services/version/v1\242\002\003CSV\252\002\034Cometbft.Services.Version.V1\312\002\034Cometbft\\Services\\Version\\V1\342\002(Cometbft\\Services\\Version\\V1\\GPBMetadata\352\002\037Cometbft::Services::Version::V1' + _globals['_GETVERSIONREQUEST']._serialized_start=76 + _globals['_GETVERSIONREQUEST']._serialized_end=95 + _globals['_GETVERSIONRESPONSE']._serialized_start=97 + _globals['_GETVERSIONRESPONSE']._serialized_end=197 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/version/v1/version_pb2_grpc.py b/pyinjective/proto/cometbft/services/version/v1/version_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/services/version/v1/version_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/services/version/v1/version_service_pb2.py b/pyinjective/proto/cometbft/services/version/v1/version_service_pb2.py new file mode 100644 index 00000000..c43ff805 --- /dev/null +++ b/pyinjective/proto/cometbft/services/version/v1/version_service_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/services/version/v1/version_service.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.services.version.v1 import version_pb2 as cometbft_dot_services_dot_version_dot_v1_dot_version__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2cometbft/services/version/v1/version_service.proto\x12\x1c\x63ometbft.services.version.v1\x1a*cometbft/services/version/v1/version.proto2\x81\x01\n\x0eVersionService\x12o\n\nGetVersion\x12/.cometbft.services.version.v1.GetVersionRequest\x1a\x30.cometbft.services.version.v1.GetVersionResponseB\x89\x02\n com.cometbft.services.version.v1B\x13VersionServiceProtoP\x01Z=github.com/cometbft/cometbft/api/cometbft/services/version/v1\xa2\x02\x03\x43SV\xaa\x02\x1c\x43ometbft.Services.Version.V1\xca\x02\x1c\x43ometbft\\Services\\Version\\V1\xe2\x02(Cometbft\\Services\\Version\\V1\\GPBMetadata\xea\x02\x1f\x43ometbft::Services::Version::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.services.version.v1.version_service_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.cometbft.services.version.v1B\023VersionServiceProtoP\001Z=github.com/cometbft/cometbft/api/cometbft/services/version/v1\242\002\003CSV\252\002\034Cometbft.Services.Version.V1\312\002\034Cometbft\\Services\\Version\\V1\342\002(Cometbft\\Services\\Version\\V1\\GPBMetadata\352\002\037Cometbft::Services::Version::V1' + _globals['_VERSIONSERVICE']._serialized_start=129 + _globals['_VERSIONSERVICE']._serialized_end=258 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/services/version/v1/version_service_pb2_grpc.py b/pyinjective/proto/cometbft/services/version/v1/version_service_pb2_grpc.py new file mode 100644 index 00000000..87e51ea6 --- /dev/null +++ b/pyinjective/proto/cometbft/services/version/v1/version_service_pb2_grpc.py @@ -0,0 +1,100 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.cometbft.services.version.v1 import version_pb2 as cometbft_dot_services_dot_version_dot_v1_dot_version__pb2 + + +class VersionServiceStub(object): + """VersionService simply provides version information about the node and the + protocols it uses. + + The intention with this service is to offer a stable interface through which + clients can access version information. This means that the version of the + service should be kept stable at v1, with GetVersionResponse evolving only + in non-breaking ways. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetVersion = channel.unary_unary( + '/cometbft.services.version.v1.VersionService/GetVersion', + request_serializer=cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionRequest.SerializeToString, + response_deserializer=cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionResponse.FromString, + _registered_method=True) + + +class VersionServiceServicer(object): + """VersionService simply provides version information about the node and the + protocols it uses. + + The intention with this service is to offer a stable interface through which + clients can access version information. This means that the version of the + service should be kept stable at v1, with GetVersionResponse evolving only + in non-breaking ways. + """ + + def GetVersion(self, request, context): + """GetVersion retrieves version information about the node and the protocols + it implements. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_VersionServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetVersion': grpc.unary_unary_rpc_method_handler( + servicer.GetVersion, + request_deserializer=cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionRequest.FromString, + response_serializer=cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cometbft.services.version.v1.VersionService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('cometbft.services.version.v1.VersionService', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class VersionService(object): + """VersionService simply provides version information about the node and the + protocols it uses. + + The intention with this service is to offer a stable interface through which + clients can access version information. This means that the version of the + service should be kept stable at v1, with GetVersionResponse evolving only + in non-breaking ways. + """ + + @staticmethod + def GetVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cometbft.services.version.v1.VersionService/GetVersion', + cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionRequest.SerializeToString, + cometbft_dot_services_dot_version_dot_v1_dot_version__pb2.GetVersionResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/cometbft/state/v1/types_pb2.py b/pyinjective/proto/cometbft/state/v1/types_pb2.py new file mode 100644 index 00000000..d965da71 --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1/types_pb2.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/state/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import validator_pb2 as cometbft_dot_types_dot_v1_dot_validator__pb2 +from pyinjective.proto.cometbft.version.v1 import types_pb2 as cometbft_dot_version_dot_v1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63ometbft/state/v1/types.proto\x12\x11\x63ometbft.state.v1\x1a\x1c\x63ometbft/abci/v1/types.proto\x1a\x1e\x63ometbft/types/v1/params.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a!cometbft/types/v1/validator.proto\x1a\x1f\x63ometbft/version/v1/types.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe0\x01\n\x13LegacyABCIResponses\x12?\n\x0b\x64\x65liver_txs\x18\x01 \x03(\x0b\x32\x1e.cometbft.abci.v1.ExecTxResultR\ndeliverTxs\x12@\n\tend_block\x18\x02 \x01(\x0b\x32#.cometbft.state.v1.ResponseEndBlockR\x08\x65ndBlock\x12\x46\n\x0b\x62\x65gin_block\x18\x03 \x01(\x0b\x32%.cometbft.state.v1.ResponseBeginBlockR\nbeginBlock\"_\n\x12ResponseBeginBlock\x12I\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\x8f\x02\n\x10ResponseEndBlock\x12T\n\x11validator_updates\x18\x01 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12Z\n\x17\x63onsensus_param_updates\x18\x02 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12I\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\x86\x01\n\x0eValidatorsInfo\x12\x44\n\rvalidator_set\x18\x01 \x01(\x0b\x32\x1f.cometbft.types.v1.ValidatorSetR\x0cvalidatorSet\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"\x9a\x01\n\x13\x43onsensusParamsInfo\x12S\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"\xd7\x01\n\x11\x41\x42\x43IResponsesInfo\x12Z\n\x15legacy_abci_responses\x18\x01 \x01(\x0b\x32&.cometbft.state.v1.LegacyABCIResponsesR\x13legacyAbciResponses\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12N\n\x0e\x66inalize_block\x18\x03 \x01(\x0b\x32\'.cometbft.abci.v1.FinalizeBlockResponseR\rfinalizeBlock\"i\n\x07Version\x12\x42\n\tconsensus\x18\x01 \x01(\x0b\x32\x1e.cometbft.version.v1.ConsensusB\x04\xc8\xde\x1f\x00R\tconsensus\x12\x1a\n\x08software\x18\x02 \x01(\tR\x08software\"\xe7\x06\n\x05State\x12:\n\x07version\x18\x01 \x01(\x0b\x32\x1a.cometbft.state.v1.VersionB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12%\n\x0einitial_height\x18\x0e \x01(\x03R\rinitialHeight\x12*\n\x11last_block_height\x18\x03 \x01(\x03R\x0flastBlockHeight\x12S\n\rlast_block_id\x18\x04 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x13\xc8\xde\x1f\x00\xe2\xde\x1f\x0bLastBlockIDR\x0blastBlockId\x12L\n\x0flast_block_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\rlastBlockTime\x12H\n\x0fnext_validators\x18\x06 \x01(\x0b\x32\x1f.cometbft.types.v1.ValidatorSetR\x0enextValidators\x12?\n\nvalidators\x18\x07 \x01(\x0b\x32\x1f.cometbft.types.v1.ValidatorSetR\nvalidators\x12H\n\x0flast_validators\x18\x08 \x01(\x0b\x32\x1f.cometbft.types.v1.ValidatorSetR\x0elastValidators\x12\x43\n\x1elast_height_validators_changed\x18\t \x01(\x03R\x1blastHeightValidatorsChanged\x12S\n\x10\x63onsensus_params\x18\n \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12N\n$last_height_consensus_params_changed\x18\x0b \x01(\x03R lastHeightConsensusParamsChanged\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12\x19\n\x08\x61pp_hash\x18\r \x01(\x0cR\x07\x61ppHashB\xbd\x01\n\x15\x63om.cometbft.state.v1B\nTypesProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/state/v1\xa2\x02\x03\x43SX\xaa\x02\x11\x43ometbft.State.V1\xca\x02\x11\x43ometbft\\State\\V1\xe2\x02\x1d\x43ometbft\\State\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::State::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.state.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.state.v1B\nTypesProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/state/v1\242\002\003CSX\252\002\021Cometbft.State.V1\312\002\021Cometbft\\State\\V1\342\002\035Cometbft\\State\\V1\\GPBMetadata\352\002\023Cometbft::State::V1' + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._loaded_options = None + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_VERSION'].fields_by_name['consensus']._loaded_options = None + _globals['_VERSION'].fields_by_name['consensus']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['version']._loaded_options = None + _globals['_STATE'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['chain_id']._loaded_options = None + _globals['_STATE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_STATE'].fields_by_name['last_block_id']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000\342\336\037\013LastBlockID' + _globals['_STATE'].fields_by_name['last_block_time']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_STATE'].fields_by_name['consensus_params']._loaded_options = None + _globals['_STATE'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_LEGACYABCIRESPONSES']._serialized_start=269 + _globals['_LEGACYABCIRESPONSES']._serialized_end=493 + _globals['_RESPONSEBEGINBLOCK']._serialized_start=495 + _globals['_RESPONSEBEGINBLOCK']._serialized_end=590 + _globals['_RESPONSEENDBLOCK']._serialized_start=593 + _globals['_RESPONSEENDBLOCK']._serialized_end=864 + _globals['_VALIDATORSINFO']._serialized_start=867 + _globals['_VALIDATORSINFO']._serialized_end=1001 + _globals['_CONSENSUSPARAMSINFO']._serialized_start=1004 + _globals['_CONSENSUSPARAMSINFO']._serialized_end=1158 + _globals['_ABCIRESPONSESINFO']._serialized_start=1161 + _globals['_ABCIRESPONSESINFO']._serialized_end=1376 + _globals['_VERSION']._serialized_start=1378 + _globals['_VERSION']._serialized_end=1483 + _globals['_STATE']._serialized_start=1486 + _globals['_STATE']._serialized_end=2357 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/state/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/state/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/state/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/state/v1beta1/types_pb2.py new file mode 100644 index 00000000..e2945666 --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta1/types_pb2.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/state/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import params_pb2 as cometbft_dot_types_dot_v1beta1_dot_params__pb2 +from pyinjective.proto.cometbft.version.v1 import types_pb2 as cometbft_dot_version_dot_v1_dot_types__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cometbft/state/v1beta1/types.proto\x12\x16\x63ometbft.state.v1beta1\x1a\x14gogoproto/gogo.proto\x1a!cometbft/abci/v1beta1/types.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a&cometbft/types/v1beta1/validator.proto\x1a#cometbft/types/v1beta1/params.proto\x1a\x1f\x63ometbft/version/v1/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xec\x01\n\rABCIResponses\x12I\n\x0b\x64\x65liver_txs\x18\x01 \x03(\x0b\x32(.cometbft.abci.v1beta1.ResponseDeliverTxR\ndeliverTxs\x12\x44\n\tend_block\x18\x02 \x01(\x0b\x32\'.cometbft.abci.v1beta1.ResponseEndBlockR\x08\x65ndBlock\x12J\n\x0b\x62\x65gin_block\x18\x03 \x01(\x0b\x32).cometbft.abci.v1beta1.ResponseBeginBlockR\nbeginBlock\"\x8b\x01\n\x0eValidatorsInfo\x12I\n\rvalidator_set\x18\x01 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0cvalidatorSet\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"\x9f\x01\n\x13\x43onsensusParamsInfo\x12X\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\'.cometbft.types.v1beta1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"y\n\x11\x41\x42\x43IResponsesInfo\x12L\n\x0e\x61\x62\x63i_responses\x18\x01 \x01(\x0b\x32%.cometbft.state.v1beta1.ABCIResponsesR\rabciResponses\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\"i\n\x07Version\x12\x42\n\tconsensus\x18\x01 \x01(\x0b\x32\x1e.cometbft.version.v1.ConsensusB\x04\xc8\xde\x1f\x00R\tconsensus\x12\x1a\n\x08software\x18\x02 \x01(\tR\x08software\"\x85\x07\n\x05State\x12?\n\x07version\x18\x01 \x01(\x0b\x32\x1f.cometbft.state.v1beta1.VersionB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12%\n\x0einitial_height\x18\x0e \x01(\x03R\rinitialHeight\x12*\n\x11last_block_height\x18\x03 \x01(\x03R\x0flastBlockHeight\x12X\n\rlast_block_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x13\xc8\xde\x1f\x00\xe2\xde\x1f\x0bLastBlockIDR\x0blastBlockId\x12L\n\x0flast_block_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\rlastBlockTime\x12M\n\x0fnext_validators\x18\x06 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0enextValidators\x12\x44\n\nvalidators\x18\x07 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\nvalidators\x12M\n\x0flast_validators\x18\x08 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0elastValidators\x12\x43\n\x1elast_height_validators_changed\x18\t \x01(\x03R\x1blastHeightValidatorsChanged\x12X\n\x10\x63onsensus_params\x18\n \x01(\x0b\x32\'.cometbft.types.v1beta1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12N\n$last_height_consensus_params_changed\x18\x0b \x01(\x03R lastHeightConsensusParamsChanged\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12\x19\n\x08\x61pp_hash\x18\r \x01(\x0cR\x07\x61ppHashB\xdb\x01\n\x1a\x63om.cometbft.state.v1beta1B\nTypesProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta1\xa2\x02\x03\x43SX\xaa\x02\x16\x43ometbft.State.V1beta1\xca\x02\x16\x43ometbft\\State\\V1beta1\xe2\x02\"Cometbft\\State\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::State::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.state.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.state.v1beta1B\nTypesProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta1\242\002\003CSX\252\002\026Cometbft.State.V1beta1\312\002\026Cometbft\\State\\V1beta1\342\002\"Cometbft\\State\\V1beta1\\GPBMetadata\352\002\030Cometbft::State::V1beta1' + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._loaded_options = None + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_VERSION'].fields_by_name['consensus']._loaded_options = None + _globals['_VERSION'].fields_by_name['consensus']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['version']._loaded_options = None + _globals['_STATE'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['chain_id']._loaded_options = None + _globals['_STATE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_STATE'].fields_by_name['last_block_id']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000\342\336\037\013LastBlockID' + _globals['_STATE'].fields_by_name['last_block_time']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_STATE'].fields_by_name['consensus_params']._loaded_options = None + _globals['_STATE'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_ABCIRESPONSES']._serialized_start=299 + _globals['_ABCIRESPONSES']._serialized_end=535 + _globals['_VALIDATORSINFO']._serialized_start=538 + _globals['_VALIDATORSINFO']._serialized_end=677 + _globals['_CONSENSUSPARAMSINFO']._serialized_start=680 + _globals['_CONSENSUSPARAMSINFO']._serialized_end=839 + _globals['_ABCIRESPONSESINFO']._serialized_start=841 + _globals['_ABCIRESPONSESINFO']._serialized_end=962 + _globals['_VERSION']._serialized_start=964 + _globals['_VERSION']._serialized_end=1069 + _globals['_STATE']._serialized_start=1072 + _globals['_STATE']._serialized_end=1973 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/state/v1beta1/types_pb2_grpc.py b/pyinjective/proto/cometbft/state/v1beta1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/state/v1beta2/types_pb2.py b/pyinjective/proto/cometbft/state/v1beta2/types_pb2.py new file mode 100644 index 00000000..01cc94a4 --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta2/types_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/state/v1beta2/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 +from pyinjective.proto.cometbft.state.v1beta1 import types_pb2 as cometbft_dot_state_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 +from pyinjective.proto.cometbft.types.v1beta2 import params_pb2 as cometbft_dot_types_dot_v1beta2_dot_params__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cometbft/state/v1beta2/types.proto\x12\x16\x63ometbft.state.v1beta2\x1a!cometbft/abci/v1beta2/types.proto\x1a\"cometbft/state/v1beta1/types.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a&cometbft/types/v1beta1/validator.proto\x1a#cometbft/types/v1beta2/params.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xec\x01\n\rABCIResponses\x12I\n\x0b\x64\x65liver_txs\x18\x01 \x03(\x0b\x32(.cometbft.abci.v1beta2.ResponseDeliverTxR\ndeliverTxs\x12\x44\n\tend_block\x18\x02 \x01(\x0b\x32\'.cometbft.abci.v1beta2.ResponseEndBlockR\x08\x65ndBlock\x12J\n\x0b\x62\x65gin_block\x18\x03 \x01(\x0b\x32).cometbft.abci.v1beta2.ResponseBeginBlockR\nbeginBlock\"\x9f\x01\n\x13\x43onsensusParamsInfo\x12X\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\'.cometbft.types.v1beta2.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"y\n\x11\x41\x42\x43IResponsesInfo\x12L\n\x0e\x61\x62\x63i_responses\x18\x01 \x01(\x0b\x32%.cometbft.state.v1beta2.ABCIResponsesR\rabciResponses\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\"\x85\x07\n\x05State\x12?\n\x07version\x18\x01 \x01(\x0b\x32\x1f.cometbft.state.v1beta1.VersionB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12%\n\x0einitial_height\x18\x0e \x01(\x03R\rinitialHeight\x12*\n\x11last_block_height\x18\x03 \x01(\x03R\x0flastBlockHeight\x12X\n\rlast_block_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x13\xc8\xde\x1f\x00\xe2\xde\x1f\x0bLastBlockIDR\x0blastBlockId\x12L\n\x0flast_block_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\rlastBlockTime\x12M\n\x0fnext_validators\x18\x06 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0enextValidators\x12\x44\n\nvalidators\x18\x07 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\nvalidators\x12M\n\x0flast_validators\x18\x08 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0elastValidators\x12\x43\n\x1elast_height_validators_changed\x18\t \x01(\x03R\x1blastHeightValidatorsChanged\x12X\n\x10\x63onsensus_params\x18\n \x01(\x0b\x32\'.cometbft.types.v1beta2.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12N\n$last_height_consensus_params_changed\x18\x0b \x01(\x03R lastHeightConsensusParamsChanged\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12\x19\n\x08\x61pp_hash\x18\r \x01(\x0cR\x07\x61ppHashB\xdb\x01\n\x1a\x63om.cometbft.state.v1beta2B\nTypesProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta2\xa2\x02\x03\x43SX\xaa\x02\x16\x43ometbft.State.V1beta2\xca\x02\x16\x43ometbft\\State\\V1beta2\xe2\x02\"Cometbft\\State\\V1beta2\\GPBMetadata\xea\x02\x18\x43ometbft::State::V1beta2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.state.v1beta2.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.state.v1beta2B\nTypesProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta2\242\002\003CSX\252\002\026Cometbft.State.V1beta2\312\002\026Cometbft\\State\\V1beta2\342\002\"Cometbft\\State\\V1beta2\\GPBMetadata\352\002\030Cometbft::State::V1beta2' + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._loaded_options = None + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['version']._loaded_options = None + _globals['_STATE'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['chain_id']._loaded_options = None + _globals['_STATE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_STATE'].fields_by_name['last_block_id']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000\342\336\037\013LastBlockID' + _globals['_STATE'].fields_by_name['last_block_time']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_STATE'].fields_by_name['consensus_params']._loaded_options = None + _globals['_STATE'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_ABCIRESPONSES']._serialized_start=302 + _globals['_ABCIRESPONSES']._serialized_end=538 + _globals['_CONSENSUSPARAMSINFO']._serialized_start=541 + _globals['_CONSENSUSPARAMSINFO']._serialized_end=700 + _globals['_ABCIRESPONSESINFO']._serialized_start=702 + _globals['_ABCIRESPONSESINFO']._serialized_end=823 + _globals['_STATE']._serialized_start=826 + _globals['_STATE']._serialized_end=1727 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/state/v1beta2/types_pb2_grpc.py b/pyinjective/proto/cometbft/state/v1beta2/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta2/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/state/v1beta3/types_pb2.py b/pyinjective/proto/cometbft/state/v1beta3/types_pb2.py new file mode 100644 index 00000000..846514da --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta3/types_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/state/v1beta3/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.state.v1beta1 import types_pb2 as cometbft_dot_state_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta1 import types_pb2 as cometbft_dot_abci_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta2 import types_pb2 as cometbft_dot_abci_dot_v1beta2_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1beta3 import types_pb2 as cometbft_dot_abci_dot_v1beta3_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cometbft/state/v1beta3/types.proto\x12\x16\x63ometbft.state.v1beta3\x1a\"cometbft/state/v1beta1/types.proto\x1a!cometbft/abci/v1beta1/types.proto\x1a!cometbft/abci/v1beta2/types.proto\x1a!cometbft/abci/v1beta3/types.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a&cometbft/types/v1beta1/validator.proto\x1a\x1e\x63ometbft/types/v1/params.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xef\x01\n\x13LegacyABCIResponses\x12\x44\n\x0b\x64\x65liver_txs\x18\x01 \x03(\x0b\x32#.cometbft.abci.v1beta3.ExecTxResultR\ndeliverTxs\x12\x45\n\tend_block\x18\x02 \x01(\x0b\x32(.cometbft.state.v1beta3.ResponseEndBlockR\x08\x65ndBlock\x12K\n\x0b\x62\x65gin_block\x18\x03 \x01(\x0b\x32*.cometbft.state.v1beta3.ResponseBeginBlockR\nbeginBlock\"d\n\x12ResponseBeginBlock\x12N\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\x99\x02\n\x10ResponseEndBlock\x12Y\n\x11validator_updates\x18\x01 \x03(\x0b\x32&.cometbft.abci.v1beta1.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12Z\n\x17\x63onsensus_param_updates\x18\x02 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x15\x63onsensusParamUpdates\x12N\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x1c.cometbft.abci.v1beta2.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\"\x9a\x01\n\x13\x43onsensusParamsInfo\x12S\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12.\n\x13last_height_changed\x18\x02 \x01(\x03R\x11lastHeightChanged\"\xf2\x01\n\x11\x41\x42\x43IResponsesInfo\x12_\n\x15legacy_abci_responses\x18\x01 \x01(\x0b\x32+.cometbft.state.v1beta3.LegacyABCIResponsesR\x13legacyAbciResponses\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x64\n\x17response_finalize_block\x18\x03 \x01(\x0b\x32,.cometbft.abci.v1beta3.ResponseFinalizeBlockR\x15responseFinalizeBlock\"\x80\x07\n\x05State\x12?\n\x07version\x18\x01 \x01(\x0b\x32\x1f.cometbft.state.v1beta1.VersionB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12%\n\x0einitial_height\x18\x0e \x01(\x03R\rinitialHeight\x12*\n\x11last_block_height\x18\x03 \x01(\x03R\x0flastBlockHeight\x12X\n\rlast_block_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x13\xc8\xde\x1f\x00\xe2\xde\x1f\x0bLastBlockIDR\x0blastBlockId\x12L\n\x0flast_block_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\rlastBlockTime\x12M\n\x0fnext_validators\x18\x06 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0enextValidators\x12\x44\n\nvalidators\x18\x07 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\nvalidators\x12M\n\x0flast_validators\x18\x08 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0elastValidators\x12\x43\n\x1elast_height_validators_changed\x18\t \x01(\x03R\x1blastHeightValidatorsChanged\x12S\n\x10\x63onsensus_params\x18\n \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusParams\x12N\n$last_height_consensus_params_changed\x18\x0b \x01(\x03R lastHeightConsensusParamsChanged\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12\x19\n\x08\x61pp_hash\x18\r \x01(\x0cR\x07\x61ppHashB\xdb\x01\n\x1a\x63om.cometbft.state.v1beta3B\nTypesProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta3\xa2\x02\x03\x43SX\xaa\x02\x16\x43ometbft.State.V1beta3\xca\x02\x16\x43ometbft\\State\\V1beta3\xe2\x02\"Cometbft\\State\\V1beta3\\GPBMetadata\xea\x02\x18\x43ometbft::State::V1beta3b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.state.v1beta3.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.state.v1beta3B\nTypesProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/state/v1beta3\242\002\003CSX\252\002\026Cometbft.State.V1beta3\312\002\026Cometbft\\State\\V1beta3\342\002\"Cometbft\\State\\V1beta3\\GPBMetadata\352\002\030Cometbft::State::V1beta3' + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEBEGINBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._loaded_options = None + _globals['_RESPONSEENDBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._loaded_options = None + _globals['_CONSENSUSPARAMSINFO'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['version']._loaded_options = None + _globals['_STATE'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_STATE'].fields_by_name['chain_id']._loaded_options = None + _globals['_STATE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_STATE'].fields_by_name['last_block_id']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000\342\336\037\013LastBlockID' + _globals['_STATE'].fields_by_name['last_block_time']._loaded_options = None + _globals['_STATE'].fields_by_name['last_block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_STATE'].fields_by_name['consensus_params']._loaded_options = None + _globals['_STATE'].fields_by_name['consensus_params']._serialized_options = b'\310\336\037\000' + _globals['_LEGACYABCIRESPONSES']._serialized_start=367 + _globals['_LEGACYABCIRESPONSES']._serialized_end=606 + _globals['_RESPONSEBEGINBLOCK']._serialized_start=608 + _globals['_RESPONSEBEGINBLOCK']._serialized_end=708 + _globals['_RESPONSEENDBLOCK']._serialized_start=711 + _globals['_RESPONSEENDBLOCK']._serialized_end=992 + _globals['_CONSENSUSPARAMSINFO']._serialized_start=995 + _globals['_CONSENSUSPARAMSINFO']._serialized_end=1149 + _globals['_ABCIRESPONSESINFO']._serialized_start=1152 + _globals['_ABCIRESPONSESINFO']._serialized_end=1394 + _globals['_STATE']._serialized_start=1397 + _globals['_STATE']._serialized_end=2293 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/state/v1beta3/types_pb2_grpc.py b/pyinjective/proto/cometbft/state/v1beta3/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/state/v1beta3/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/statesync/v1/types_pb2.py b/pyinjective/proto/cometbft/statesync/v1/types_pb2.py new file mode 100644 index 00000000..a6f48e2f --- /dev/null +++ b/pyinjective/proto/cometbft/statesync/v1/types_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/statesync/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/statesync/v1/types.proto\x12\x15\x63ometbft.statesync.v1\"\xde\x02\n\x07Message\x12V\n\x11snapshots_request\x18\x01 \x01(\x0b\x32\'.cometbft.statesync.v1.SnapshotsRequestH\x00R\x10snapshotsRequest\x12Y\n\x12snapshots_response\x18\x02 \x01(\x0b\x32(.cometbft.statesync.v1.SnapshotsResponseH\x00R\x11snapshotsResponse\x12J\n\rchunk_request\x18\x03 \x01(\x0b\x32#.cometbft.statesync.v1.ChunkRequestH\x00R\x0c\x63hunkRequest\x12M\n\x0e\x63hunk_response\x18\x04 \x01(\x0b\x32$.cometbft.statesync.v1.ChunkResponseH\x00R\rchunkResponseB\x05\n\x03sum\"\x12\n\x10SnapshotsRequest\"\x8b\x01\n\x11SnapshotsResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x16\n\x06\x63hunks\x18\x03 \x01(\rR\x06\x63hunks\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x1a\n\x08metadata\x18\x05 \x01(\x0cR\x08metadata\"T\n\x0c\x43hunkRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\"\x85\x01\n\rChunkResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x14\n\x05\x63hunk\x18\x04 \x01(\x0cR\x05\x63hunk\x12\x18\n\x07missing\x18\x05 \x01(\x08R\x07missingB\xd5\x01\n\x19\x63om.cometbft.statesync.v1B\nTypesProtoP\x01Z6github.com/cometbft/cometbft/api/cometbft/statesync/v1\xa2\x02\x03\x43SX\xaa\x02\x15\x43ometbft.Statesync.V1\xca\x02\x15\x43ometbft\\Statesync\\V1\xe2\x02!Cometbft\\Statesync\\V1\\GPBMetadata\xea\x02\x17\x43ometbft::Statesync::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.statesync.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.cometbft.statesync.v1B\nTypesProtoP\001Z6github.com/cometbft/cometbft/api/cometbft/statesync/v1\242\002\003CSX\252\002\025Cometbft.Statesync.V1\312\002\025Cometbft\\Statesync\\V1\342\002!Cometbft\\Statesync\\V1\\GPBMetadata\352\002\027Cometbft::Statesync::V1' + _globals['_MESSAGE']._serialized_start=61 + _globals['_MESSAGE']._serialized_end=411 + _globals['_SNAPSHOTSREQUEST']._serialized_start=413 + _globals['_SNAPSHOTSREQUEST']._serialized_end=431 + _globals['_SNAPSHOTSRESPONSE']._serialized_start=434 + _globals['_SNAPSHOTSRESPONSE']._serialized_end=573 + _globals['_CHUNKREQUEST']._serialized_start=575 + _globals['_CHUNKREQUEST']._serialized_end=659 + _globals['_CHUNKRESPONSE']._serialized_start=662 + _globals['_CHUNKRESPONSE']._serialized_end=795 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/statesync/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/statesync/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/statesync/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/store/v1/types_pb2.py b/pyinjective/proto/cometbft/store/v1/types_pb2.py new file mode 100644 index 00000000..9ea9ff33 --- /dev/null +++ b/pyinjective/proto/cometbft/store/v1/types_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/store/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63ometbft/store/v1/types.proto\x12\x11\x63ometbft.store.v1\"=\n\x0f\x42lockStoreState\x12\x12\n\x04\x62\x61se\x18\x01 \x01(\x03R\x04\x62\x61se\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06heightB\xbd\x01\n\x15\x63om.cometbft.store.v1B\nTypesProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/store/v1\xa2\x02\x03\x43SX\xaa\x02\x11\x43ometbft.Store.V1\xca\x02\x11\x43ometbft\\Store\\V1\xe2\x02\x1d\x43ometbft\\Store\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Store::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.store.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.store.v1B\nTypesProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/store/v1\242\002\003CSX\252\002\021Cometbft.Store.V1\312\002\021Cometbft\\Store\\V1\342\002\035Cometbft\\Store\\V1\\GPBMetadata\352\002\023Cometbft::Store::V1' + _globals['_BLOCKSTORESTATE']._serialized_start=52 + _globals['_BLOCKSTORESTATE']._serialized_end=113 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/store/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/store/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/store/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/block_pb2.py b/pyinjective/proto/cometbft/types/v1/block_pb2.py new file mode 100644 index 00000000..968be6db --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/block_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/block.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import evidence_pb2 as cometbft_dot_types_dot_v1_dot_evidence__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63ometbft/types/v1/block.proto\x12\x11\x63ometbft.types.v1\x1a\x1d\x63ometbft/types/v1/types.proto\x1a cometbft/types/v1/evidence.proto\x1a\x14gogoproto/gogo.proto\"\xf2\x01\n\x05\x42lock\x12\x37\n\x06header\x18\x01 \x01(\x0b\x32\x19.cometbft.types.v1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.cometbft.types.v1.DataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta\x12\x41\n\x08\x65vidence\x18\x03 \x01(\x0b\x32\x1f.cometbft.types.v1.EvidenceListB\x04\xc8\xde\x1f\x00R\x08\x65vidence\x12:\n\x0blast_commit\x18\x04 \x01(\x0b\x32\x19.cometbft.types.v1.CommitR\nlastCommitB\xbd\x01\n\x15\x63om.cometbft.types.v1B\nBlockProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.block_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\nBlockProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_BLOCK'].fields_by_name['header']._loaded_options = None + _globals['_BLOCK'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK'].fields_by_name['data']._loaded_options = None + _globals['_BLOCK'].fields_by_name['data']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK'].fields_by_name['evidence']._loaded_options = None + _globals['_BLOCK'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK']._serialized_start=140 + _globals['_BLOCK']._serialized_end=382 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/block_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/block_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/block_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/canonical_pb2.py b/pyinjective/proto/cometbft/types/v1/canonical_pb2.py new file mode 100644 index 00000000..ab046551 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/canonical_pb2.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/canonical.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/types/v1/canonical.proto\x12\x11\x63ometbft.types.v1\x1a\x14gogoproto/gogo.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x7f\n\x10\x43\x61nonicalBlockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12W\n\x0fpart_set_header\x18\x02 \x01(\x0b\x32).cometbft.types.v1.CanonicalPartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"B\n\x16\x43\x61nonicalPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"\xdb\x02\n\x11\x43\x61nonicalProposal\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x10R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x10R\x05round\x12)\n\tpol_round\x18\x04 \x01(\x03\x42\x0c\xe2\xde\x1f\x08POLRoundR\x08polRound\x12K\n\x08\x62lock_id\x18\x05 \x01(\x0b\x32#.cometbft.types.v1.CanonicalBlockIDB\x0b\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12&\n\x08\x63hain_id\x18\x07 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\"\xac\x02\n\rCanonicalVote\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x10R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x10R\x05round\x12K\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32#.cometbft.types.v1.CanonicalBlockIDB\x0b\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12&\n\x08\x63hain_id\x18\x06 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\"\x7f\n\x16\x43\x61nonicalVoteExtension\x12\x1c\n\textension\x18\x01 \x01(\x0cR\textension\x12\x16\n\x06height\x18\x02 \x01(\x10R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x10R\x05round\x12\x19\n\x08\x63hain_id\x18\x04 \x01(\tR\x07\x63hainIdB\xc1\x01\n\x15\x63om.cometbft.types.v1B\x0e\x43\x61nonicalProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.canonical_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\016CanonicalProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_CANONICALBLOCKID'].fields_by_name['part_set_header']._loaded_options = None + _globals['_CANONICALBLOCKID'].fields_by_name['part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_CANONICALPROPOSAL'].fields_by_name['pol_round']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['pol_round']._serialized_options = b'\342\336\037\010POLRound' + _globals['_CANONICALPROPOSAL'].fields_by_name['block_id']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['block_id']._serialized_options = b'\342\336\037\007BlockID' + _globals['_CANONICALPROPOSAL'].fields_by_name['timestamp']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CANONICALPROPOSAL'].fields_by_name['chain_id']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_CANONICALVOTE'].fields_by_name['block_id']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['block_id']._serialized_options = b'\342\336\037\007BlockID' + _globals['_CANONICALVOTE'].fields_by_name['timestamp']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CANONICALVOTE'].fields_by_name['chain_id']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_CANONICALBLOCKID']._serialized_start=142 + _globals['_CANONICALBLOCKID']._serialized_end=269 + _globals['_CANONICALPARTSETHEADER']._serialized_start=271 + _globals['_CANONICALPARTSETHEADER']._serialized_end=337 + _globals['_CANONICALPROPOSAL']._serialized_start=340 + _globals['_CANONICALPROPOSAL']._serialized_end=687 + _globals['_CANONICALVOTE']._serialized_start=690 + _globals['_CANONICALVOTE']._serialized_end=990 + _globals['_CANONICALVOTEEXTENSION']._serialized_start=992 + _globals['_CANONICALVOTEEXTENSION']._serialized_end=1119 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/canonical_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/canonical_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/canonical_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/events_pb2.py b/pyinjective/proto/cometbft/types/v1/events_pb2.py new file mode 100644 index 00000000..65400f94 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/events_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/events.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63ometbft/types/v1/events.proto\x12\x11\x63ometbft.types.v1\"W\n\x13\x45ventDataRoundState\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x03 \x01(\tR\x04stepB\xbe\x01\n\x15\x63om.cometbft.types.v1B\x0b\x45ventsProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\013EventsProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_EVENTDATAROUNDSTATE']._serialized_start=53 + _globals['_EVENTDATAROUNDSTATE']._serialized_end=140 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/events_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/events_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/events_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/evidence_pb2.py b/pyinjective/proto/cometbft/types/v1/evidence_pb2.py new file mode 100644 index 00000000..78e2f312 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/evidence_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/evidence.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import validator_pb2 as cometbft_dot_types_dot_v1_dot_validator__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n cometbft/types/v1/evidence.proto\x12\x11\x63ometbft.types.v1\x1a\x1d\x63ometbft/types/v1/types.proto\x1a!cometbft/types/v1/validator.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe6\x01\n\x08\x45vidence\x12\x62\n\x17\x64uplicate_vote_evidence\x18\x01 \x01(\x0b\x32(.cometbft.types.v1.DuplicateVoteEvidenceH\x00R\x15\x64uplicateVoteEvidence\x12o\n\x1clight_client_attack_evidence\x18\x02 \x01(\x0b\x32,.cometbft.types.v1.LightClientAttackEvidenceH\x00R\x19lightClientAttackEvidenceB\x05\n\x03sum\"\x92\x02\n\x15\x44uplicateVoteEvidence\x12.\n\x06vote_a\x18\x01 \x01(\x0b\x32\x17.cometbft.types.v1.VoteR\x05voteA\x12.\n\x06vote_b\x18\x02 \x01(\x0b\x32\x17.cometbft.types.v1.VoteR\x05voteB\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\x12\'\n\x0fvalidator_power\x18\x04 \x01(\x03R\x0evalidatorPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"\xcf\x02\n\x19LightClientAttackEvidence\x12J\n\x11\x63onflicting_block\x18\x01 \x01(\x0b\x32\x1d.cometbft.types.v1.LightBlockR\x10\x63onflictingBlock\x12#\n\rcommon_height\x18\x02 \x01(\x03R\x0c\x63ommonHeight\x12O\n\x14\x62yzantine_validators\x18\x03 \x03(\x0b\x32\x1c.cometbft.types.v1.ValidatorR\x13\x62yzantineValidators\x12,\n\x12total_voting_power\x18\x04 \x01(\x03R\x10totalVotingPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"M\n\x0c\x45videnceList\x12=\n\x08\x65vidence\x18\x01 \x03(\x0b\x32\x1b.cometbft.types.v1.EvidenceB\x04\xc8\xde\x1f\x00R\x08\x65videnceB\xc0\x01\n\x15\x63om.cometbft.types.v1B\rEvidenceProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.evidence_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\rEvidenceProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._loaded_options = None + _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._loaded_options = None + _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_EVIDENCELIST'].fields_by_name['evidence']._loaded_options = None + _globals['_EVIDENCELIST'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' + _globals['_EVIDENCE']._serialized_start=177 + _globals['_EVIDENCE']._serialized_end=407 + _globals['_DUPLICATEVOTEEVIDENCE']._serialized_start=410 + _globals['_DUPLICATEVOTEEVIDENCE']._serialized_end=684 + _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_start=687 + _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_end=1022 + _globals['_EVIDENCELIST']._serialized_start=1024 + _globals['_EVIDENCELIST']._serialized_end=1101 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/evidence_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/evidence_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/evidence_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/params_pb2.py b/pyinjective/proto/cometbft/types/v1/params_pb2.py new file mode 100644 index 00000000..0d9f245c --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/params_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/params.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x63ometbft/types/v1/params.proto\x12\x11\x63ometbft.types.v1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb9\x03\n\x0f\x43onsensusParams\x12\x34\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x1e.cometbft.types.v1.BlockParamsR\x05\x62lock\x12=\n\x08\x65vidence\x18\x02 \x01(\x0b\x32!.cometbft.types.v1.EvidenceParamsR\x08\x65vidence\x12@\n\tvalidator\x18\x03 \x01(\x0b\x32\".cometbft.types.v1.ValidatorParamsR\tvalidator\x12:\n\x07version\x18\x04 \x01(\x0b\x32 .cometbft.types.v1.VersionParamsR\x07version\x12\x35\n\x04\x61\x62\x63i\x18\x05 \x01(\x0b\x32\x1d.cometbft.types.v1.ABCIParamsB\x02\x18\x01R\x04\x61\x62\x63i\x12@\n\tsynchrony\x18\x06 \x01(\x0b\x32\".cometbft.types.v1.SynchronyParamsR\tsynchrony\x12:\n\x07\x66\x65\x61ture\x18\x07 \x01(\x0b\x32 .cometbft.types.v1.FeatureParamsR\x07\x66\x65\x61ture\"I\n\x0b\x42lockParams\x12\x1b\n\tmax_bytes\x18\x01 \x01(\x03R\x08maxBytes\x12\x17\n\x07max_gas\x18\x02 \x01(\x03R\x06maxGasJ\x04\x08\x03\x10\x04\"\xa9\x01\n\x0e\x45videnceParams\x12+\n\x12max_age_num_blocks\x18\x01 \x01(\x03R\x0fmaxAgeNumBlocks\x12M\n\x10max_age_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01R\x0emaxAgeDuration\x12\x1b\n\tmax_bytes\x18\x03 \x01(\x03R\x08maxBytes\"?\n\x0fValidatorParams\x12\"\n\rpub_key_types\x18\x01 \x03(\tR\x0bpubKeyTypes:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"+\n\rVersionParams\x12\x10\n\x03\x61pp\x18\x01 \x01(\x04R\x03\x61pp:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"Z\n\x0cHashedParams\x12&\n\x0f\x62lock_max_bytes\x18\x01 \x01(\x03R\rblockMaxBytes\x12\"\n\rblock_max_gas\x18\x02 \x01(\x03R\x0b\x62lockMaxGas\"\x96\x01\n\x0fSynchronyParams\x12=\n\tprecision\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01R\tprecision\x12\x44\n\rmessage_delay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01R\x0cmessageDelay\"\xc6\x01\n\rFeatureParams\x12\x64\n\x1dvote_extensions_enable_height\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x04\xc8\xde\x1f\x01R\x1avoteExtensionsEnableHeight\x12O\n\x12pbts_enable_height\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x04\xc8\xde\x1f\x01R\x10pbtsEnableHeight\"S\n\nABCIParams\x12\x41\n\x1dvote_extensions_enable_height\x18\x01 \x01(\x03R\x1avoteExtensionsEnableHeight:\x02\x18\x01\x42\xc2\x01\n\x15\x63om.cometbft.types.v1B\x0bParamsProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1\xa8\xe2\x1e\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\013ParamsProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1\250\342\036\001' + _globals['_CONSENSUSPARAMS'].fields_by_name['abci']._loaded_options = None + _globals['_CONSENSUSPARAMS'].fields_by_name['abci']._serialized_options = b'\030\001' + _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._loaded_options = None + _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._serialized_options = b'\310\336\037\000\230\337\037\001' + _globals['_VALIDATORPARAMS']._loaded_options = None + _globals['_VALIDATORPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' + _globals['_VERSIONPARAMS']._loaded_options = None + _globals['_VERSIONPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' + _globals['_SYNCHRONYPARAMS'].fields_by_name['precision']._loaded_options = None + _globals['_SYNCHRONYPARAMS'].fields_by_name['precision']._serialized_options = b'\230\337\037\001' + _globals['_SYNCHRONYPARAMS'].fields_by_name['message_delay']._loaded_options = None + _globals['_SYNCHRONYPARAMS'].fields_by_name['message_delay']._serialized_options = b'\230\337\037\001' + _globals['_FEATUREPARAMS'].fields_by_name['vote_extensions_enable_height']._loaded_options = None + _globals['_FEATUREPARAMS'].fields_by_name['vote_extensions_enable_height']._serialized_options = b'\310\336\037\001' + _globals['_FEATUREPARAMS'].fields_by_name['pbts_enable_height']._loaded_options = None + _globals['_FEATUREPARAMS'].fields_by_name['pbts_enable_height']._serialized_options = b'\310\336\037\001' + _globals['_ABCIPARAMS']._loaded_options = None + _globals['_ABCIPARAMS']._serialized_options = b'\030\001' + _globals['_CONSENSUSPARAMS']._serialized_start=140 + _globals['_CONSENSUSPARAMS']._serialized_end=581 + _globals['_BLOCKPARAMS']._serialized_start=583 + _globals['_BLOCKPARAMS']._serialized_end=656 + _globals['_EVIDENCEPARAMS']._serialized_start=659 + _globals['_EVIDENCEPARAMS']._serialized_end=828 + _globals['_VALIDATORPARAMS']._serialized_start=830 + _globals['_VALIDATORPARAMS']._serialized_end=893 + _globals['_VERSIONPARAMS']._serialized_start=895 + _globals['_VERSIONPARAMS']._serialized_end=938 + _globals['_HASHEDPARAMS']._serialized_start=940 + _globals['_HASHEDPARAMS']._serialized_end=1030 + _globals['_SYNCHRONYPARAMS']._serialized_start=1033 + _globals['_SYNCHRONYPARAMS']._serialized_end=1183 + _globals['_FEATUREPARAMS']._serialized_start=1186 + _globals['_FEATUREPARAMS']._serialized_end=1384 + _globals['_ABCIPARAMS']._serialized_start=1386 + _globals['_ABCIPARAMS']._serialized_end=1469 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/params_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/params_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/params_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/types_pb2.py b/pyinjective/proto/cometbft/types/v1/types_pb2.py new file mode 100644 index 00000000..4a101f49 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/types_pb2.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import proof_pb2 as cometbft_dot_crypto_dot_v1_dot_proof__pb2 +from pyinjective.proto.cometbft.types.v1 import validator_pb2 as cometbft_dot_types_dot_v1_dot_validator__pb2 +from pyinjective.proto.cometbft.version.v1 import types_pb2 as cometbft_dot_version_dot_v1_dot_types__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63ometbft/types/v1/types.proto\x12\x11\x63ometbft.types.v1\x1a\x1e\x63ometbft/crypto/v1/proof.proto\x1a!cometbft/types/v1/validator.proto\x1a\x1f\x63ometbft/version/v1/types.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"9\n\rPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"i\n\x04Part\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x62ytes\x18\x02 \x01(\x0cR\x05\x62ytes\x12\x35\n\x05proof\x18\x03 \x01(\x0b\x32\x19.cometbft.crypto.v1.ProofB\x04\xc8\xde\x1f\x00R\x05proof\"m\n\x07\x42lockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12N\n\x0fpart_set_header\x18\x02 \x01(\x0b\x32 .cometbft.types.v1.PartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"\xe8\x04\n\x06Header\x12>\n\x07version\x18\x01 \x01(\x0b\x32\x1e.cometbft.version.v1.ConsensusB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x44\n\rlast_block_id\x18\x05 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x04\xc8\xde\x1f\x00R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08\x64\x61taHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x12\x30\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0e\x63onsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08\x61pp_hash\x18\x0b \x01(\x0cR\x07\x61ppHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0c\x65videnceHash\x12)\n\x10proposer_address\x18\x0e \x01(\x0cR\x0fproposerAddress\"\x18\n\x04\x44\x61ta\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xb9\x03\n\x04Vote\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x46\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12+\n\x11validator_address\x18\x06 \x01(\x0cR\x10validatorAddress\x12\'\n\x0fvalidator_index\x18\x07 \x01(\x05R\x0evalidatorIndex\x12\x1c\n\tsignature\x18\x08 \x01(\x0cR\tsignature\x12\x1c\n\textension\x18\t \x01(\x0cR\textension\x12/\n\x13\x65xtension_signature\x18\n \x01(\x0cR\x12\x65xtensionSignature\"\xc2\x01\n\x06\x43ommit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x46\n\x08\x62lock_id\x18\x03 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\nsignatures\x18\x04 \x03(\x0b\x32\x1c.cometbft.types.v1.CommitSigB\x04\xc8\xde\x1f\x00R\nsignatures\"\xde\x01\n\tCommitSig\x12\x42\n\rblock_id_flag\x18\x01 \x01(\x0e\x32\x1e.cometbft.types.v1.BlockIDFlagR\x0b\x62lockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x42\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\"\xe3\x01\n\x0e\x45xtendedCommit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x46\n\x08\x62lock_id\x18\x03 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12[\n\x13\x65xtended_signatures\x18\x04 \x03(\x0b\x32$.cometbft.types.v1.ExtendedCommitSigB\x04\xc8\xde\x1f\x00R\x12\x65xtendedSignatures\"\xb5\x02\n\x11\x45xtendedCommitSig\x12\x42\n\rblock_id_flag\x18\x01 \x01(\x0e\x32\x1e.cometbft.types.v1.BlockIDFlagR\x0b\x62lockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x42\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\x12\x1c\n\textension\x18\x05 \x01(\x0cR\textension\x12/\n\x13\x65xtension_signature\x18\x06 \x01(\x0cR\x12\x65xtensionSignature\"\xb5\x02\n\x08Proposal\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32 .cometbft.types.v1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x1b\n\tpol_round\x18\x04 \x01(\x05R\x08polRound\x12\x46\n\x08\x62lock_id\x18\x05 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x07 \x01(\x0cR\tsignature\"t\n\x0cSignedHeader\x12\x31\n\x06header\x18\x01 \x01(\x0b\x32\x19.cometbft.types.v1.HeaderR\x06header\x12\x31\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x19.cometbft.types.v1.CommitR\x06\x63ommit\"\x98\x01\n\nLightBlock\x12\x44\n\rsigned_header\x18\x01 \x01(\x0b\x32\x1f.cometbft.types.v1.SignedHeaderR\x0csignedHeader\x12\x44\n\rvalidator_set\x18\x02 \x01(\x0b\x32\x1f.cometbft.types.v1.ValidatorSetR\x0cvalidatorSet\"\xc4\x01\n\tBlockMeta\x12\x46\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x1d\n\nblock_size\x18\x02 \x01(\x03R\tblockSize\x12\x37\n\x06header\x18\x03 \x01(\x0b\x32\x19.cometbft.types.v1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x17\n\x07num_txs\x18\x04 \x01(\x03R\x06numTxs\"k\n\x07TxProof\x12\x1b\n\troot_hash\x18\x01 \x01(\x0cR\x08rootHash\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12/\n\x05proof\x18\x03 \x01(\x0b\x32\x19.cometbft.crypto.v1.ProofR\x05proof*\xd7\x01\n\rSignedMsgType\x12,\n\x17SIGNED_MSG_TYPE_UNKNOWN\x10\x00\x1a\x0f\x8a\x9d \x0bUnknownType\x12,\n\x17SIGNED_MSG_TYPE_PREVOTE\x10\x01\x1a\x0f\x8a\x9d \x0bPrevoteType\x12\x30\n\x19SIGNED_MSG_TYPE_PRECOMMIT\x10\x02\x1a\x11\x8a\x9d \rPrecommitType\x12.\n\x18SIGNED_MSG_TYPE_PROPOSAL\x10 \x1a\x10\x8a\x9d \x0cProposalType\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xbd\x01\n\x15\x63om.cometbft.types.v1B\nTypesProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\nTypesProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_SIGNEDMSGTYPE']._loaded_options = None + _globals['_SIGNEDMSGTYPE']._serialized_options = b'\210\243\036\000\250\244\036\001' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._serialized_options = b'\212\235 \013UnknownType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._serialized_options = b'\212\235 \013PrevoteType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._serialized_options = b'\212\235 \rPrecommitType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._serialized_options = b'\212\235 \014ProposalType' + _globals['_PART'].fields_by_name['proof']._loaded_options = None + _globals['_PART'].fields_by_name['proof']._serialized_options = b'\310\336\037\000' + _globals['_BLOCKID'].fields_by_name['part_set_header']._loaded_options = None + _globals['_BLOCKID'].fields_by_name['part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_HEADER'].fields_by_name['version']._loaded_options = None + _globals['_HEADER'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_HEADER'].fields_by_name['chain_id']._loaded_options = None + _globals['_HEADER'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_HEADER'].fields_by_name['time']._loaded_options = None + _globals['_HEADER'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_HEADER'].fields_by_name['last_block_id']._loaded_options = None + _globals['_HEADER'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000' + _globals['_VOTE'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTE'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTE'].fields_by_name['timestamp']._loaded_options = None + _globals['_VOTE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_COMMIT'].fields_by_name['block_id']._loaded_options = None + _globals['_COMMIT'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_COMMIT'].fields_by_name['signatures']._loaded_options = None + _globals['_COMMIT'].fields_by_name['signatures']._serialized_options = b'\310\336\037\000' + _globals['_COMMITSIG'].fields_by_name['timestamp']._loaded_options = None + _globals['_COMMITSIG'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_EXTENDEDCOMMIT'].fields_by_name['block_id']._loaded_options = None + _globals['_EXTENDEDCOMMIT'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_EXTENDEDCOMMIT'].fields_by_name['extended_signatures']._loaded_options = None + _globals['_EXTENDEDCOMMIT'].fields_by_name['extended_signatures']._serialized_options = b'\310\336\037\000' + _globals['_EXTENDEDCOMMITSIG'].fields_by_name['timestamp']._loaded_options = None + _globals['_EXTENDEDCOMMITSIG'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_PROPOSAL'].fields_by_name['block_id']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_PROPOSAL'].fields_by_name['timestamp']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_BLOCKMETA'].fields_by_name['block_id']._loaded_options = None + _globals['_BLOCKMETA'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_BLOCKMETA'].fields_by_name['header']._loaded_options = None + _globals['_BLOCKMETA'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDMSGTYPE']._serialized_start=3431 + _globals['_SIGNEDMSGTYPE']._serialized_end=3646 + _globals['_PARTSETHEADER']._serialized_start=207 + _globals['_PARTSETHEADER']._serialized_end=264 + _globals['_PART']._serialized_start=266 + _globals['_PART']._serialized_end=371 + _globals['_BLOCKID']._serialized_start=373 + _globals['_BLOCKID']._serialized_end=482 + _globals['_HEADER']._serialized_start=485 + _globals['_HEADER']._serialized_end=1101 + _globals['_DATA']._serialized_start=1103 + _globals['_DATA']._serialized_end=1127 + _globals['_VOTE']._serialized_start=1130 + _globals['_VOTE']._serialized_end=1571 + _globals['_COMMIT']._serialized_start=1574 + _globals['_COMMIT']._serialized_end=1768 + _globals['_COMMITSIG']._serialized_start=1771 + _globals['_COMMITSIG']._serialized_end=1993 + _globals['_EXTENDEDCOMMIT']._serialized_start=1996 + _globals['_EXTENDEDCOMMIT']._serialized_end=2223 + _globals['_EXTENDEDCOMMITSIG']._serialized_start=2226 + _globals['_EXTENDEDCOMMITSIG']._serialized_end=2535 + _globals['_PROPOSAL']._serialized_start=2538 + _globals['_PROPOSAL']._serialized_end=2847 + _globals['_SIGNEDHEADER']._serialized_start=2849 + _globals['_SIGNEDHEADER']._serialized_end=2965 + _globals['_LIGHTBLOCK']._serialized_start=2968 + _globals['_LIGHTBLOCK']._serialized_end=3120 + _globals['_BLOCKMETA']._serialized_start=3123 + _globals['_BLOCKMETA']._serialized_end=3319 + _globals['_TXPROOF']._serialized_start=3321 + _globals['_TXPROOF']._serialized_end=3428 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1/validator_pb2.py b/pyinjective/proto/cometbft/types/v1/validator_pb2.py new file mode 100644 index 00000000..a575893b --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/validator_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1/validator.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!cometbft/types/v1/validator.proto\x12\x11\x63ometbft.types.v1\x1a\x1d\x63ometbft/crypto/v1/keys.proto\x1a\x14gogoproto/gogo.proto\"\xb4\x01\n\x0cValidatorSet\x12<\n\nvalidators\x18\x01 \x03(\x0b\x32\x1c.cometbft.types.v1.ValidatorR\nvalidators\x12\x38\n\x08proposer\x18\x02 \x01(\x0b\x32\x1c.cometbft.types.v1.ValidatorR\x08proposer\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\"\xf7\x01\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12:\n\x07pub_key\x18\x02 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x02\x18\x01R\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\x12\"\n\rpub_key_bytes\x18\x05 \x01(\x0cR\x0bpubKeyBytes\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\"l\n\x0fSimpleValidator\x12\x36\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyR\x06pubKey\x12!\n\x0cvoting_power\x18\x02 \x01(\x03R\x0bvotingPower*\xd7\x01\n\x0b\x42lockIDFlag\x12\x31\n\x15\x42LOCK_ID_FLAG_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12\x42lockIDFlagUnknown\x12/\n\x14\x42LOCK_ID_FLAG_ABSENT\x10\x01\x1a\x15\x8a\x9d \x11\x42lockIDFlagAbsent\x12/\n\x14\x42LOCK_ID_FLAG_COMMIT\x10\x02\x1a\x15\x8a\x9d \x11\x42lockIDFlagCommit\x12)\n\x11\x42LOCK_ID_FLAG_NIL\x10\x03\x1a\x12\x8a\x9d \x0e\x42lockIDFlagNil\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xc1\x01\n\x15\x63om.cometbft.types.v1B\x0eValidatorProtoP\x01Z2github.com/cometbft/cometbft/api/cometbft/types/v1\xa2\x02\x03\x43TX\xaa\x02\x11\x43ometbft.Types.V1\xca\x02\x11\x43ometbft\\Types\\V1\xe2\x02\x1d\x43ometbft\\Types\\V1\\GPBMetadata\xea\x02\x13\x43ometbft::Types::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1.validator_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.cometbft.types.v1B\016ValidatorProtoP\001Z2github.com/cometbft/cometbft/api/cometbft/types/v1\242\002\003CTX\252\002\021Cometbft.Types.V1\312\002\021Cometbft\\Types\\V1\342\002\035Cometbft\\Types\\V1\\GPBMetadata\352\002\023Cometbft::Types::V1' + _globals['_BLOCKIDFLAG']._loaded_options = None + _globals['_BLOCKIDFLAG']._serialized_options = b'\210\243\036\000\250\244\036\001' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._serialized_options = b'\212\235 \022BlockIDFlagUnknown' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._serialized_options = b'\212\235 \021BlockIDFlagAbsent' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._serialized_options = b'\212\235 \021BlockIDFlagCommit' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._serialized_options = b'\212\235 \016BlockIDFlagNil' + _globals['_VALIDATOR'].fields_by_name['pub_key']._loaded_options = None + _globals['_VALIDATOR'].fields_by_name['pub_key']._serialized_options = b'\030\001' + _globals['_BLOCKIDFLAG']._serialized_start=653 + _globals['_BLOCKIDFLAG']._serialized_end=868 + _globals['_VALIDATORSET']._serialized_start=110 + _globals['_VALIDATORSET']._serialized_end=290 + _globals['_VALIDATOR']._serialized_start=293 + _globals['_VALIDATOR']._serialized_end=540 + _globals['_SIMPLEVALIDATOR']._serialized_start=542 + _globals['_SIMPLEVALIDATOR']._serialized_end=650 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1/validator_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1/validator_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1/validator_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/block_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/block_pb2.py new file mode 100644 index 00000000..3428c88f --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/block_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/block.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import evidence_pb2 as cometbft_dot_types_dot_v1beta1_dot_evidence__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cometbft/types/v1beta1/block.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a%cometbft/types/v1beta1/evidence.proto\"\x86\x02\n\x05\x42lock\x12<\n\x06header\x18\x01 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.DataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta\x12\x46\n\x08\x65vidence\x18\x03 \x01(\x0b\x32$.cometbft.types.v1beta1.EvidenceListB\x04\xc8\xde\x1f\x00R\x08\x65vidence\x12?\n\x0blast_commit\x18\x04 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.CommitR\nlastCommitB\xdb\x01\n\x1a\x63om.cometbft.types.v1beta1B\nBlockProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.block_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\nBlockProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_BLOCK'].fields_by_name['header']._loaded_options = None + _globals['_BLOCK'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK'].fields_by_name['data']._loaded_options = None + _globals['_BLOCK'].fields_by_name['data']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK'].fields_by_name['evidence']._loaded_options = None + _globals['_BLOCK'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' + _globals['_BLOCK']._serialized_start=160 + _globals['_BLOCK']._serialized_end=422 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/block_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/block_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/block_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2.py new file mode 100644 index 00000000..22580051 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/canonical.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cometbft/types/v1beta1/canonical.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x84\x01\n\x10\x43\x61nonicalBlockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\\\n\x0fpart_set_header\x18\x02 \x01(\x0b\x32..cometbft.types.v1beta1.CanonicalPartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"B\n\x16\x43\x61nonicalPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"\xe5\x02\n\x11\x43\x61nonicalProposal\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x10R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x10R\x05round\x12)\n\tpol_round\x18\x04 \x01(\x03\x42\x0c\xe2\xde\x1f\x08POLRoundR\x08polRound\x12P\n\x08\x62lock_id\x18\x05 \x01(\x0b\x32(.cometbft.types.v1beta1.CanonicalBlockIDB\x0b\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12&\n\x08\x63hain_id\x18\x07 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\"\xb6\x02\n\rCanonicalVote\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x10R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x10R\x05round\x12P\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32(.cometbft.types.v1beta1.CanonicalBlockIDB\x0b\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12&\n\x08\x63hain_id\x18\x06 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainIdB\xdf\x01\n\x1a\x63om.cometbft.types.v1beta1B\x0e\x43\x61nonicalProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.canonical_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\016CanonicalProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_CANONICALBLOCKID'].fields_by_name['part_set_header']._loaded_options = None + _globals['_CANONICALBLOCKID'].fields_by_name['part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_CANONICALPROPOSAL'].fields_by_name['pol_round']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['pol_round']._serialized_options = b'\342\336\037\010POLRound' + _globals['_CANONICALPROPOSAL'].fields_by_name['block_id']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['block_id']._serialized_options = b'\342\336\037\007BlockID' + _globals['_CANONICALPROPOSAL'].fields_by_name['timestamp']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CANONICALPROPOSAL'].fields_by_name['chain_id']._loaded_options = None + _globals['_CANONICALPROPOSAL'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_CANONICALVOTE'].fields_by_name['block_id']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['block_id']._serialized_options = b'\342\336\037\007BlockID' + _globals['_CANONICALVOTE'].fields_by_name['timestamp']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_CANONICALVOTE'].fields_by_name['chain_id']._loaded_options = None + _globals['_CANONICALVOTE'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_CANONICALBLOCKID']._serialized_start=158 + _globals['_CANONICALBLOCKID']._serialized_end=290 + _globals['_CANONICALPARTSETHEADER']._serialized_start=292 + _globals['_CANONICALPARTSETHEADER']._serialized_end=358 + _globals['_CANONICALPROPOSAL']._serialized_start=361 + _globals['_CANONICALPROPOSAL']._serialized_end=718 + _globals['_CANONICALVOTE']._serialized_start=721 + _globals['_CANONICALVOTE']._serialized_end=1031 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/canonical_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/events_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/events_pb2.py new file mode 100644 index 00000000..7cf9377b --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/events_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/events.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#cometbft/types/v1beta1/events.proto\x12\x16\x63ometbft.types.v1beta1\"W\n\x13\x45ventDataRoundState\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x12\n\x04step\x18\x03 \x01(\tR\x04stepB\xdc\x01\n\x1a\x63om.cometbft.types.v1beta1B\x0b\x45ventsProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\013EventsProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_EVENTDATAROUNDSTATE']._serialized_start=63 + _globals['_EVENTDATAROUNDSTATE']._serialized_end=150 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/events_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/events_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/events_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2.py new file mode 100644 index 00000000..56df9edb --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/evidence.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import types_pb2 as cometbft_dot_types_dot_v1beta1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%cometbft/types/v1beta1/evidence.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"cometbft/types/v1beta1/types.proto\x1a&cometbft/types/v1beta1/validator.proto\"\xf0\x01\n\x08\x45vidence\x12g\n\x17\x64uplicate_vote_evidence\x18\x01 \x01(\x0b\x32-.cometbft.types.v1beta1.DuplicateVoteEvidenceH\x00R\x15\x64uplicateVoteEvidence\x12t\n\x1clight_client_attack_evidence\x18\x02 \x01(\x0b\x32\x31.cometbft.types.v1beta1.LightClientAttackEvidenceH\x00R\x19lightClientAttackEvidenceB\x05\n\x03sum\"\x9c\x02\n\x15\x44uplicateVoteEvidence\x12\x33\n\x06vote_a\x18\x01 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.VoteR\x05voteA\x12\x33\n\x06vote_b\x18\x02 \x01(\x0b\x32\x1c.cometbft.types.v1beta1.VoteR\x05voteB\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\x12\'\n\x0fvalidator_power\x18\x04 \x01(\x03R\x0evalidatorPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"\xd9\x02\n\x19LightClientAttackEvidence\x12O\n\x11\x63onflicting_block\x18\x01 \x01(\x0b\x32\".cometbft.types.v1beta1.LightBlockR\x10\x63onflictingBlock\x12#\n\rcommon_height\x18\x02 \x01(\x03R\x0c\x63ommonHeight\x12T\n\x14\x62yzantine_validators\x18\x03 \x03(\x0b\x32!.cometbft.types.v1beta1.ValidatorR\x13\x62yzantineValidators\x12,\n\x12total_voting_power\x18\x04 \x01(\x03R\x10totalVotingPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"R\n\x0c\x45videnceList\x12\x42\n\x08\x65vidence\x18\x01 \x03(\x0b\x32 .cometbft.types.v1beta1.EvidenceB\x04\xc8\xde\x1f\x00R\x08\x65videnceB\xde\x01\n\x1a\x63om.cometbft.types.v1beta1B\rEvidenceProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.evidence_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\rEvidenceProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._loaded_options = None + _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._loaded_options = None + _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_EVIDENCELIST'].fields_by_name['evidence']._loaded_options = None + _globals['_EVIDENCELIST'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' + _globals['_EVIDENCE']._serialized_start=197 + _globals['_EVIDENCE']._serialized_end=437 + _globals['_DUPLICATEVOTEEVIDENCE']._serialized_start=440 + _globals['_DUPLICATEVOTEEVIDENCE']._serialized_end=724 + _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_start=727 + _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_end=1072 + _globals['_EVIDENCELIST']._serialized_start=1074 + _globals['_EVIDENCELIST']._serialized_end=1156 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/evidence_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/params_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/params_pb2.py new file mode 100644 index 00000000..6edf02fa --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/params_pb2.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/params.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#cometbft/types/v1beta1/params.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\"\xb0\x02\n\x0f\x43onsensusParams\x12?\n\x05\x62lock\x18\x01 \x01(\x0b\x32#.cometbft.types.v1beta1.BlockParamsB\x04\xc8\xde\x1f\x00R\x05\x62lock\x12H\n\x08\x65vidence\x18\x02 \x01(\x0b\x32&.cometbft.types.v1beta1.EvidenceParamsB\x04\xc8\xde\x1f\x00R\x08\x65vidence\x12K\n\tvalidator\x18\x03 \x01(\x0b\x32\'.cometbft.types.v1beta1.ValidatorParamsB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x45\n\x07version\x18\x04 \x01(\x0b\x32%.cometbft.types.v1beta1.VersionParamsB\x04\xc8\xde\x1f\x00R\x07version\"e\n\x0b\x42lockParams\x12\x1b\n\tmax_bytes\x18\x01 \x01(\x03R\x08maxBytes\x12\x17\n\x07max_gas\x18\x02 \x01(\x03R\x06maxGas\x12 \n\x0ctime_iota_ms\x18\x03 \x01(\x03R\ntimeIotaMs\"\xa9\x01\n\x0e\x45videnceParams\x12+\n\x12max_age_num_blocks\x18\x01 \x01(\x03R\x0fmaxAgeNumBlocks\x12M\n\x10max_age_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01R\x0emaxAgeDuration\x12\x1b\n\tmax_bytes\x18\x03 \x01(\x03R\x08maxBytes\"?\n\x0fValidatorParams\x12\"\n\rpub_key_types\x18\x01 \x03(\tR\x0bpubKeyTypes:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"+\n\rVersionParams\x12\x10\n\x03\x61pp\x18\x01 \x01(\x04R\x03\x61pp:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"Z\n\x0cHashedParams\x12&\n\x0f\x62lock_max_bytes\x18\x01 \x01(\x03R\rblockMaxBytes\x12\"\n\rblock_max_gas\x18\x02 \x01(\x03R\x0b\x62lockMaxGasB\xe0\x01\n\x1a\x63om.cometbft.types.v1beta1B\x0bParamsProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1\xa8\xe2\x1e\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\013ParamsProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1\250\342\036\001' + _globals['_CONSENSUSPARAMS'].fields_by_name['block']._loaded_options = None + _globals['_CONSENSUSPARAMS'].fields_by_name['block']._serialized_options = b'\310\336\037\000' + _globals['_CONSENSUSPARAMS'].fields_by_name['evidence']._loaded_options = None + _globals['_CONSENSUSPARAMS'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' + _globals['_CONSENSUSPARAMS'].fields_by_name['validator']._loaded_options = None + _globals['_CONSENSUSPARAMS'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' + _globals['_CONSENSUSPARAMS'].fields_by_name['version']._loaded_options = None + _globals['_CONSENSUSPARAMS'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._loaded_options = None + _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._serialized_options = b'\310\336\037\000\230\337\037\001' + _globals['_VALIDATORPARAMS']._loaded_options = None + _globals['_VALIDATORPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' + _globals['_VERSIONPARAMS']._loaded_options = None + _globals['_VERSIONPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' + _globals['_CONSENSUSPARAMS']._serialized_start=118 + _globals['_CONSENSUSPARAMS']._serialized_end=422 + _globals['_BLOCKPARAMS']._serialized_start=424 + _globals['_BLOCKPARAMS']._serialized_end=525 + _globals['_EVIDENCEPARAMS']._serialized_start=528 + _globals['_EVIDENCEPARAMS']._serialized_end=697 + _globals['_VALIDATORPARAMS']._serialized_start=699 + _globals['_VALIDATORPARAMS']._serialized_end=762 + _globals['_VERSIONPARAMS']._serialized_start=764 + _globals['_VERSIONPARAMS']._serialized_end=807 + _globals['_HASHEDPARAMS']._serialized_start=809 + _globals['_HASHEDPARAMS']._serialized_end=899 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/params_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/params_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/params_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/types_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/types_pb2.py new file mode 100644 index 00000000..44dd482d --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/types_pb2.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from pyinjective.proto.cometbft.crypto.v1 import proof_pb2 as cometbft_dot_crypto_dot_v1_dot_proof__pb2 +from pyinjective.proto.cometbft.version.v1 import types_pb2 as cometbft_dot_version_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import validator_pb2 as cometbft_dot_types_dot_v1beta1_dot_validator__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cometbft/types/v1beta1/types.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x63ometbft/crypto/v1/proof.proto\x1a\x1f\x63ometbft/version/v1/types.proto\x1a&cometbft/types/v1beta1/validator.proto\"9\n\rPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"i\n\x04Part\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x62ytes\x18\x02 \x01(\x0cR\x05\x62ytes\x12\x35\n\x05proof\x18\x03 \x01(\x0b\x32\x19.cometbft.crypto.v1.ProofB\x04\xc8\xde\x1f\x00R\x05proof\"r\n\x07\x42lockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12S\n\x0fpart_set_header\x18\x02 \x01(\x0b\x32%.cometbft.types.v1beta1.PartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"\xed\x04\n\x06Header\x12>\n\x07version\x18\x01 \x01(\x0b\x32\x1e.cometbft.version.v1.ConsensusB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12I\n\rlast_block_id\x18\x05 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x04\xc8\xde\x1f\x00R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08\x64\x61taHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x12\x30\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0e\x63onsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08\x61pp_hash\x18\x0b \x01(\x0cR\x07\x61ppHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0c\x65videnceHash\x12)\n\x10proposer_address\x18\x0e \x01(\x0cR\x0fproposerAddress\"\x18\n\x04\x44\x61ta\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xf4\x02\n\x04Vote\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12K\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12+\n\x11validator_address\x18\x06 \x01(\x0cR\x10validatorAddress\x12\'\n\x0fvalidator_index\x18\x07 \x01(\x05R\x0evalidatorIndex\x12\x1c\n\tsignature\x18\x08 \x01(\x0cR\tsignature\"\xcc\x01\n\x06\x43ommit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12K\n\x08\x62lock_id\x18\x03 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12G\n\nsignatures\x18\x04 \x03(\x0b\x32!.cometbft.types.v1beta1.CommitSigB\x04\xc8\xde\x1f\x00R\nsignatures\"\xe3\x01\n\tCommitSig\x12G\n\rblock_id_flag\x18\x01 \x01(\x0e\x32#.cometbft.types.v1beta1.BlockIDFlagR\x0b\x62lockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x42\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\"\xbf\x02\n\x08Proposal\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32%.cometbft.types.v1beta1.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x1b\n\tpol_round\x18\x04 \x01(\x05R\x08polRound\x12K\n\x08\x62lock_id\x18\x05 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x07 \x01(\x0cR\tsignature\"~\n\x0cSignedHeader\x12\x36\n\x06header\x18\x01 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.HeaderR\x06header\x12\x36\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.CommitR\x06\x63ommit\"\xa2\x01\n\nLightBlock\x12I\n\rsigned_header\x18\x01 \x01(\x0b\x32$.cometbft.types.v1beta1.SignedHeaderR\x0csignedHeader\x12I\n\rvalidator_set\x18\x02 \x01(\x0b\x32$.cometbft.types.v1beta1.ValidatorSetR\x0cvalidatorSet\"\xce\x01\n\tBlockMeta\x12K\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x1f.cometbft.types.v1beta1.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x1d\n\nblock_size\x18\x02 \x01(\x03R\tblockSize\x12<\n\x06header\x18\x03 \x01(\x0b\x32\x1e.cometbft.types.v1beta1.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x17\n\x07num_txs\x18\x04 \x01(\x03R\x06numTxs\"k\n\x07TxProof\x12\x1b\n\troot_hash\x18\x01 \x01(\x0cR\x08rootHash\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12/\n\x05proof\x18\x03 \x01(\x0b\x32\x19.cometbft.crypto.v1.ProofR\x05proof*\xd7\x01\n\rSignedMsgType\x12,\n\x17SIGNED_MSG_TYPE_UNKNOWN\x10\x00\x1a\x0f\x8a\x9d \x0bUnknownType\x12,\n\x17SIGNED_MSG_TYPE_PREVOTE\x10\x01\x1a\x0f\x8a\x9d \x0bPrevoteType\x12\x30\n\x19SIGNED_MSG_TYPE_PRECOMMIT\x10\x02\x1a\x11\x8a\x9d \rPrecommitType\x12.\n\x18SIGNED_MSG_TYPE_PROPOSAL\x10 \x1a\x10\x8a\x9d \x0cProposalType\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xdb\x01\n\x1a\x63om.cometbft.types.v1beta1B\nTypesProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\nTypesProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_SIGNEDMSGTYPE']._loaded_options = None + _globals['_SIGNEDMSGTYPE']._serialized_options = b'\210\243\036\000\250\244\036\001' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._serialized_options = b'\212\235 \013UnknownType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._serialized_options = b'\212\235 \013PrevoteType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._serialized_options = b'\212\235 \rPrecommitType' + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._loaded_options = None + _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._serialized_options = b'\212\235 \014ProposalType' + _globals['_PART'].fields_by_name['proof']._loaded_options = None + _globals['_PART'].fields_by_name['proof']._serialized_options = b'\310\336\037\000' + _globals['_BLOCKID'].fields_by_name['part_set_header']._loaded_options = None + _globals['_BLOCKID'].fields_by_name['part_set_header']._serialized_options = b'\310\336\037\000' + _globals['_HEADER'].fields_by_name['version']._loaded_options = None + _globals['_HEADER'].fields_by_name['version']._serialized_options = b'\310\336\037\000' + _globals['_HEADER'].fields_by_name['chain_id']._loaded_options = None + _globals['_HEADER'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' + _globals['_HEADER'].fields_by_name['time']._loaded_options = None + _globals['_HEADER'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_HEADER'].fields_by_name['last_block_id']._loaded_options = None + _globals['_HEADER'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000' + _globals['_VOTE'].fields_by_name['block_id']._loaded_options = None + _globals['_VOTE'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_VOTE'].fields_by_name['timestamp']._loaded_options = None + _globals['_VOTE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_COMMIT'].fields_by_name['block_id']._loaded_options = None + _globals['_COMMIT'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_COMMIT'].fields_by_name['signatures']._loaded_options = None + _globals['_COMMIT'].fields_by_name['signatures']._serialized_options = b'\310\336\037\000' + _globals['_COMMITSIG'].fields_by_name['timestamp']._loaded_options = None + _globals['_COMMITSIG'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_PROPOSAL'].fields_by_name['block_id']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_PROPOSAL'].fields_by_name['timestamp']._loaded_options = None + _globals['_PROPOSAL'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_BLOCKMETA'].fields_by_name['block_id']._loaded_options = None + _globals['_BLOCKMETA'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' + _globals['_BLOCKMETA'].fields_by_name['header']._loaded_options = None + _globals['_BLOCKMETA'].fields_by_name['header']._serialized_options = b'\310\336\037\000' + _globals['_SIGNEDMSGTYPE']._serialized_start=2900 + _globals['_SIGNEDMSGTYPE']._serialized_end=3115 + _globals['_PARTSETHEADER']._serialized_start=222 + _globals['_PARTSETHEADER']._serialized_end=279 + _globals['_PART']._serialized_start=281 + _globals['_PART']._serialized_end=386 + _globals['_BLOCKID']._serialized_start=388 + _globals['_BLOCKID']._serialized_end=502 + _globals['_HEADER']._serialized_start=505 + _globals['_HEADER']._serialized_end=1126 + _globals['_DATA']._serialized_start=1128 + _globals['_DATA']._serialized_end=1152 + _globals['_VOTE']._serialized_start=1155 + _globals['_VOTE']._serialized_end=1527 + _globals['_COMMIT']._serialized_start=1530 + _globals['_COMMIT']._serialized_end=1734 + _globals['_COMMITSIG']._serialized_start=1737 + _globals['_COMMITSIG']._serialized_end=1964 + _globals['_PROPOSAL']._serialized_start=1967 + _globals['_PROPOSAL']._serialized_end=2286 + _globals['_SIGNEDHEADER']._serialized_start=2288 + _globals['_SIGNEDHEADER']._serialized_end=2414 + _globals['_LIGHTBLOCK']._serialized_start=2417 + _globals['_LIGHTBLOCK']._serialized_end=2579 + _globals['_BLOCKMETA']._serialized_start=2582 + _globals['_BLOCKMETA']._serialized_end=2788 + _globals['_TXPROOF']._serialized_start=2790 + _globals['_TXPROOF']._serialized_end=2897 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/types_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta1/validator_pb2.py b/pyinjective/proto/cometbft/types/v1beta1/validator_pb2.py new file mode 100644 index 00000000..200531d2 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/validator_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta1/validator.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.crypto.v1 import keys_pb2 as cometbft_dot_crypto_dot_v1_dot_keys__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cometbft/types/v1beta1/validator.proto\x12\x16\x63ometbft.types.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1d\x63ometbft/crypto/v1/keys.proto\"\xbe\x01\n\x0cValidatorSet\x12\x41\n\nvalidators\x18\x01 \x03(\x0b\x32!.cometbft.types.v1beta1.ValidatorR\nvalidators\x12=\n\x08proposer\x18\x02 \x01(\x0b\x32!.cometbft.types.v1beta1.ValidatorR\x08proposer\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\"\xb3\x01\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12<\n\x07pub_key\x18\x02 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\"l\n\x0fSimpleValidator\x12\x36\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1d.cometbft.crypto.v1.PublicKeyR\x06pubKey\x12!\n\x0cvoting_power\x18\x02 \x01(\x03R\x0bvotingPower*\xd7\x01\n\x0b\x42lockIDFlag\x12\x31\n\x15\x42LOCK_ID_FLAG_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12\x42lockIDFlagUnknown\x12/\n\x14\x42LOCK_ID_FLAG_ABSENT\x10\x01\x1a\x15\x8a\x9d \x11\x42lockIDFlagAbsent\x12/\n\x14\x42LOCK_ID_FLAG_COMMIT\x10\x02\x1a\x15\x8a\x9d \x11\x42lockIDFlagCommit\x12)\n\x11\x42LOCK_ID_FLAG_NIL\x10\x03\x1a\x12\x8a\x9d \x0e\x42lockIDFlagNil\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xdf\x01\n\x1a\x63om.cometbft.types.v1beta1B\x0eValidatorProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta1\xca\x02\x16\x43ometbft\\Types\\V1beta1\xe2\x02\"Cometbft\\Types\\V1beta1\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta1.validator_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta1B\016ValidatorProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta1\242\002\003CTX\252\002\026Cometbft.Types.V1beta1\312\002\026Cometbft\\Types\\V1beta1\342\002\"Cometbft\\Types\\V1beta1\\GPBMetadata\352\002\030Cometbft::Types::V1beta1' + _globals['_BLOCKIDFLAG']._loaded_options = None + _globals['_BLOCKIDFLAG']._serialized_options = b'\210\243\036\000\250\244\036\001' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._serialized_options = b'\212\235 \022BlockIDFlagUnknown' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._serialized_options = b'\212\235 \021BlockIDFlagAbsent' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._serialized_options = b'\212\235 \021BlockIDFlagCommit' + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._loaded_options = None + _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._serialized_options = b'\212\235 \016BlockIDFlagNil' + _globals['_VALIDATOR'].fields_by_name['pub_key']._loaded_options = None + _globals['_VALIDATOR'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' + _globals['_BLOCKIDFLAG']._serialized_start=605 + _globals['_BLOCKIDFLAG']._serialized_end=820 + _globals['_VALIDATORSET']._serialized_start=120 + _globals['_VALIDATORSET']._serialized_end=310 + _globals['_VALIDATOR']._serialized_start=313 + _globals['_VALIDATOR']._serialized_end=492 + _globals['_SIMPLEVALIDATOR']._serialized_start=494 + _globals['_SIMPLEVALIDATOR']._serialized_end=602 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta1/validator_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta1/validator_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta1/validator_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/types/v1beta2/params_pb2.py b/pyinjective/proto/cometbft/types/v1beta2/params_pb2.py new file mode 100644 index 00000000..cfb9c0e7 --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta2/params_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/types/v1beta2/params.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cometbft.types.v1beta1 import params_pb2 as cometbft_dot_types_dot_v1beta1_dot_params__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#cometbft/types/v1beta2/params.proto\x12\x16\x63ometbft.types.v1beta2\x1a\x14gogoproto/gogo.proto\x1a#cometbft/types/v1beta1/params.proto\"\x98\x02\n\x0f\x43onsensusParams\x12\x39\n\x05\x62lock\x18\x01 \x01(\x0b\x32#.cometbft.types.v1beta2.BlockParamsR\x05\x62lock\x12\x42\n\x08\x65vidence\x18\x02 \x01(\x0b\x32&.cometbft.types.v1beta1.EvidenceParamsR\x08\x65vidence\x12\x45\n\tvalidator\x18\x03 \x01(\x0b\x32\'.cometbft.types.v1beta1.ValidatorParamsR\tvalidator\x12?\n\x07version\x18\x04 \x01(\x0b\x32%.cometbft.types.v1beta1.VersionParamsR\x07version\"I\n\x0b\x42lockParams\x12\x1b\n\tmax_bytes\x18\x01 \x01(\x03R\x08maxBytes\x12\x17\n\x07max_gas\x18\x02 \x01(\x03R\x06maxGasJ\x04\x08\x03\x10\x04\x42\xe0\x01\n\x1a\x63om.cometbft.types.v1beta2B\x0bParamsProtoP\x01Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta2\xa2\x02\x03\x43TX\xaa\x02\x16\x43ometbft.Types.V1beta2\xca\x02\x16\x43ometbft\\Types\\V1beta2\xe2\x02\"Cometbft\\Types\\V1beta2\\GPBMetadata\xea\x02\x18\x43ometbft::Types::V1beta2\xa8\xe2\x1e\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.types.v1beta2.params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.cometbft.types.v1beta2B\013ParamsProtoP\001Z7github.com/cometbft/cometbft/api/cometbft/types/v1beta2\242\002\003CTX\252\002\026Cometbft.Types.V1beta2\312\002\026Cometbft\\Types\\V1beta2\342\002\"Cometbft\\Types\\V1beta2\\GPBMetadata\352\002\030Cometbft::Types::V1beta2\250\342\036\001' + _globals['_CONSENSUSPARAMS']._serialized_start=123 + _globals['_CONSENSUSPARAMS']._serialized_end=403 + _globals['_BLOCKPARAMS']._serialized_start=405 + _globals['_BLOCKPARAMS']._serialized_end=478 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/types/v1beta2/params_pb2_grpc.py b/pyinjective/proto/cometbft/types/v1beta2/params_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/types/v1beta2/params_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cometbft/version/v1/types_pb2.py b/pyinjective/proto/cometbft/version/v1/types_pb2.py new file mode 100644 index 00000000..8a28b0ad --- /dev/null +++ b/pyinjective/proto/cometbft/version/v1/types_pb2.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: cometbft/version/v1/types.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63ometbft/version/v1/types.proto\x12\x13\x63ometbft.version.v1\x1a\x14gogoproto/gogo.proto\"=\n\x03\x41pp\x12\x1a\n\x08protocol\x18\x01 \x01(\x04R\x08protocol\x12\x1a\n\x08software\x18\x02 \x01(\tR\x08software\"9\n\tConsensus\x12\x14\n\x05\x62lock\x18\x01 \x01(\x04R\x05\x62lock\x12\x10\n\x03\x61pp\x18\x02 \x01(\x04R\x03\x61pp:\x04\xe8\xa0\x1f\x01\x42\xc9\x01\n\x17\x63om.cometbft.version.v1B\nTypesProtoP\x01Z4github.com/cometbft/cometbft/api/cometbft/version/v1\xa2\x02\x03\x43VX\xaa\x02\x13\x43ometbft.Version.V1\xca\x02\x13\x43ometbft\\Version\\V1\xe2\x02\x1f\x43ometbft\\Version\\V1\\GPBMetadata\xea\x02\x15\x43ometbft::Version::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cometbft.version.v1.types_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cometbft.version.v1B\nTypesProtoP\001Z4github.com/cometbft/cometbft/api/cometbft/version/v1\242\002\003CVX\252\002\023Cometbft.Version.V1\312\002\023Cometbft\\Version\\V1\342\002\037Cometbft\\Version\\V1\\GPBMetadata\352\002\025Cometbft::Version::V1' + _globals['_CONSENSUS']._loaded_options = None + _globals['_CONSENSUS']._serialized_options = b'\350\240\037\001' + _globals['_APP']._serialized_start=78 + _globals['_APP']._serialized_end=139 + _globals['_CONSENSUS']._serialized_start=141 + _globals['_CONSENSUS']._serialized_end=198 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cometbft/version/v1/types_pb2_grpc.py b/pyinjective/proto/cometbft/version/v1/types_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/cometbft/version/v1/types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/cosmos/app/runtime/v1alpha1/module_pb2.py b/pyinjective/proto/cosmos/app/runtime/v1alpha1/module_pb2.py index cd567873..2cf731b6 100644 --- a/pyinjective/proto/cosmos/app/runtime/v1alpha1/module_pb2.py +++ b/pyinjective/proto/cosmos/app/runtime/v1alpha1/module_pb2.py @@ -15,7 +15,7 @@ from pyinjective.proto.cosmos.app.v1alpha1 import module_pb2 as cosmos_dot_app_dot_v1alpha1_dot_module__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(cosmos/app/runtime/v1alpha1/module.proto\x12\x1b\x63osmos.app.runtime.v1alpha1\x1a cosmos/app/v1alpha1/module.proto\"\xdc\x03\n\x06Module\x12\x19\n\x08\x61pp_name\x18\x01 \x01(\tR\x07\x61ppName\x12%\n\x0e\x62\x65gin_blockers\x18\x02 \x03(\tR\rbeginBlockers\x12!\n\x0c\x65nd_blockers\x18\x03 \x03(\tR\x0b\x65ndBlockers\x12!\n\x0cinit_genesis\x18\x04 \x03(\tR\x0binitGenesis\x12%\n\x0e\x65xport_genesis\x18\x05 \x03(\tR\rexportGenesis\x12[\n\x13override_store_keys\x18\x06 \x03(\x0b\x32+.cosmos.app.runtime.v1alpha1.StoreKeyConfigR\x11overrideStoreKeys\x12)\n\x10order_migrations\x18\x07 \x03(\tR\x0forderMigrations\x12\"\n\x0cprecommiters\x18\x08 \x03(\tR\x0cprecommiters\x12\x32\n\x15prepare_check_staters\x18\t \x03(\tR\x13prepareCheckStaters:C\xba\xc0\x96\xda\x01=\n$github.com/cosmos/cosmos-sdk/runtime\x12\x15\n\x13\x63osmos.app.v1alpha1\"S\n\x0eStoreKeyConfig\x12\x1f\n\x0bmodule_name\x18\x01 \x01(\tR\nmoduleName\x12 \n\x0ckv_store_key\x18\x02 \x01(\tR\nkvStoreKeyB\xbd\x01\n\x1f\x63om.cosmos.app.runtime.v1alpha1B\x0bModuleProtoP\x01\xa2\x02\x03\x43\x41R\xaa\x02\x1b\x43osmos.App.Runtime.V1alpha1\xca\x02\x1b\x43osmos\\App\\Runtime\\V1alpha1\xe2\x02\'Cosmos\\App\\Runtime\\V1alpha1\\GPBMetadata\xea\x02\x1e\x43osmos::App::Runtime::V1alpha1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(cosmos/app/runtime/v1alpha1/module.proto\x12\x1b\x63osmos.app.runtime.v1alpha1\x1a cosmos/app/v1alpha1/module.proto\"\xff\x03\n\x06Module\x12\x19\n\x08\x61pp_name\x18\x01 \x01(\tR\x07\x61ppName\x12%\n\x0e\x62\x65gin_blockers\x18\x02 \x03(\tR\rbeginBlockers\x12!\n\x0c\x65nd_blockers\x18\x03 \x03(\tR\x0b\x65ndBlockers\x12!\n\x0cinit_genesis\x18\x04 \x03(\tR\x0binitGenesis\x12%\n\x0e\x65xport_genesis\x18\x05 \x03(\tR\rexportGenesis\x12[\n\x13override_store_keys\x18\x06 \x03(\x0b\x32+.cosmos.app.runtime.v1alpha1.StoreKeyConfigR\x11overrideStoreKeys\x12)\n\x10order_migrations\x18\x07 \x03(\tR\x0forderMigrations\x12\"\n\x0cprecommiters\x18\x08 \x03(\tR\x0cprecommiters\x12\x32\n\x15prepare_check_staters\x18\t \x03(\tR\x13prepareCheckStaters\x12!\n\x0cpre_blockers\x18\n \x03(\tR\x0bpreBlockers:C\xba\xc0\x96\xda\x01=\n$github.com/cosmos/cosmos-sdk/runtime\x12\x15\n\x13\x63osmos.app.v1alpha1\"S\n\x0eStoreKeyConfig\x12\x1f\n\x0bmodule_name\x18\x01 \x01(\tR\nmoduleName\x12 \n\x0ckv_store_key\x18\x02 \x01(\tR\nkvStoreKeyB\xbd\x01\n\x1f\x63om.cosmos.app.runtime.v1alpha1B\x0bModuleProtoP\x01\xa2\x02\x03\x43\x41R\xaa\x02\x1b\x43osmos.App.Runtime.V1alpha1\xca\x02\x1b\x43osmos\\App\\Runtime\\V1alpha1\xe2\x02\'Cosmos\\App\\Runtime\\V1alpha1\\GPBMetadata\xea\x02\x1e\x43osmos::App::Runtime::V1alpha1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,7 +26,7 @@ _globals['_MODULE']._loaded_options = None _globals['_MODULE']._serialized_options = b'\272\300\226\332\001=\n$github.com/cosmos/cosmos-sdk/runtime\022\025\n\023cosmos.app.v1alpha1' _globals['_MODULE']._serialized_start=108 - _globals['_MODULE']._serialized_end=584 - _globals['_STOREKEYCONFIG']._serialized_start=586 - _globals['_STOREKEYCONFIG']._serialized_end=669 + _globals['_MODULE']._serialized_end=619 + _globals['_STOREKEYCONFIG']._serialized_start=621 + _globals['_STOREKEYCONFIG']._serialized_end=704 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2.py b/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2.py index b9448c92..e7fd2a14 100644 --- a/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2.py +++ b/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2.py @@ -20,7 +20,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63osmos/authz/v1beta1/tx.proto\x12\x14\x63osmos.authz.v1beta1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a cosmos/authz/v1beta1/authz.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x11\x61mino/amino.proto\"\xd6\x01\n\x08MsgGrant\x12\x32\n\x07granter\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07granter\x12\x32\n\x07grantee\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12<\n\x05grant\x18\x03 \x01(\x0b\x32\x1b.cosmos.authz.v1beta1.GrantB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05grant:$\x82\xe7\xb0*\x07granter\x8a\xe7\xb0*\x13\x63osmos-sdk/MsgGrant\"\x12\n\x10MsgGrantResponse\"\xa9\x01\n\x07MsgExec\x12\x32\n\x07grantee\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12\x45\n\x04msgs\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyB\x1b\xca\xb4-\x17\x63osmos.base.v1beta1.MsgR\x04msgs:#\x82\xe7\xb0*\x07grantee\x8a\xe7\xb0*\x12\x63osmos-sdk/MsgExec\"+\n\x0fMsgExecResponse\x12\x18\n\x07results\x18\x01 \x03(\x0cR\x07results\"\xbc\x01\n\tMsgRevoke\x12\x32\n\x07granter\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07granter\x12\x32\n\x07grantee\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12 \n\x0cmsg_type_url\x18\x03 \x01(\tR\nmsgTypeUrl:%\x82\xe7\xb0*\x07granter\x8a\xe7\xb0*\x14\x63osmos-sdk/MsgRevoke\"\x13\n\x11MsgRevokeResponse\"1\n\x15MsgExecCompatResponse\x12\x18\n\x07results\x18\x01 \x03(\x0cR\x07results\"|\n\rMsgExecCompat\x12\x32\n\x07grantee\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12\x12\n\x04msgs\x18\x02 \x03(\tR\x04msgs:#\x82\xe7\xb0*\x07grantee\x8a\xe7\xb0*\x12\x63osmos-sdk/MsgExec2\xdf\x02\n\x03Msg\x12O\n\x05Grant\x12\x1e.cosmos.authz.v1beta1.MsgGrant\x1a&.cosmos.authz.v1beta1.MsgGrantResponse\x12L\n\x04\x45xec\x12\x1d.cosmos.authz.v1beta1.MsgExec\x1a%.cosmos.authz.v1beta1.MsgExecResponse\x12R\n\x06Revoke\x12\x1f.cosmos.authz.v1beta1.MsgRevoke\x1a\'.cosmos.authz.v1beta1.MsgRevokeResponse\x12^\n\nExecCompat\x12#.cosmos.authz.v1beta1.MsgExecCompat\x1a+.cosmos.authz.v1beta1.MsgExecCompatResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xbf\x01\n\x18\x63om.cosmos.authz.v1beta1B\x07TxProtoP\x01Z$github.com/cosmos/cosmos-sdk/x/authz\xa2\x02\x03\x43\x41X\xaa\x02\x14\x43osmos.Authz.V1beta1\xca\x02\x14\x43osmos\\Authz\\V1beta1\xe2\x02 Cosmos\\Authz\\V1beta1\\GPBMetadata\xea\x02\x16\x43osmos::Authz::V1beta1\xc8\xe1\x1e\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x63osmos/authz/v1beta1/tx.proto\x12\x14\x63osmos.authz.v1beta1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a cosmos/authz/v1beta1/authz.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x11\x61mino/amino.proto\"\xd6\x01\n\x08MsgGrant\x12\x32\n\x07granter\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07granter\x12\x32\n\x07grantee\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12<\n\x05grant\x18\x03 \x01(\x0b\x32\x1b.cosmos.authz.v1beta1.GrantB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05grant:$\x82\xe7\xb0*\x07granter\x8a\xe7\xb0*\x13\x63osmos-sdk/MsgGrant\"\x12\n\x10MsgGrantResponse\"\xa9\x01\n\x07MsgExec\x12\x32\n\x07grantee\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12\x45\n\x04msgs\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyB\x1b\xca\xb4-\x17\x63osmos.base.v1beta1.MsgR\x04msgs:#\x82\xe7\xb0*\x07grantee\x8a\xe7\xb0*\x12\x63osmos-sdk/MsgExec\"+\n\x0fMsgExecResponse\x12\x18\n\x07results\x18\x01 \x03(\x0cR\x07results\"\xbc\x01\n\tMsgRevoke\x12\x32\n\x07granter\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07granter\x12\x32\n\x07grantee\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12 \n\x0cmsg_type_url\x18\x03 \x01(\tR\nmsgTypeUrl:%\x82\xe7\xb0*\x07granter\x8a\xe7\xb0*\x14\x63osmos-sdk/MsgRevoke\"\x13\n\x11MsgRevokeResponse\"5\n\x15MsgExecCompatResponse\x12\x18\n\x07results\x18\x01 \x03(\x0cR\x07results:\x02\x18\x01\"~\n\rMsgExecCompat\x12\x32\n\x07grantee\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07grantee\x12\x12\n\x04msgs\x18\x02 \x03(\tR\x04msgs:%\x18\x01\x82\xe7\xb0*\x07grantee\x8a\xe7\xb0*\x12\x63osmos-sdk/MsgExec2\xe4\x02\n\x03Msg\x12O\n\x05Grant\x12\x1e.cosmos.authz.v1beta1.MsgGrant\x1a&.cosmos.authz.v1beta1.MsgGrantResponse\x12L\n\x04\x45xec\x12\x1d.cosmos.authz.v1beta1.MsgExec\x1a%.cosmos.authz.v1beta1.MsgExecResponse\x12R\n\x06Revoke\x12\x1f.cosmos.authz.v1beta1.MsgRevoke\x1a\'.cosmos.authz.v1beta1.MsgRevokeResponse\x12\x63\n\nExecCompat\x12#.cosmos.authz.v1beta1.MsgExecCompat\x1a+.cosmos.authz.v1beta1.MsgExecCompatResponse\"\x03\x88\x02\x01\x1a\x05\x80\xe7\xb0*\x01\x42\xbf\x01\n\x18\x63om.cosmos.authz.v1beta1B\x07TxProtoP\x01Z$github.com/cosmos/cosmos-sdk/x/authz\xa2\x02\x03\x43\x41X\xaa\x02\x14\x43osmos.Authz.V1beta1\xca\x02\x14\x43osmos\\Authz\\V1beta1\xe2\x02 Cosmos\\Authz\\V1beta1\\GPBMetadata\xea\x02\x16\x43osmos::Authz::V1beta1\xc8\xe1\x1e\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,12 +48,16 @@ _globals['_MSGREVOKE'].fields_by_name['grantee']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_MSGREVOKE']._loaded_options = None _globals['_MSGREVOKE']._serialized_options = b'\202\347\260*\007granter\212\347\260*\024cosmos-sdk/MsgRevoke' + _globals['_MSGEXECCOMPATRESPONSE']._loaded_options = None + _globals['_MSGEXECCOMPATRESPONSE']._serialized_options = b'\030\001' _globals['_MSGEXECCOMPAT'].fields_by_name['grantee']._loaded_options = None _globals['_MSGEXECCOMPAT'].fields_by_name['grantee']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_MSGEXECCOMPAT']._loaded_options = None - _globals['_MSGEXECCOMPAT']._serialized_options = b'\202\347\260*\007grantee\212\347\260*\022cosmos-sdk/MsgExec' + _globals['_MSGEXECCOMPAT']._serialized_options = b'\030\001\202\347\260*\007grantee\212\347\260*\022cosmos-sdk/MsgExec' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' + _globals['_MSG'].methods_by_name['ExecCompat']._loaded_options = None + _globals['_MSG'].methods_by_name['ExecCompat']._serialized_options = b'\210\002\001' _globals['_MSGGRANT']._serialized_start=210 _globals['_MSGGRANT']._serialized_end=424 _globals['_MSGGRANTRESPONSE']._serialized_start=426 @@ -67,9 +71,9 @@ _globals['_MSGREVOKERESPONSE']._serialized_start=854 _globals['_MSGREVOKERESPONSE']._serialized_end=873 _globals['_MSGEXECCOMPATRESPONSE']._serialized_start=875 - _globals['_MSGEXECCOMPATRESPONSE']._serialized_end=924 - _globals['_MSGEXECCOMPAT']._serialized_start=926 - _globals['_MSGEXECCOMPAT']._serialized_end=1050 - _globals['_MSG']._serialized_start=1053 - _globals['_MSG']._serialized_end=1404 + _globals['_MSGEXECCOMPATRESPONSE']._serialized_end=928 + _globals['_MSGEXECCOMPAT']._serialized_start=930 + _globals['_MSGEXECCOMPAT']._serialized_end=1056 + _globals['_MSG']._serialized_start=1059 + _globals['_MSG']._serialized_end=1415 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2_grpc.py index 2a2458a1..afe04bec 100644 --- a/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/cosmos/authz/v1beta1/tx_pb2_grpc.py @@ -70,6 +70,7 @@ def Revoke(self, request, context): def ExecCompat(self, request, context): """ExecCompat has same functionality as Exec but accepts array of json-encoded message string instead of []*Any + Deprecated: This RPC is deprecated and will be removed in a future version. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') diff --git a/pyinjective/proto/cosmos/autocli/v1/options_pb2.py b/pyinjective/proto/cosmos/autocli/v1/options_pb2.py index aa7f36c8..591b9eef 100644 --- a/pyinjective/proto/cosmos/autocli/v1/options_pb2.py +++ b/pyinjective/proto/cosmos/autocli/v1/options_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/autocli/v1/options.proto\x12\x11\x63osmos.autocli.v1\"\x8f\x01\n\rModuleOptions\x12;\n\x02tx\x18\x01 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x02tx\x12\x41\n\x05query\x18\x02 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x05query\"\xd8\x02\n\x18ServiceCommandDescriptor\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12T\n\x13rpc_command_options\x18\x02 \x03(\x0b\x32$.cosmos.autocli.v1.RpcCommandOptionsR\x11rpcCommandOptions\x12_\n\x0csub_commands\x18\x03 \x03(\x0b\x32<.cosmos.autocli.v1.ServiceCommandDescriptor.SubCommandsEntryR\x0bsubCommands\x1ak\n\x10SubCommandsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x05value:\x02\x38\x01\"\x9c\x04\n\x11RpcCommandOptions\x12\x1d\n\nrpc_method\x18\x01 \x01(\tR\trpcMethod\x12\x10\n\x03use\x18\x02 \x01(\tR\x03use\x12\x12\n\x04long\x18\x03 \x01(\tR\x04long\x12\x14\n\x05short\x18\x04 \x01(\tR\x05short\x12\x18\n\x07\x65xample\x18\x05 \x01(\tR\x07\x65xample\x12\x14\n\x05\x61lias\x18\x06 \x03(\tR\x05\x61lias\x12\x1f\n\x0bsuggest_for\x18\x07 \x03(\tR\nsuggestFor\x12\x1e\n\ndeprecated\x18\x08 \x01(\tR\ndeprecated\x12\x18\n\x07version\x18\t \x01(\tR\x07version\x12X\n\x0c\x66lag_options\x18\n \x03(\x0b\x32\x35.cosmos.autocli.v1.RpcCommandOptions.FlagOptionsEntryR\x0b\x66lagOptions\x12S\n\x0fpositional_args\x18\x0b \x03(\x0b\x32*.cosmos.autocli.v1.PositionalArgDescriptorR\x0epositionalArgs\x12\x12\n\x04skip\x18\x0c \x01(\x08R\x04skip\x1a^\n\x10\x46lagOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32\x1e.cosmos.autocli.v1.FlagOptionsR\x05value:\x02\x38\x01\"\xe5\x01\n\x0b\x46lagOptions\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tshorthand\x18\x02 \x01(\tR\tshorthand\x12\x14\n\x05usage\x18\x03 \x01(\tR\x05usage\x12#\n\rdefault_value\x18\x04 \x01(\tR\x0c\x64\x65\x66\x61ultValue\x12\x1e\n\ndeprecated\x18\x06 \x01(\tR\ndeprecated\x12\x31\n\x14shorthand_deprecated\x18\x07 \x01(\tR\x13shorthandDeprecated\x12\x16\n\x06hidden\x18\x08 \x01(\x08R\x06hidden\"T\n\x17PositionalArgDescriptor\x12\x1f\n\x0bproto_field\x18\x01 \x01(\tR\nprotoField\x12\x18\n\x07varargs\x18\x02 \x01(\x08R\x07varargsB\xb6\x01\n\x15\x63om.cosmos.autocli.v1B\x0cOptionsProtoP\x01Z)cosmossdk.io/api/cosmos/base/cli/v1;cliv1\xa2\x02\x03\x43\x41X\xaa\x02\x11\x43osmos.Autocli.V1\xca\x02\x11\x43osmos\\Autocli\\V1\xe2\x02\x1d\x43osmos\\Autocli\\V1\\GPBMetadata\xea\x02\x13\x43osmos::Autocli::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/autocli/v1/options.proto\x12\x11\x63osmos.autocli.v1\"\x8f\x01\n\rModuleOptions\x12;\n\x02tx\x18\x01 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x02tx\x12\x41\n\x05query\x18\x02 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x05query\"\xa4\x03\n\x18ServiceCommandDescriptor\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12T\n\x13rpc_command_options\x18\x02 \x03(\x0b\x32$.cosmos.autocli.v1.RpcCommandOptionsR\x11rpcCommandOptions\x12_\n\x0csub_commands\x18\x03 \x03(\x0b\x32<.cosmos.autocli.v1.ServiceCommandDescriptor.SubCommandsEntryR\x0bsubCommands\x12\x34\n\x16\x65nhance_custom_command\x18\x04 \x01(\x08R\x14\x65nhanceCustomCommand\x12\x14\n\x05short\x18\x05 \x01(\tR\x05short\x1ak\n\x10SubCommandsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32+.cosmos.autocli.v1.ServiceCommandDescriptorR\x05value:\x02\x38\x01\"\x9c\x04\n\x11RpcCommandOptions\x12\x1d\n\nrpc_method\x18\x01 \x01(\tR\trpcMethod\x12\x10\n\x03use\x18\x02 \x01(\tR\x03use\x12\x12\n\x04long\x18\x03 \x01(\tR\x04long\x12\x14\n\x05short\x18\x04 \x01(\tR\x05short\x12\x18\n\x07\x65xample\x18\x05 \x01(\tR\x07\x65xample\x12\x14\n\x05\x61lias\x18\x06 \x03(\tR\x05\x61lias\x12\x1f\n\x0bsuggest_for\x18\x07 \x03(\tR\nsuggestFor\x12\x1e\n\ndeprecated\x18\x08 \x01(\tR\ndeprecated\x12\x18\n\x07version\x18\t \x01(\tR\x07version\x12X\n\x0c\x66lag_options\x18\n \x03(\x0b\x32\x35.cosmos.autocli.v1.RpcCommandOptions.FlagOptionsEntryR\x0b\x66lagOptions\x12S\n\x0fpositional_args\x18\x0b \x03(\x0b\x32*.cosmos.autocli.v1.PositionalArgDescriptorR\x0epositionalArgs\x12\x12\n\x04skip\x18\x0c \x01(\x08R\x04skip\x1a^\n\x10\x46lagOptionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32\x1e.cosmos.autocli.v1.FlagOptionsR\x05value:\x02\x38\x01\"\xe5\x01\n\x0b\x46lagOptions\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tshorthand\x18\x02 \x01(\tR\tshorthand\x12\x14\n\x05usage\x18\x03 \x01(\tR\x05usage\x12#\n\rdefault_value\x18\x04 \x01(\tR\x0c\x64\x65\x66\x61ultValue\x12\x1e\n\ndeprecated\x18\x06 \x01(\tR\ndeprecated\x12\x31\n\x14shorthand_deprecated\x18\x07 \x01(\tR\x13shorthandDeprecated\x12\x16\n\x06hidden\x18\x08 \x01(\x08R\x06hidden\"p\n\x17PositionalArgDescriptor\x12\x1f\n\x0bproto_field\x18\x01 \x01(\tR\nprotoField\x12\x18\n\x07varargs\x18\x02 \x01(\x08R\x07varargs\x12\x1a\n\x08optional\x18\x03 \x01(\x08R\x08optionalB\xb6\x01\n\x15\x63om.cosmos.autocli.v1B\x0cOptionsProtoP\x01Z)cosmossdk.io/api/cosmos/base/cli/v1;cliv1\xa2\x02\x03\x43\x41X\xaa\x02\x11\x43osmos.Autocli.V1\xca\x02\x11\x43osmos\\Autocli\\V1\xe2\x02\x1d\x43osmos\\Autocli\\V1\\GPBMetadata\xea\x02\x13\x43osmos::Autocli::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,15 +29,15 @@ _globals['_MODULEOPTIONS']._serialized_start=55 _globals['_MODULEOPTIONS']._serialized_end=198 _globals['_SERVICECOMMANDDESCRIPTOR']._serialized_start=201 - _globals['_SERVICECOMMANDDESCRIPTOR']._serialized_end=545 - _globals['_SERVICECOMMANDDESCRIPTOR_SUBCOMMANDSENTRY']._serialized_start=438 - _globals['_SERVICECOMMANDDESCRIPTOR_SUBCOMMANDSENTRY']._serialized_end=545 - _globals['_RPCCOMMANDOPTIONS']._serialized_start=548 - _globals['_RPCCOMMANDOPTIONS']._serialized_end=1088 - _globals['_RPCCOMMANDOPTIONS_FLAGOPTIONSENTRY']._serialized_start=994 - _globals['_RPCCOMMANDOPTIONS_FLAGOPTIONSENTRY']._serialized_end=1088 - _globals['_FLAGOPTIONS']._serialized_start=1091 - _globals['_FLAGOPTIONS']._serialized_end=1320 - _globals['_POSITIONALARGDESCRIPTOR']._serialized_start=1322 - _globals['_POSITIONALARGDESCRIPTOR']._serialized_end=1406 + _globals['_SERVICECOMMANDDESCRIPTOR']._serialized_end=621 + _globals['_SERVICECOMMANDDESCRIPTOR_SUBCOMMANDSENTRY']._serialized_start=514 + _globals['_SERVICECOMMANDDESCRIPTOR_SUBCOMMANDSENTRY']._serialized_end=621 + _globals['_RPCCOMMANDOPTIONS']._serialized_start=624 + _globals['_RPCCOMMANDOPTIONS']._serialized_end=1164 + _globals['_RPCCOMMANDOPTIONS_FLAGOPTIONSENTRY']._serialized_start=1070 + _globals['_RPCCOMMANDOPTIONS_FLAGOPTIONSENTRY']._serialized_end=1164 + _globals['_FLAGOPTIONS']._serialized_start=1167 + _globals['_FLAGOPTIONS']._serialized_end=1396 + _globals['_POSITIONALARGDESCRIPTOR']._serialized_start=1398 + _globals['_POSITIONALARGDESCRIPTOR']._serialized_end=1510 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/base/abci/v1beta1/abci_pb2.py b/pyinjective/proto/cosmos/base/abci/v1beta1/abci_pb2.py index c1104257..7b10c704 100644 --- a/pyinjective/proto/cosmos/base/abci/v1beta1/abci_pb2.py +++ b/pyinjective/proto/cosmos/base/abci/v1beta1/abci_pb2.py @@ -13,12 +13,13 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.tendermint.abci import types_pb2 as tendermint_dot_abci_dot_types__pb2 -from pyinjective.proto.tendermint.types import block_pb2 as tendermint_dot_types_dot_block__pb2 +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import block_pb2 as cometbft_dot_types_dot_v1_dot_block__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#cosmos/base/abci/v1beta1/abci.proto\x12\x18\x63osmos.base.abci.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1btendermint/abci/types.proto\x1a\x1ctendermint/types/block.proto\x1a\x19google/protobuf/any.proto\"\xcc\x03\n\nTxResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\"\n\x06txhash\x18\x02 \x01(\tB\n\xe2\xde\x1f\x06TxHashR\x06txhash\x12\x1c\n\tcodespace\x18\x03 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x04 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x05 \x01(\tR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x06 \x01(\tR\x06rawLog\x12U\n\x04logs\x18\x07 \x03(\x0b\x32(.cosmos.base.abci.v1beta1.ABCIMessageLogB\x17\xc8\xde\x1f\x00\xaa\xdf\x1f\x0f\x41\x42\x43IMessageLogsR\x04logs\x12\x12\n\x04info\x18\x08 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\t \x01(\x03R\tgasWanted\x12\x19\n\x08gas_used\x18\n \x01(\x03R\x07gasUsed\x12$\n\x02tx\x18\x0b \x01(\x0b\x32\x14.google.protobuf.AnyR\x02tx\x12\x1c\n\ttimestamp\x18\x0c \x01(\tR\ttimestamp\x12\x34\n\x06\x65vents\x18\r \x03(\x0b\x32\x16.tendermint.abci.EventB\x04\xc8\xde\x1f\x00R\x06\x65vents:\x04\x88\xa0\x1f\x00\"\xa9\x01\n\x0e\x41\x42\x43IMessageLog\x12*\n\tmsg_index\x18\x01 \x01(\rB\r\xea\xde\x1f\tmsg_indexR\x08msgIndex\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12S\n\x06\x65vents\x18\x03 \x03(\x0b\x32%.cosmos.base.abci.v1beta1.StringEventB\x14\xc8\xde\x1f\x00\xaa\xdf\x1f\x0cStringEventsR\x06\x65vents:\x04\x80\xdc \x01\"r\n\x0bStringEvent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12I\n\nattributes\x18\x02 \x03(\x0b\x32#.cosmos.base.abci.v1beta1.AttributeB\x04\xc8\xde\x1f\x00R\nattributes:\x04\x80\xdc \x01\"3\n\tAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"C\n\x07GasInfo\x12\x1d\n\ngas_wanted\x18\x01 \x01(\x04R\tgasWanted\x12\x19\n\x08gas_used\x18\x02 \x01(\x04R\x07gasUsed\"\xa9\x01\n\x06Result\x12\x16\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\x02\x18\x01R\x04\x64\x61ta\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12\x34\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x16.tendermint.abci.EventB\x04\xc8\xde\x1f\x00R\x06\x65vents\x12\x39\n\rmsg_responses\x18\x04 \x03(\x0b\x32\x14.google.protobuf.AnyR\x0cmsgResponses:\x04\x88\xa0\x1f\x00\"\x96\x01\n\x12SimulationResponse\x12\x46\n\x08gas_info\x18\x01 \x01(\x0b\x32!.cosmos.base.abci.v1beta1.GasInfoB\x08\xc8\xde\x1f\x00\xd0\xde\x1f\x01R\x07gasInfo\x12\x38\n\x06result\x18\x02 \x01(\x0b\x32 .cosmos.base.abci.v1beta1.ResultR\x06result\"@\n\x07MsgData\x12\x19\n\x08msg_type\x18\x01 \x01(\tR\x07msgType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta:\x06\x18\x01\x80\xdc \x01\"\x87\x01\n\tTxMsgData\x12\x39\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32!.cosmos.base.abci.v1beta1.MsgDataB\x02\x18\x01R\x04\x64\x61ta\x12\x39\n\rmsg_responses\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyR\x0cmsgResponses:\x04\x80\xdc \x01\"\xdc\x01\n\x0fSearchTxsResult\x12\x1f\n\x0btotal_count\x18\x01 \x01(\x04R\ntotalCount\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\x12\x1f\n\x0bpage_number\x18\x03 \x01(\x04R\npageNumber\x12\x1d\n\npage_total\x18\x04 \x01(\x04R\tpageTotal\x12\x14\n\x05limit\x18\x05 \x01(\x04R\x05limit\x12\x36\n\x03txs\x18\x06 \x03(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\x03txs:\x04\x80\xdc \x01\"\xd8\x01\n\x12SearchBlocksResult\x12\x1f\n\x0btotal_count\x18\x01 \x01(\x03R\ntotalCount\x12\x14\n\x05\x63ount\x18\x02 \x01(\x03R\x05\x63ount\x12\x1f\n\x0bpage_number\x18\x03 \x01(\x03R\npageNumber\x12\x1d\n\npage_total\x18\x04 \x01(\x03R\tpageTotal\x12\x14\n\x05limit\x18\x05 \x01(\x03R\x05limit\x12/\n\x06\x62locks\x18\x06 \x03(\x0b\x32\x17.tendermint.types.BlockR\x06\x62locks:\x04\x80\xdc \x01\x42\xd4\x01\n\x1c\x63om.cosmos.base.abci.v1beta1B\tAbciProtoP\x01Z\"github.com/cosmos/cosmos-sdk/types\xa2\x02\x03\x43\x42\x41\xaa\x02\x18\x43osmos.Base.Abci.V1beta1\xca\x02\x18\x43osmos\\Base\\Abci\\V1beta1\xe2\x02$Cosmos\\Base\\Abci\\V1beta1\\GPBMetadata\xea\x02\x1b\x43osmos::Base::Abci::V1beta1\xd8\xe1\x1e\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#cosmos/base/abci/v1beta1/abci.proto\x12\x18\x63osmos.base.abci.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1c\x63ometbft/abci/v1/types.proto\x1a\x1d\x63ometbft/types/v1/block.proto\x1a\x19google/protobuf/any.proto\x1a\x19\x63osmos_proto/cosmos.proto\"\xcd\x03\n\nTxResponse\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\"\n\x06txhash\x18\x02 \x01(\tB\n\xe2\xde\x1f\x06TxHashR\x06txhash\x12\x1c\n\tcodespace\x18\x03 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x04 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x05 \x01(\tR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x06 \x01(\tR\x06rawLog\x12U\n\x04logs\x18\x07 \x03(\x0b\x32(.cosmos.base.abci.v1beta1.ABCIMessageLogB\x17\xc8\xde\x1f\x00\xaa\xdf\x1f\x0f\x41\x42\x43IMessageLogsR\x04logs\x12\x12\n\x04info\x18\x08 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\t \x01(\x03R\tgasWanted\x12\x19\n\x08gas_used\x18\n \x01(\x03R\x07gasUsed\x12$\n\x02tx\x18\x0b \x01(\x0b\x32\x14.google.protobuf.AnyR\x02tx\x12\x1c\n\ttimestamp\x18\x0c \x01(\tR\ttimestamp\x12\x35\n\x06\x65vents\x18\r \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x04\xc8\xde\x1f\x00R\x06\x65vents:\x04\x88\xa0\x1f\x00\"\xa9\x01\n\x0e\x41\x42\x43IMessageLog\x12*\n\tmsg_index\x18\x01 \x01(\rB\r\xea\xde\x1f\tmsg_indexR\x08msgIndex\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12S\n\x06\x65vents\x18\x03 \x03(\x0b\x32%.cosmos.base.abci.v1beta1.StringEventB\x14\xc8\xde\x1f\x00\xaa\xdf\x1f\x0cStringEventsR\x06\x65vents:\x04\x80\xdc \x01\"r\n\x0bStringEvent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12I\n\nattributes\x18\x02 \x03(\x0b\x32#.cosmos.base.abci.v1beta1.AttributeB\x04\xc8\xde\x1f\x00R\nattributes:\x04\x80\xdc \x01\"3\n\tAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"C\n\x07GasInfo\x12\x1d\n\ngas_wanted\x18\x01 \x01(\x04R\tgasWanted\x12\x19\n\x08gas_used\x18\x02 \x01(\x04R\x07gasUsed\"\xaa\x01\n\x06Result\x12\x16\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42\x02\x18\x01R\x04\x64\x61ta\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12\x35\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x17.cometbft.abci.v1.EventB\x04\xc8\xde\x1f\x00R\x06\x65vents\x12\x39\n\rmsg_responses\x18\x04 \x03(\x0b\x32\x14.google.protobuf.AnyR\x0cmsgResponses:\x04\x88\xa0\x1f\x00\"\x96\x01\n\x12SimulationResponse\x12\x46\n\x08gas_info\x18\x01 \x01(\x0b\x32!.cosmos.base.abci.v1beta1.GasInfoB\x08\xc8\xde\x1f\x00\xd0\xde\x1f\x01R\x07gasInfo\x12\x38\n\x06result\x18\x02 \x01(\x0b\x32 .cosmos.base.abci.v1beta1.ResultR\x06result\"@\n\x07MsgData\x12\x19\n\x08msg_type\x18\x01 \x01(\tR\x07msgType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta:\x06\x18\x01\x80\xdc \x01\"\x87\x01\n\tTxMsgData\x12\x39\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32!.cosmos.base.abci.v1beta1.MsgDataB\x02\x18\x01R\x04\x64\x61ta\x12\x39\n\rmsg_responses\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyR\x0cmsgResponses:\x04\x80\xdc \x01\"\xdc\x01\n\x0fSearchTxsResult\x12\x1f\n\x0btotal_count\x18\x01 \x01(\x04R\ntotalCount\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\x12\x1f\n\x0bpage_number\x18\x03 \x01(\x04R\npageNumber\x12\x1d\n\npage_total\x18\x04 \x01(\x04R\tpageTotal\x12\x14\n\x05limit\x18\x05 \x01(\x04R\x05limit\x12\x36\n\x03txs\x18\x06 \x03(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\x03txs:\x04\x80\xdc \x01\"\xd9\x01\n\x12SearchBlocksResult\x12\x1f\n\x0btotal_count\x18\x01 \x01(\x03R\ntotalCount\x12\x14\n\x05\x63ount\x18\x02 \x01(\x03R\x05\x63ount\x12\x1f\n\x0bpage_number\x18\x03 \x01(\x03R\npageNumber\x12\x1d\n\npage_total\x18\x04 \x01(\x03R\tpageTotal\x12\x14\n\x05limit\x18\x05 \x01(\x03R\x05limit\x12\x30\n\x06\x62locks\x18\x06 \x03(\x0b\x32\x18.cometbft.types.v1.BlockR\x06\x62locks:\x04\x80\xdc \x01\x42\xd4\x01\n\x1c\x63om.cosmos.base.abci.v1beta1B\tAbciProtoP\x01Z\"github.com/cosmos/cosmos-sdk/types\xa2\x02\x03\x43\x42\x41\xaa\x02\x18\x43osmos.Base.Abci.V1beta1\xca\x02\x18\x43osmos\\Base\\Abci\\V1beta1\xe2\x02$Cosmos\\Base\\Abci\\V1beta1\\GPBMetadata\xea\x02\x1b\x43osmos::Base::Abci::V1beta1\xd8\xe1\x1e\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -62,26 +63,26 @@ _globals['_SEARCHTXSRESULT']._serialized_options = b'\200\334 \001' _globals['_SEARCHBLOCKSRESULT']._loaded_options = None _globals['_SEARCHBLOCKSRESULT']._serialized_options = b'\200\334 \001' - _globals['_TXRESPONSE']._serialized_start=174 - _globals['_TXRESPONSE']._serialized_end=634 - _globals['_ABCIMESSAGELOG']._serialized_start=637 - _globals['_ABCIMESSAGELOG']._serialized_end=806 - _globals['_STRINGEVENT']._serialized_start=808 - _globals['_STRINGEVENT']._serialized_end=922 - _globals['_ATTRIBUTE']._serialized_start=924 - _globals['_ATTRIBUTE']._serialized_end=975 - _globals['_GASINFO']._serialized_start=977 - _globals['_GASINFO']._serialized_end=1044 - _globals['_RESULT']._serialized_start=1047 - _globals['_RESULT']._serialized_end=1216 - _globals['_SIMULATIONRESPONSE']._serialized_start=1219 - _globals['_SIMULATIONRESPONSE']._serialized_end=1369 - _globals['_MSGDATA']._serialized_start=1371 - _globals['_MSGDATA']._serialized_end=1435 - _globals['_TXMSGDATA']._serialized_start=1438 - _globals['_TXMSGDATA']._serialized_end=1573 - _globals['_SEARCHTXSRESULT']._serialized_start=1576 - _globals['_SEARCHTXSRESULT']._serialized_end=1796 - _globals['_SEARCHBLOCKSRESULT']._serialized_start=1799 - _globals['_SEARCHBLOCKSRESULT']._serialized_end=2015 + _globals['_TXRESPONSE']._serialized_start=203 + _globals['_TXRESPONSE']._serialized_end=664 + _globals['_ABCIMESSAGELOG']._serialized_start=667 + _globals['_ABCIMESSAGELOG']._serialized_end=836 + _globals['_STRINGEVENT']._serialized_start=838 + _globals['_STRINGEVENT']._serialized_end=952 + _globals['_ATTRIBUTE']._serialized_start=954 + _globals['_ATTRIBUTE']._serialized_end=1005 + _globals['_GASINFO']._serialized_start=1007 + _globals['_GASINFO']._serialized_end=1074 + _globals['_RESULT']._serialized_start=1077 + _globals['_RESULT']._serialized_end=1247 + _globals['_SIMULATIONRESPONSE']._serialized_start=1250 + _globals['_SIMULATIONRESPONSE']._serialized_end=1400 + _globals['_MSGDATA']._serialized_start=1402 + _globals['_MSGDATA']._serialized_end=1466 + _globals['_TXMSGDATA']._serialized_start=1469 + _globals['_TXMSGDATA']._serialized_end=1604 + _globals['_SEARCHTXSRESULT']._serialized_start=1607 + _globals['_SEARCHTXSRESULT']._serialized_end=1827 + _globals['_SEARCHBLOCKSRESULT']._serialized_start=1830 + _globals['_SEARCHBLOCKSRESULT']._serialized_end=2047 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/base/tendermint/v1beta1/query_pb2.py b/pyinjective/proto/cosmos/base/tendermint/v1beta1/query_pb2.py index 17d870f8..0e00d68a 100644 --- a/pyinjective/proto/cosmos/base/tendermint/v1beta1/query_pb2.py +++ b/pyinjective/proto/cosmos/base/tendermint/v1beta1/query_pb2.py @@ -15,16 +15,16 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from pyinjective.proto.tendermint.p2p import types_pb2 as tendermint_dot_p2p_dot_types__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 +from pyinjective.proto.cometbft.p2p.v1 import types_pb2 as cometbft_dot_p2p_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 from pyinjective.proto.cosmos.base.tendermint.v1beta1 import types_pb2 as cosmos_dot_base_dot_tendermint_dot_v1beta1_dot_types__pb2 from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 -from pyinjective.proto.tendermint.types import block_pb2 as tendermint_dot_types_dot_block__pb2 +from pyinjective.proto.cometbft.types.v1 import block_pb2 as cometbft_dot_types_dot_v1_dot_block__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cosmos/base/tendermint/v1beta1/query.proto\x12\x1e\x63osmos.base.tendermint.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1atendermint/p2p/types.proto\x1a\x1ctendermint/types/types.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*cosmos/base/tendermint/v1beta1/types.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1ctendermint/types/block.proto\x1a\x11\x61mino/amino.proto\"\x80\x01\n\x1eGetValidatorSetByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xd8\x01\n\x1fGetValidatorSetByHeightResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12I\n\nvalidators\x18\x02 \x03(\x0b\x32).cosmos.base.tendermint.v1beta1.ValidatorR\nvalidators\x12G\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"f\n\x1cGetLatestValidatorSetRequest\x12\x46\n\npagination\x18\x01 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xd6\x01\n\x1dGetLatestValidatorSetResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12I\n\nvalidators\x18\x02 \x03(\x0b\x32).cosmos.base.tendermint.v1beta1.ValidatorR\nvalidators\x12G\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbe\x01\n\tValidator\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12-\n\x07pub_key\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\"1\n\x17GetBlockByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\xc3\x01\n\x18GetBlockByHeightResponse\x12\x34\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x19.tendermint.types.BlockIDR\x07\x62lockId\x12-\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x17.tendermint.types.BlockR\x05\x62lock\x12\x42\n\tsdk_block\x18\x03 \x01(\x0b\x32%.cosmos.base.tendermint.v1beta1.BlockR\x08sdkBlock\"\x17\n\x15GetLatestBlockRequest\"\xc1\x01\n\x16GetLatestBlockResponse\x12\x34\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x19.tendermint.types.BlockIDR\x07\x62lockId\x12-\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x17.tendermint.types.BlockR\x05\x62lock\x12\x42\n\tsdk_block\x18\x03 \x01(\x0b\x32%.cosmos.base.tendermint.v1beta1.BlockR\x08sdkBlock\"\x13\n\x11GetSyncingRequest\".\n\x12GetSyncingResponse\x12\x18\n\x07syncing\x18\x01 \x01(\x08R\x07syncing\"\x14\n\x12GetNodeInfoRequest\"\xc0\x01\n\x13GetNodeInfoResponse\x12K\n\x11\x64\x65\x66\x61ult_node_info\x18\x01 \x01(\x0b\x32\x1f.tendermint.p2p.DefaultNodeInfoR\x0f\x64\x65\x66\x61ultNodeInfo\x12\\\n\x13\x61pplication_version\x18\x02 \x01(\x0b\x32+.cosmos.base.tendermint.v1beta1.VersionInfoR\x12\x61pplicationVersion\"\xa8\x02\n\x0bVersionInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n\x08\x61pp_name\x18\x02 \x01(\tR\x07\x61ppName\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x1d\n\ngit_commit\x18\x04 \x01(\tR\tgitCommit\x12\x1d\n\nbuild_tags\x18\x05 \x01(\tR\tbuildTags\x12\x1d\n\ngo_version\x18\x06 \x01(\tR\tgoVersion\x12\x45\n\nbuild_deps\x18\x07 \x03(\x0b\x32&.cosmos.base.tendermint.v1beta1.ModuleR\tbuildDeps\x12,\n\x12\x63osmos_sdk_version\x18\x08 \x01(\tR\x10\x63osmosSdkVersion\"H\n\x06Module\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x10\n\x03sum\x18\x03 \x01(\tR\x03sum\"h\n\x10\x41\x42\x43IQueryRequest\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"\x8e\x02\n\x11\x41\x42\x43IQueryResponse\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x12\x45\n\tproof_ops\x18\x08 \x01(\x0b\x32(.cosmos.base.tendermint.v1beta1.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespaceJ\x04\x08\x02\x10\x03\"C\n\x07ProofOp\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\"P\n\x08ProofOps\x12\x44\n\x03ops\x18\x01 \x03(\x0b\x32\'.cosmos.base.tendermint.v1beta1.ProofOpB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x03ops2\xaf\n\n\x07Service\x12\xa9\x01\n\x0bGetNodeInfo\x12\x32.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest\x1a\x33.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse\"1\x82\xd3\xe4\x93\x02+\x12)/cosmos/base/tendermint/v1beta1/node_info\x12\xa4\x01\n\nGetSyncing\x12\x31.cosmos.base.tendermint.v1beta1.GetSyncingRequest\x1a\x32.cosmos.base.tendermint.v1beta1.GetSyncingResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/cosmos/base/tendermint/v1beta1/syncing\x12\xb6\x01\n\x0eGetLatestBlock\x12\x35.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest\x1a\x36.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse\"5\x82\xd3\xe4\x93\x02/\x12-/cosmos/base/tendermint/v1beta1/blocks/latest\x12\xbe\x01\n\x10GetBlockByHeight\x12\x37.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest\x1a\x38.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//cosmos/base/tendermint/v1beta1/blocks/{height}\x12\xd2\x01\n\x15GetLatestValidatorSet\x12<.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest\x1a=.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/cosmos/base/tendermint/v1beta1/validatorsets/latest\x12\xda\x01\n\x17GetValidatorSetByHeight\x12>.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest\x1a?.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/cosmos/base/tendermint/v1beta1/validatorsets/{height}\x12\xa4\x01\n\tABCIQuery\x12\x30.cosmos.base.tendermint.v1beta1.ABCIQueryRequest\x1a\x31.cosmos.base.tendermint.v1beta1.ABCIQueryResponse\"2\x82\xd3\xe4\x93\x02,\x12*/cosmos/base/tendermint/v1beta1/abci_queryB\x80\x02\n\"com.cosmos.base.tendermint.v1beta1B\nQueryProtoP\x01Z3github.com/cosmos/cosmos-sdk/client/grpc/cmtservice\xa2\x02\x03\x43\x42T\xaa\x02\x1e\x43osmos.Base.Tendermint.V1beta1\xca\x02\x1e\x43osmos\\Base\\Tendermint\\V1beta1\xe2\x02*Cosmos\\Base\\Tendermint\\V1beta1\\GPBMetadata\xea\x02!Cosmos::Base::Tendermint::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cosmos/base/tendermint/v1beta1/query.proto\x12\x1e\x63osmos.base.tendermint.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1b\x63ometbft/p2p/v1/types.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*cosmos/base/tendermint/v1beta1/types.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1d\x63ometbft/types/v1/block.proto\x1a\x11\x61mino/amino.proto\"\x80\x01\n\x1eGetValidatorSetByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xd8\x01\n\x1fGetValidatorSetByHeightResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12I\n\nvalidators\x18\x02 \x03(\x0b\x32).cosmos.base.tendermint.v1beta1.ValidatorR\nvalidators\x12G\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"f\n\x1cGetLatestValidatorSetRequest\x12\x46\n\npagination\x18\x01 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xd6\x01\n\x1dGetLatestValidatorSetResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12I\n\nvalidators\x18\x02 \x03(\x0b\x32).cosmos.base.tendermint.v1beta1.ValidatorR\nvalidators\x12G\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbe\x01\n\tValidator\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12-\n\x07pub_key\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\"1\n\x17GetBlockByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\xc5\x01\n\x18GetBlockByHeightResponse\x12\x35\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDR\x07\x62lockId\x12.\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x18.cometbft.types.v1.BlockR\x05\x62lock\x12\x42\n\tsdk_block\x18\x03 \x01(\x0b\x32%.cosmos.base.tendermint.v1beta1.BlockR\x08sdkBlock\"\x17\n\x15GetLatestBlockRequest\"\xc3\x01\n\x16GetLatestBlockResponse\x12\x35\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDR\x07\x62lockId\x12.\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x18.cometbft.types.v1.BlockR\x05\x62lock\x12\x42\n\tsdk_block\x18\x03 \x01(\x0b\x32%.cosmos.base.tendermint.v1beta1.BlockR\x08sdkBlock\"\x13\n\x11GetSyncingRequest\".\n\x12GetSyncingResponse\x12\x18\n\x07syncing\x18\x01 \x01(\x08R\x07syncing\"\x14\n\x12GetNodeInfoRequest\"\xc1\x01\n\x13GetNodeInfoResponse\x12L\n\x11\x64\x65\x66\x61ult_node_info\x18\x01 \x01(\x0b\x32 .cometbft.p2p.v1.DefaultNodeInfoR\x0f\x64\x65\x66\x61ultNodeInfo\x12\\\n\x13\x61pplication_version\x18\x02 \x01(\x0b\x32+.cosmos.base.tendermint.v1beta1.VersionInfoR\x12\x61pplicationVersion\"\xa8\x02\n\x0bVersionInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n\x08\x61pp_name\x18\x02 \x01(\tR\x07\x61ppName\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x1d\n\ngit_commit\x18\x04 \x01(\tR\tgitCommit\x12\x1d\n\nbuild_tags\x18\x05 \x01(\tR\tbuildTags\x12\x1d\n\ngo_version\x18\x06 \x01(\tR\tgoVersion\x12\x45\n\nbuild_deps\x18\x07 \x03(\x0b\x32&.cosmos.base.tendermint.v1beta1.ModuleR\tbuildDeps\x12,\n\x12\x63osmos_sdk_version\x18\x08 \x01(\tR\x10\x63osmosSdkVersion\"H\n\x06Module\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x10\n\x03sum\x18\x03 \x01(\tR\x03sum\"h\n\x10\x41\x42\x43IQueryRequest\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"\x8e\x02\n\x11\x41\x42\x43IQueryResponse\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x12\x45\n\tproof_ops\x18\x08 \x01(\x0b\x32(.cosmos.base.tendermint.v1beta1.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespaceJ\x04\x08\x02\x10\x03\"C\n\x07ProofOp\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\"P\n\x08ProofOps\x12\x44\n\x03ops\x18\x01 \x03(\x0b\x32\'.cosmos.base.tendermint.v1beta1.ProofOpB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x03ops2\xaf\n\n\x07Service\x12\xa9\x01\n\x0bGetNodeInfo\x12\x32.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest\x1a\x33.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse\"1\x82\xd3\xe4\x93\x02+\x12)/cosmos/base/tendermint/v1beta1/node_info\x12\xa4\x01\n\nGetSyncing\x12\x31.cosmos.base.tendermint.v1beta1.GetSyncingRequest\x1a\x32.cosmos.base.tendermint.v1beta1.GetSyncingResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/cosmos/base/tendermint/v1beta1/syncing\x12\xb6\x01\n\x0eGetLatestBlock\x12\x35.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest\x1a\x36.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse\"5\x82\xd3\xe4\x93\x02/\x12-/cosmos/base/tendermint/v1beta1/blocks/latest\x12\xbe\x01\n\x10GetBlockByHeight\x12\x37.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest\x1a\x38.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//cosmos/base/tendermint/v1beta1/blocks/{height}\x12\xd2\x01\n\x15GetLatestValidatorSet\x12<.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest\x1a=.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/cosmos/base/tendermint/v1beta1/validatorsets/latest\x12\xda\x01\n\x17GetValidatorSetByHeight\x12>.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest\x1a?.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/cosmos/base/tendermint/v1beta1/validatorsets/{height}\x12\xa4\x01\n\tABCIQuery\x12\x30.cosmos.base.tendermint.v1beta1.ABCIQueryRequest\x1a\x31.cosmos.base.tendermint.v1beta1.ABCIQueryResponse\"2\x82\xd3\xe4\x93\x02,\x12*/cosmos/base/tendermint/v1beta1/abci_queryB\x80\x02\n\"com.cosmos.base.tendermint.v1beta1B\nQueryProtoP\x01Z3github.com/cosmos/cosmos-sdk/client/grpc/cmtservice\xa2\x02\x03\x43\x42T\xaa\x02\x1e\x43osmos.Base.Tendermint.V1beta1\xca\x02\x1e\x43osmos\\Base\\Tendermint\\V1beta1\xe2\x02*Cosmos\\Base\\Tendermint\\V1beta1\\GPBMetadata\xea\x02!Cosmos::Base::Tendermint::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,44 +50,44 @@ _globals['_SERVICE'].methods_by_name['GetValidatorSetByHeight']._serialized_options = b'\202\323\344\223\0028\0226/cosmos/base/tendermint/v1beta1/validatorsets/{height}' _globals['_SERVICE'].methods_by_name['ABCIQuery']._loaded_options = None _globals['_SERVICE'].methods_by_name['ABCIQuery']._serialized_options = b'\202\323\344\223\002,\022*/cosmos/base/tendermint/v1beta1/abci_query' - _globals['_GETVALIDATORSETBYHEIGHTREQUEST']._serialized_start=380 - _globals['_GETVALIDATORSETBYHEIGHTREQUEST']._serialized_end=508 - _globals['_GETVALIDATORSETBYHEIGHTRESPONSE']._serialized_start=511 - _globals['_GETVALIDATORSETBYHEIGHTRESPONSE']._serialized_end=727 - _globals['_GETLATESTVALIDATORSETREQUEST']._serialized_start=729 - _globals['_GETLATESTVALIDATORSETREQUEST']._serialized_end=831 - _globals['_GETLATESTVALIDATORSETRESPONSE']._serialized_start=834 - _globals['_GETLATESTVALIDATORSETRESPONSE']._serialized_end=1048 - _globals['_VALIDATOR']._serialized_start=1051 - _globals['_VALIDATOR']._serialized_end=1241 - _globals['_GETBLOCKBYHEIGHTREQUEST']._serialized_start=1243 - _globals['_GETBLOCKBYHEIGHTREQUEST']._serialized_end=1292 - _globals['_GETBLOCKBYHEIGHTRESPONSE']._serialized_start=1295 - _globals['_GETBLOCKBYHEIGHTRESPONSE']._serialized_end=1490 - _globals['_GETLATESTBLOCKREQUEST']._serialized_start=1492 - _globals['_GETLATESTBLOCKREQUEST']._serialized_end=1515 - _globals['_GETLATESTBLOCKRESPONSE']._serialized_start=1518 - _globals['_GETLATESTBLOCKRESPONSE']._serialized_end=1711 - _globals['_GETSYNCINGREQUEST']._serialized_start=1713 - _globals['_GETSYNCINGREQUEST']._serialized_end=1732 - _globals['_GETSYNCINGRESPONSE']._serialized_start=1734 - _globals['_GETSYNCINGRESPONSE']._serialized_end=1780 - _globals['_GETNODEINFOREQUEST']._serialized_start=1782 - _globals['_GETNODEINFOREQUEST']._serialized_end=1802 - _globals['_GETNODEINFORESPONSE']._serialized_start=1805 - _globals['_GETNODEINFORESPONSE']._serialized_end=1997 - _globals['_VERSIONINFO']._serialized_start=2000 - _globals['_VERSIONINFO']._serialized_end=2296 - _globals['_MODULE']._serialized_start=2298 - _globals['_MODULE']._serialized_end=2370 - _globals['_ABCIQUERYREQUEST']._serialized_start=2372 - _globals['_ABCIQUERYREQUEST']._serialized_end=2476 - _globals['_ABCIQUERYRESPONSE']._serialized_start=2479 - _globals['_ABCIQUERYRESPONSE']._serialized_end=2749 - _globals['_PROOFOP']._serialized_start=2751 - _globals['_PROOFOP']._serialized_end=2818 - _globals['_PROOFOPS']._serialized_start=2820 - _globals['_PROOFOPS']._serialized_end=2900 - _globals['_SERVICE']._serialized_start=2903 - _globals['_SERVICE']._serialized_end=4230 + _globals['_GETVALIDATORSETBYHEIGHTREQUEST']._serialized_start=383 + _globals['_GETVALIDATORSETBYHEIGHTREQUEST']._serialized_end=511 + _globals['_GETVALIDATORSETBYHEIGHTRESPONSE']._serialized_start=514 + _globals['_GETVALIDATORSETBYHEIGHTRESPONSE']._serialized_end=730 + _globals['_GETLATESTVALIDATORSETREQUEST']._serialized_start=732 + _globals['_GETLATESTVALIDATORSETREQUEST']._serialized_end=834 + _globals['_GETLATESTVALIDATORSETRESPONSE']._serialized_start=837 + _globals['_GETLATESTVALIDATORSETRESPONSE']._serialized_end=1051 + _globals['_VALIDATOR']._serialized_start=1054 + _globals['_VALIDATOR']._serialized_end=1244 + _globals['_GETBLOCKBYHEIGHTREQUEST']._serialized_start=1246 + _globals['_GETBLOCKBYHEIGHTREQUEST']._serialized_end=1295 + _globals['_GETBLOCKBYHEIGHTRESPONSE']._serialized_start=1298 + _globals['_GETBLOCKBYHEIGHTRESPONSE']._serialized_end=1495 + _globals['_GETLATESTBLOCKREQUEST']._serialized_start=1497 + _globals['_GETLATESTBLOCKREQUEST']._serialized_end=1520 + _globals['_GETLATESTBLOCKRESPONSE']._serialized_start=1523 + _globals['_GETLATESTBLOCKRESPONSE']._serialized_end=1718 + _globals['_GETSYNCINGREQUEST']._serialized_start=1720 + _globals['_GETSYNCINGREQUEST']._serialized_end=1739 + _globals['_GETSYNCINGRESPONSE']._serialized_start=1741 + _globals['_GETSYNCINGRESPONSE']._serialized_end=1787 + _globals['_GETNODEINFOREQUEST']._serialized_start=1789 + _globals['_GETNODEINFOREQUEST']._serialized_end=1809 + _globals['_GETNODEINFORESPONSE']._serialized_start=1812 + _globals['_GETNODEINFORESPONSE']._serialized_end=2005 + _globals['_VERSIONINFO']._serialized_start=2008 + _globals['_VERSIONINFO']._serialized_end=2304 + _globals['_MODULE']._serialized_start=2306 + _globals['_MODULE']._serialized_end=2378 + _globals['_ABCIQUERYREQUEST']._serialized_start=2380 + _globals['_ABCIQUERYREQUEST']._serialized_end=2484 + _globals['_ABCIQUERYRESPONSE']._serialized_start=2487 + _globals['_ABCIQUERYRESPONSE']._serialized_end=2757 + _globals['_PROOFOP']._serialized_start=2759 + _globals['_PROOFOP']._serialized_end=2826 + _globals['_PROOFOPS']._serialized_start=2828 + _globals['_PROOFOPS']._serialized_end=2908 + _globals['_SERVICE']._serialized_start=2911 + _globals['_SERVICE']._serialized_end=4238 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/base/tendermint/v1beta1/types_pb2.py b/pyinjective/proto/cosmos/base/tendermint/v1beta1/types_pb2.py index ebfc1954..cf7dc769 100644 --- a/pyinjective/proto/cosmos/base/tendermint/v1beta1/types_pb2.py +++ b/pyinjective/proto/cosmos/base/tendermint/v1beta1/types_pb2.py @@ -13,14 +13,14 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 -from pyinjective.proto.tendermint.types import evidence_pb2 as tendermint_dot_types_dot_evidence__pb2 -from pyinjective.proto.tendermint.version import types_pb2 as tendermint_dot_version_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import evidence_pb2 as cometbft_dot_types_dot_v1_dot_evidence__pb2 +from pyinjective.proto.cometbft.version.v1 import types_pb2 as cometbft_dot_version_dot_v1_dot_types__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cosmos/base/tendermint/v1beta1/types.proto\x12\x1e\x63osmos.base.tendermint.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1ctendermint/types/types.proto\x1a\x1ftendermint/types/evidence.proto\x1a\x1etendermint/version/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11\x61mino/amino.proto\"\x8b\x02\n\x05\x42lock\x12I\n\x06header\x18\x01 \x01(\x0b\x32&.cosmos.base.tendermint.v1beta1.HeaderB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06header\x12\x35\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.tendermint.types.DataB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x04\x64\x61ta\x12\x45\n\x08\x65vidence\x18\x03 \x01(\x0b\x32\x1e.tendermint.types.EvidenceListB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x08\x65vidence\x12\x39\n\x0blast_commit\x18\x04 \x01(\x0b\x32\x18.tendermint.types.CommitR\nlastCommit\"\xf5\x04\n\x06Header\x12\x42\n\x07version\x18\x01 \x01(\x0b\x32\x1d.tendermint.version.ConsensusB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12=\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x04time\x12H\n\rlast_block_id\x18\x05 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08\x64\x61taHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x12\x30\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0e\x63onsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08\x61pp_hash\x18\x0b \x01(\x0cR\x07\x61ppHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0c\x65videnceHash\x12)\n\x10proposer_address\x18\x0e \x01(\tR\x0fproposerAddressB\x80\x02\n\"com.cosmos.base.tendermint.v1beta1B\nTypesProtoP\x01Z3github.com/cosmos/cosmos-sdk/client/grpc/cmtservice\xa2\x02\x03\x43\x42T\xaa\x02\x1e\x43osmos.Base.Tendermint.V1beta1\xca\x02\x1e\x43osmos\\Base\\Tendermint\\V1beta1\xe2\x02*Cosmos\\Base\\Tendermint\\V1beta1\\GPBMetadata\xea\x02!Cosmos::Base::Tendermint::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*cosmos/base/tendermint/v1beta1/types.proto\x12\x1e\x63osmos.base.tendermint.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a cometbft/types/v1/evidence.proto\x1a\x1f\x63ometbft/version/v1/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11\x61mino/amino.proto\"\x8e\x02\n\x05\x42lock\x12I\n\x06header\x18\x01 \x01(\x0b\x32&.cosmos.base.tendermint.v1beta1.HeaderB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06header\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.cometbft.types.v1.DataB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x04\x64\x61ta\x12\x46\n\x08\x65vidence\x18\x03 \x01(\x0b\x32\x1f.cometbft.types.v1.EvidenceListB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x08\x65vidence\x12:\n\x0blast_commit\x18\x04 \x01(\x0b\x32\x19.cometbft.types.v1.CommitR\nlastCommit\"\xf7\x04\n\x06Header\x12\x43\n\x07version\x18\x01 \x01(\x0b\x32\x1e.cometbft.version.v1.ConsensusB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12=\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x04time\x12I\n\rlast_block_id\x18\x05 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08\x64\x61taHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x12\x30\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0e\x63onsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08\x61pp_hash\x18\x0b \x01(\x0cR\x07\x61ppHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0c\x65videnceHash\x12)\n\x10proposer_address\x18\x0e \x01(\tR\x0fproposerAddressB\x80\x02\n\"com.cosmos.base.tendermint.v1beta1B\nTypesProtoP\x01Z3github.com/cosmos/cosmos-sdk/client/grpc/cmtservice\xa2\x02\x03\x43\x42T\xaa\x02\x1e\x43osmos.Base.Tendermint.V1beta1\xca\x02\x1e\x43osmos\\Base\\Tendermint\\V1beta1\xe2\x02*Cosmos\\Base\\Tendermint\\V1beta1\\GPBMetadata\xea\x02!Cosmos::Base::Tendermint::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,8 +42,8 @@ _globals['_HEADER'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001\250\347\260*\001' _globals['_HEADER'].fields_by_name['last_block_id']._loaded_options = None _globals['_HEADER'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000\250\347\260*\001' - _globals['_BLOCK']._serialized_start=248 - _globals['_BLOCK']._serialized_end=515 - _globals['_HEADER']._serialized_start=518 - _globals['_HEADER']._serialized_end=1147 + _globals['_BLOCK']._serialized_start=251 + _globals['_BLOCK']._serialized_end=521 + _globals['_HEADER']._serialized_start=524 + _globals['_HEADER']._serialized_end=1155 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/consensus/v1/query_pb2.py b/pyinjective/proto/cosmos/consensus/v1/query_pb2.py index 32464859..6593f4ca 100644 --- a/pyinjective/proto/cosmos/consensus/v1/query_pb2.py +++ b/pyinjective/proto/cosmos/consensus/v1/query_pb2.py @@ -13,10 +13,10 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from pyinjective.proto.tendermint.types import params_pb2 as tendermint_dot_types_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/consensus/v1/query.proto\x12\x13\x63osmos.consensus.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1dtendermint/types/params.proto\"\x14\n\x12QueryParamsRequest\"P\n\x13QueryParamsResponse\x12\x39\n\x06params\x18\x01 \x01(\x0b\x32!.tendermint.types.ConsensusParamsR\x06params2\x8a\x01\n\x05Query\x12\x80\x01\n\x06Params\x12\'.cosmos.consensus.v1.QueryParamsRequest\x1a(.cosmos.consensus.v1.QueryParamsResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/cosmos/consensus/v1/paramsB\xc3\x01\n\x17\x63om.cosmos.consensus.v1B\nQueryProtoP\x01Z.github.com/cosmos/cosmos-sdk/x/consensus/types\xa2\x02\x03\x43\x43X\xaa\x02\x13\x43osmos.Consensus.V1\xca\x02\x13\x43osmos\\Consensus\\V1\xe2\x02\x1f\x43osmos\\Consensus\\V1\\GPBMetadata\xea\x02\x15\x43osmos::Consensus::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/consensus/v1/query.proto\x12\x13\x63osmos.consensus.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63ometbft/types/v1/params.proto\"\x14\n\x12QueryParamsRequest\"Q\n\x13QueryParamsResponse\x12:\n\x06params\x18\x01 \x01(\x0b\x32\".cometbft.types.v1.ConsensusParamsR\x06params2\x8a\x01\n\x05Query\x12\x80\x01\n\x06Params\x12\'.cosmos.consensus.v1.QueryParamsRequest\x1a(.cosmos.consensus.v1.QueryParamsResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/cosmos/consensus/v1/paramsB\xc3\x01\n\x17\x63om.cosmos.consensus.v1B\nQueryProtoP\x01Z.github.com/cosmos/cosmos-sdk/x/consensus/types\xa2\x02\x03\x43\x43X\xaa\x02\x13\x43osmos.Consensus.V1\xca\x02\x13\x43osmos\\Consensus\\V1\xe2\x02\x1f\x43osmos\\Consensus\\V1\\GPBMetadata\xea\x02\x15\x43osmos::Consensus::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,10 +26,10 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cosmos.consensus.v1B\nQueryProtoP\001Z.github.com/cosmos/cosmos-sdk/x/consensus/types\242\002\003CCX\252\002\023Cosmos.Consensus.V1\312\002\023Cosmos\\Consensus\\V1\342\002\037Cosmos\\Consensus\\V1\\GPBMetadata\352\002\025Cosmos::Consensus::V1' _globals['_QUERY'].methods_by_name['Params']._loaded_options = None _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\035\022\033/cosmos/consensus/v1/params' - _globals['_QUERYPARAMSREQUEST']._serialized_start=117 - _globals['_QUERYPARAMSREQUEST']._serialized_end=137 - _globals['_QUERYPARAMSRESPONSE']._serialized_start=139 - _globals['_QUERYPARAMSRESPONSE']._serialized_end=219 - _globals['_QUERY']._serialized_start=222 - _globals['_QUERY']._serialized_end=360 + _globals['_QUERYPARAMSREQUEST']._serialized_start=118 + _globals['_QUERYPARAMSREQUEST']._serialized_end=138 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=140 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=221 + _globals['_QUERY']._serialized_start=224 + _globals['_QUERY']._serialized_end=362 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/consensus/v1/tx_pb2.py b/pyinjective/proto/cosmos/consensus/v1/tx_pb2.py index 584d4c38..6c492bfd 100644 --- a/pyinjective/proto/cosmos/consensus/v1/tx_pb2.py +++ b/pyinjective/proto/cosmos/consensus/v1/tx_pb2.py @@ -15,10 +15,10 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 -from pyinjective.proto.tendermint.types import params_pb2 as tendermint_dot_types_dot_params__pb2 +from pyinjective.proto.cometbft.types.v1 import params_pb2 as cometbft_dot_types_dot_v1_dot_params__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmos/consensus/v1/tx.proto\x12\x13\x63osmos.consensus.v1\x1a\x11\x61mino/amino.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x1dtendermint/types/params.proto\"\xea\x02\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x33\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x1d.tendermint.types.BlockParamsR\x05\x62lock\x12<\n\x08\x65vidence\x18\x03 \x01(\x0b\x32 .tendermint.types.EvidenceParamsR\x08\x65vidence\x12?\n\tvalidator\x18\x04 \x01(\x0b\x32!.tendermint.types.ValidatorParamsR\tvalidator\x12\x30\n\x04\x61\x62\x63i\x18\x05 \x01(\x0b\x32\x1c.tendermint.types.ABCIParamsR\x04\x61\x62\x63i:9\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*&cosmos-sdk/x/consensus/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2p\n\x03Msg\x12\x62\n\x0cUpdateParams\x12$.cosmos.consensus.v1.MsgUpdateParams\x1a,.cosmos.consensus.v1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xc0\x01\n\x17\x63om.cosmos.consensus.v1B\x07TxProtoP\x01Z.github.com/cosmos/cosmos-sdk/x/consensus/types\xa2\x02\x03\x43\x43X\xaa\x02\x13\x43osmos.Consensus.V1\xca\x02\x13\x43osmos\\Consensus\\V1\xe2\x02\x1f\x43osmos\\Consensus\\V1\\GPBMetadata\xea\x02\x15\x43osmos::Consensus::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmos/consensus/v1/tx.proto\x12\x13\x63osmos.consensus.v1\x1a\x11\x61mino/amino.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x1e\x63ometbft/types/v1/params.proto\"\xec\x03\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x34\n\x05\x62lock\x18\x02 \x01(\x0b\x32\x1e.cometbft.types.v1.BlockParamsR\x05\x62lock\x12=\n\x08\x65vidence\x18\x03 \x01(\x0b\x32!.cometbft.types.v1.EvidenceParamsR\x08\x65vidence\x12@\n\tvalidator\x18\x04 \x01(\x0b\x32\".cometbft.types.v1.ValidatorParamsR\tvalidator\x12\x31\n\x04\x61\x62\x63i\x18\x05 \x01(\x0b\x32\x1d.cometbft.types.v1.ABCIParamsR\x04\x61\x62\x63i\x12@\n\tsynchrony\x18\x06 \x01(\x0b\x32\".cometbft.types.v1.SynchronyParamsR\tsynchrony\x12:\n\x07\x66\x65\x61ture\x18\x07 \x01(\x0b\x32 .cometbft.types.v1.FeatureParamsR\x07\x66\x65\x61ture:9\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*&cosmos-sdk/x/consensus/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2p\n\x03Msg\x12\x62\n\x0cUpdateParams\x12$.cosmos.consensus.v1.MsgUpdateParams\x1a,.cosmos.consensus.v1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xc0\x01\n\x17\x63om.cosmos.consensus.v1B\x07TxProtoP\x01Z.github.com/cosmos/cosmos-sdk/x/consensus/types\xa2\x02\x03\x43\x43X\xaa\x02\x13\x43osmos.Consensus.V1\xca\x02\x13\x43osmos\\Consensus\\V1\xe2\x02\x1f\x43osmos\\Consensus\\V1\\GPBMetadata\xea\x02\x15\x43osmos::Consensus::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,10 +32,10 @@ _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*&cosmos-sdk/x/consensus/MsgUpdateParams' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' - _globals['_MSGUPDATEPARAMS']._serialized_start=156 - _globals['_MSGUPDATEPARAMS']._serialized_end=518 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=520 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=545 - _globals['_MSG']._serialized_start=547 - _globals['_MSG']._serialized_end=659 + _globals['_MSGUPDATEPARAMS']._serialized_start=157 + _globals['_MSGUPDATEPARAMS']._serialized_end=649 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=651 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=676 + _globals['_MSG']._serialized_start=678 + _globals['_MSG']._serialized_end=790 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/group/v1/events_pb2.py b/pyinjective/proto/cosmos/group/v1/events_pb2.py index 3d5129a1..58a5b7aa 100644 --- a/pyinjective/proto/cosmos/group/v1/events_pb2.py +++ b/pyinjective/proto/cosmos/group/v1/events_pb2.py @@ -16,7 +16,7 @@ from pyinjective.proto.cosmos.group.v1 import types_pb2 as cosmos_dot_group_dot_v1_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmos/group/v1/events.proto\x12\x0f\x63osmos.group.v1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1b\x63osmos/group/v1/types.proto\"-\n\x10\x45ventCreateGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\"-\n\x10\x45ventUpdateGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\"L\n\x16\x45ventCreateGroupPolicy\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"L\n\x16\x45ventUpdateGroupPolicy\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"6\n\x13\x45ventSubmitProposal\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\"8\n\x15\x45ventWithdrawProposal\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\",\n\tEventVote\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\"\x81\x01\n\tEventExec\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\x12?\n\x06result\x18\x02 \x01(\x0e\x32\'.cosmos.group.v1.ProposalExecutorResultR\x06result\x12\x12\n\x04logs\x18\x03 \x01(\tR\x04logs\"`\n\x0f\x45ventLeaveGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\x12\x32\n\x07\x61\x64\x64ress\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"\xb0\x01\n\x13\x45ventProposalPruned\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cosmos.group.v1.ProposalStatusR\x06status\x12?\n\x0ctally_result\x18\x03 \x01(\x0b\x32\x1c.cosmos.group.v1.TallyResultR\x0btallyResultB\xa6\x01\n\x13\x63om.cosmos.group.v1B\x0b\x45ventsProtoP\x01Z$github.com/cosmos/cosmos-sdk/x/group\xa2\x02\x03\x43GX\xaa\x02\x0f\x43osmos.Group.V1\xca\x02\x0f\x43osmos\\Group\\V1\xe2\x02\x1b\x43osmos\\Group\\V1\\GPBMetadata\xea\x02\x11\x43osmos::Group::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmos/group/v1/events.proto\x12\x0f\x63osmos.group.v1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1b\x63osmos/group/v1/types.proto\"-\n\x10\x45ventCreateGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\"-\n\x10\x45ventUpdateGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\"L\n\x16\x45ventCreateGroupPolicy\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"L\n\x16\x45ventUpdateGroupPolicy\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"6\n\x13\x45ventSubmitProposal\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\"8\n\x15\x45ventWithdrawProposal\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\",\n\tEventVote\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\"\x81\x01\n\tEventExec\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\x12?\n\x06result\x18\x02 \x01(\x0e\x32\'.cosmos.group.v1.ProposalExecutorResultR\x06result\x12\x12\n\x04logs\x18\x03 \x01(\tR\x04logs\"`\n\x0f\x45ventLeaveGroup\x12\x19\n\x08group_id\x18\x01 \x01(\x04R\x07groupId\x12\x32\n\x07\x61\x64\x64ress\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"\xb0\x01\n\x13\x45ventProposalPruned\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cosmos.group.v1.ProposalStatusR\x06status\x12?\n\x0ctally_result\x18\x03 \x01(\x0b\x32\x1c.cosmos.group.v1.TallyResultR\x0btallyResult\"W\n\x0f\x45ventTallyError\x12\x1f\n\x0bproposal_id\x18\x01 \x01(\x04R\nproposalId\x12#\n\rerror_message\x18\x02 \x01(\tR\x0c\x65rrorMessageB\xa6\x01\n\x13\x63om.cosmos.group.v1B\x0b\x45ventsProtoP\x01Z$github.com/cosmos/cosmos-sdk/x/group\xa2\x02\x03\x43GX\xaa\x02\x0f\x43osmos.Group.V1\xca\x02\x0f\x43osmos\\Group\\V1\xe2\x02\x1b\x43osmos\\Group\\V1\\GPBMetadata\xea\x02\x11\x43osmos::Group::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,4 +50,6 @@ _globals['_EVENTLEAVEGROUP']._serialized_end=743 _globals['_EVENTPROPOSALPRUNED']._serialized_start=746 _globals['_EVENTPROPOSALPRUNED']._serialized_end=922 + _globals['_EVENTTALLYERROR']._serialized_start=924 + _globals['_EVENTTALLYERROR']._serialized_end=1011 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/module/v1alpha1/module_pb2.py b/pyinjective/proto/cosmos/orm/module/v1alpha1/module_pb2.py deleted file mode 100644 index 54f1b29a..00000000 --- a/pyinjective/proto/cosmos/orm/module/v1alpha1/module_pb2.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: cosmos/orm/module/v1alpha1/module.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.cosmos.app.v1alpha1 import module_pb2 as cosmos_dot_app_dot_v1alpha1_dot_module__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'cosmos/orm/module/v1alpha1/module.proto\x12\x1a\x63osmos.orm.module.v1alpha1\x1a cosmos/app/v1alpha1/module.proto\"\"\n\x06Module:\x18\xba\xc0\x96\xda\x01\x12\n\x10\x63osmossdk.io/ormB\xb8\x01\n\x1e\x63om.cosmos.orm.module.v1alpha1B\x0bModuleProtoP\x01\xa2\x02\x03\x43OM\xaa\x02\x1a\x43osmos.Orm.Module.V1alpha1\xca\x02\x1a\x43osmos\\Orm\\Module\\V1alpha1\xe2\x02&Cosmos\\Orm\\Module\\V1alpha1\\GPBMetadata\xea\x02\x1d\x43osmos::Orm::Module::V1alpha1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cosmos.orm.module.v1alpha1.module_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\036com.cosmos.orm.module.v1alpha1B\013ModuleProtoP\001\242\002\003COM\252\002\032Cosmos.Orm.Module.V1alpha1\312\002\032Cosmos\\Orm\\Module\\V1alpha1\342\002&Cosmos\\Orm\\Module\\V1alpha1\\GPBMetadata\352\002\035Cosmos::Orm::Module::V1alpha1' - _globals['_MODULE']._loaded_options = None - _globals['_MODULE']._serialized_options = b'\272\300\226\332\001\022\n\020cosmossdk.io/orm' - _globals['_MODULE']._serialized_start=105 - _globals['_MODULE']._serialized_end=139 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2.py b/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2.py deleted file mode 100644 index 7765a8a1..00000000 --- a/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: cosmos/orm/query/v1alpha1/query.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%cosmos/orm/query/v1alpha1/query.proto\x12\x19\x63osmos.orm.query.v1alpha1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x19google/protobuf/any.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\"\x84\x01\n\nGetRequest\x12!\n\x0cmessage_name\x18\x01 \x01(\tR\x0bmessageName\x12\x14\n\x05index\x18\x02 \x01(\tR\x05index\x12=\n\x06values\x18\x03 \x03(\x0b\x32%.cosmos.orm.query.v1alpha1.IndexValueR\x06values\";\n\x0bGetResponse\x12,\n\x06result\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06result\"\xee\x03\n\x0bListRequest\x12!\n\x0cmessage_name\x18\x01 \x01(\tR\x0bmessageName\x12\x14\n\x05index\x18\x02 \x01(\tR\x05index\x12G\n\x06prefix\x18\x03 \x01(\x0b\x32-.cosmos.orm.query.v1alpha1.ListRequest.PrefixH\x00R\x06prefix\x12\x44\n\x05range\x18\x04 \x01(\x0b\x32,.cosmos.orm.query.v1alpha1.ListRequest.RangeH\x00R\x05range\x12\x46\n\npagination\x18\x05 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\x1aG\n\x06Prefix\x12=\n\x06values\x18\x01 \x03(\x0b\x32%.cosmos.orm.query.v1alpha1.IndexValueR\x06values\x1a}\n\x05Range\x12;\n\x05start\x18\x01 \x03(\x0b\x32%.cosmos.orm.query.v1alpha1.IndexValueR\x05start\x12\x37\n\x03\x65nd\x18\x02 \x03(\x0b\x32%.cosmos.orm.query.v1alpha1.IndexValueR\x03\x65ndB\x07\n\x05query\"\x87\x01\n\x0cListResponse\x12.\n\x07results\x18\x01 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07results\x12G\n\npagination\x18\x05 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x8c\x02\n\nIndexValue\x12\x14\n\x04uint\x18\x01 \x01(\x04H\x00R\x04uint\x12\x12\n\x03int\x18\x02 \x01(\x03H\x00R\x03int\x12\x12\n\x03str\x18\x03 \x01(\tH\x00R\x03str\x12\x16\n\x05\x62ytes\x18\x04 \x01(\x0cH\x00R\x05\x62ytes\x12\x14\n\x04\x65num\x18\x05 \x01(\tH\x00R\x04\x65num\x12\x14\n\x04\x62ool\x18\x06 \x01(\x08H\x00R\x04\x62ool\x12:\n\ttimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\ttimestamp\x12\x37\n\x08\x64uration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00R\x08\x64urationB\x07\n\x05value2\xb6\x01\n\x05Query\x12T\n\x03Get\x12%.cosmos.orm.query.v1alpha1.GetRequest\x1a&.cosmos.orm.query.v1alpha1.GetResponse\x12W\n\x04List\x12&.cosmos.orm.query.v1alpha1.ListRequest\x1a\'.cosmos.orm.query.v1alpha1.ListResponseB\xb2\x01\n\x1d\x63om.cosmos.orm.query.v1alpha1B\nQueryProtoP\x01\xa2\x02\x03\x43OQ\xaa\x02\x19\x43osmos.Orm.Query.V1alpha1\xca\x02\x19\x43osmos\\Orm\\Query\\V1alpha1\xe2\x02%Cosmos\\Orm\\Query\\V1alpha1\\GPBMetadata\xea\x02\x1c\x43osmos::Orm::Query::V1alpha1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cosmos.orm.query.v1alpha1.query_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\035com.cosmos.orm.query.v1alpha1B\nQueryProtoP\001\242\002\003COQ\252\002\031Cosmos.Orm.Query.V1alpha1\312\002\031Cosmos\\Orm\\Query\\V1alpha1\342\002%Cosmos\\Orm\\Query\\V1alpha1\\GPBMetadata\352\002\034Cosmos::Orm::Query::V1alpha1' - _globals['_GETREQUEST']._serialized_start=205 - _globals['_GETREQUEST']._serialized_end=337 - _globals['_GETRESPONSE']._serialized_start=339 - _globals['_GETRESPONSE']._serialized_end=398 - _globals['_LISTREQUEST']._serialized_start=401 - _globals['_LISTREQUEST']._serialized_end=895 - _globals['_LISTREQUEST_PREFIX']._serialized_start=688 - _globals['_LISTREQUEST_PREFIX']._serialized_end=759 - _globals['_LISTREQUEST_RANGE']._serialized_start=761 - _globals['_LISTREQUEST_RANGE']._serialized_end=886 - _globals['_LISTRESPONSE']._serialized_start=898 - _globals['_LISTRESPONSE']._serialized_end=1033 - _globals['_INDEXVALUE']._serialized_start=1036 - _globals['_INDEXVALUE']._serialized_end=1304 - _globals['_QUERY']._serialized_start=1307 - _globals['_QUERY']._serialized_end=1489 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2_grpc.py b/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2_grpc.py deleted file mode 100644 index fdcaaba1..00000000 --- a/pyinjective/proto/cosmos/orm/query/v1alpha1/query_pb2_grpc.py +++ /dev/null @@ -1,125 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from pyinjective.proto.cosmos.orm.query.v1alpha1 import query_pb2 as cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2 - - -class QueryStub(object): - """Query is a generic gRPC service for querying ORM data. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Get = channel.unary_unary( - '/cosmos.orm.query.v1alpha1.Query/Get', - request_serializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetRequest.SerializeToString, - response_deserializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetResponse.FromString, - _registered_method=True) - self.List = channel.unary_unary( - '/cosmos.orm.query.v1alpha1.Query/List', - request_serializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListRequest.SerializeToString, - response_deserializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListResponse.FromString, - _registered_method=True) - - -class QueryServicer(object): - """Query is a generic gRPC service for querying ORM data. - """ - - def Get(self, request, context): - """Get queries an ORM table against an unique index. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def List(self, request, context): - """List queries an ORM table against an index. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_QueryServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Get': grpc.unary_unary_rpc_method_handler( - servicer.Get, - request_deserializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetRequest.FromString, - response_serializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetResponse.SerializeToString, - ), - 'List': grpc.unary_unary_rpc_method_handler( - servicer.List, - request_deserializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListRequest.FromString, - response_serializer=cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'cosmos.orm.query.v1alpha1.Query', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('cosmos.orm.query.v1alpha1.Query', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class Query(object): - """Query is a generic gRPC service for querying ORM data. - """ - - @staticmethod - def Get(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/cosmos.orm.query.v1alpha1.Query/Get', - cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetRequest.SerializeToString, - cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.GetResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def List(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/cosmos.orm.query.v1alpha1.Query/List', - cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListRequest.SerializeToString, - cosmos_dot_orm_dot_query_dot_v1alpha1_dot_query__pb2.ListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/cosmos/orm/v1/orm_pb2.py b/pyinjective/proto/cosmos/orm/v1/orm_pb2.py deleted file mode 100644 index cae563a1..00000000 --- a/pyinjective/proto/cosmos/orm/v1/orm_pb2.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: cosmos/orm/v1/orm.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63osmos/orm/v1/orm.proto\x12\rcosmos.orm.v1\x1a google/protobuf/descriptor.proto\"\xa6\x01\n\x0fTableDescriptor\x12\x44\n\x0bprimary_key\x18\x01 \x01(\x0b\x32#.cosmos.orm.v1.PrimaryKeyDescriptorR\nprimaryKey\x12=\n\x05index\x18\x02 \x03(\x0b\x32\'.cosmos.orm.v1.SecondaryIndexDescriptorR\x05index\x12\x0e\n\x02id\x18\x03 \x01(\rR\x02id\"U\n\x14PrimaryKeyDescriptor\x12\x16\n\x06\x66ields\x18\x01 \x01(\tR\x06\x66ields\x12%\n\x0e\x61uto_increment\x18\x02 \x01(\x08R\rautoIncrement\"Z\n\x18SecondaryIndexDescriptor\x12\x16\n\x06\x66ields\x18\x01 \x01(\tR\x06\x66ields\x12\x0e\n\x02id\x18\x02 \x01(\rR\x02id\x12\x16\n\x06unique\x18\x03 \x01(\x08R\x06unique\"%\n\x13SingletonDescriptor\x12\x0e\n\x02id\x18\x01 \x01(\rR\x02id:X\n\x05table\x12\x1f.google.protobuf.MessageOptions\x18\xee\xb3\xea\x31 \x01(\x0b\x32\x1e.cosmos.orm.v1.TableDescriptorR\x05table:d\n\tsingleton\x12\x1f.google.protobuf.MessageOptions\x18\xef\xb3\xea\x31 \x01(\x0b\x32\".cosmos.orm.v1.SingletonDescriptorR\tsingletonBs\n\x11\x63om.cosmos.orm.v1B\x08OrmProtoP\x01\xa2\x02\x03\x43OX\xaa\x02\rCosmos.Orm.V1\xca\x02\rCosmos\\Orm\\V1\xe2\x02\x19\x43osmos\\Orm\\V1\\GPBMetadata\xea\x02\x0f\x43osmos::Orm::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cosmos.orm.v1.orm_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\021com.cosmos.orm.v1B\010OrmProtoP\001\242\002\003COX\252\002\rCosmos.Orm.V1\312\002\rCosmos\\Orm\\V1\342\002\031Cosmos\\Orm\\V1\\GPBMetadata\352\002\017Cosmos::Orm::V1' - _globals['_TABLEDESCRIPTOR']._serialized_start=77 - _globals['_TABLEDESCRIPTOR']._serialized_end=243 - _globals['_PRIMARYKEYDESCRIPTOR']._serialized_start=245 - _globals['_PRIMARYKEYDESCRIPTOR']._serialized_end=330 - _globals['_SECONDARYINDEXDESCRIPTOR']._serialized_start=332 - _globals['_SECONDARYINDEXDESCRIPTOR']._serialized_end=422 - _globals['_SINGLETONDESCRIPTOR']._serialized_start=424 - _globals['_SINGLETONDESCRIPTOR']._serialized_end=461 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/orm/v1alpha1/schema_pb2.py b/pyinjective/proto/cosmos/orm/v1alpha1/schema_pb2.py deleted file mode 100644 index 4f6e6666..00000000 --- a/pyinjective/proto/cosmos/orm/v1alpha1/schema_pb2.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: cosmos/orm/v1alpha1/schema.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n cosmos/orm/v1alpha1/schema.proto\x12\x13\x63osmos.orm.v1alpha1\x1a google/protobuf/descriptor.proto\"\x93\x02\n\x16ModuleSchemaDescriptor\x12V\n\x0bschema_file\x18\x01 \x03(\x0b\x32\x35.cosmos.orm.v1alpha1.ModuleSchemaDescriptor.FileEntryR\nschemaFile\x12\x16\n\x06prefix\x18\x02 \x01(\x0cR\x06prefix\x1a\x88\x01\n\tFileEntry\x12\x0e\n\x02id\x18\x01 \x01(\rR\x02id\x12&\n\x0fproto_file_name\x18\x02 \x01(\tR\rprotoFileName\x12\x43\n\x0cstorage_type\x18\x03 \x01(\x0e\x32 .cosmos.orm.v1alpha1.StorageTypeR\x0bstorageType*h\n\x0bStorageType\x12$\n STORAGE_TYPE_DEFAULT_UNSPECIFIED\x10\x00\x12\x17\n\x13STORAGE_TYPE_MEMORY\x10\x01\x12\x1a\n\x16STORAGE_TYPE_TRANSIENT\x10\x02:t\n\rmodule_schema\x12\x1f.google.protobuf.MessageOptions\x18\xf0\xb3\xea\x31 \x01(\x0b\x32+.cosmos.orm.v1alpha1.ModuleSchemaDescriptorR\x0cmoduleSchemaB\x94\x01\n\x17\x63om.cosmos.orm.v1alpha1B\x0bSchemaProtoP\x01\xa2\x02\x03\x43OX\xaa\x02\x13\x43osmos.Orm.V1alpha1\xca\x02\x13\x43osmos\\Orm\\V1alpha1\xe2\x02\x1f\x43osmos\\Orm\\V1alpha1\\GPBMetadata\xea\x02\x15\x43osmos::Orm::V1alpha1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cosmos.orm.v1alpha1.schema_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\027com.cosmos.orm.v1alpha1B\013SchemaProtoP\001\242\002\003COX\252\002\023Cosmos.Orm.V1alpha1\312\002\023Cosmos\\Orm\\V1alpha1\342\002\037Cosmos\\Orm\\V1alpha1\\GPBMetadata\352\002\025Cosmos::Orm::V1alpha1' - _globals['_STORAGETYPE']._serialized_start=369 - _globals['_STORAGETYPE']._serialized_end=473 - _globals['_MODULESCHEMADESCRIPTOR']._serialized_start=92 - _globals['_MODULESCHEMADESCRIPTOR']._serialized_end=367 - _globals['_MODULESCHEMADESCRIPTOR_FILEENTRY']._serialized_start=231 - _globals['_MODULESCHEMADESCRIPTOR_FILEENTRY']._serialized_end=367 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/staking/v1beta1/genesis_pb2.py b/pyinjective/proto/cosmos/staking/v1beta1/genesis_pb2.py index 4186446e..e6ccb9fe 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/genesis_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/staking/v1beta1/genesis.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x14gogoproto/gogo.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\"\x97\x05\n\x0cGenesisState\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params\x12Z\n\x10last_total_power\x18\x02 \x01(\x0c\x42\x30\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0elastTotalPower\x12i\n\x15last_validator_powers\x18\x03 \x03(\x0b\x32*.cosmos.staking.v1beta1.LastValidatorPowerB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x13lastValidatorPowers\x12L\n\nvalidators\x18\x04 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12O\n\x0b\x64\x65legations\x18\x05 \x03(\x0b\x32\".cosmos.staking.v1beta1.DelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65legations\x12k\n\x15unbonding_delegations\x18\x06 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x14unbondingDelegations\x12U\n\rredelegations\x18\x07 \x03(\x0b\x32$.cosmos.staking.v1beta1.RedelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\rredelegations\x12\x1a\n\x08\x65xported\x18\x08 \x01(\x08R\x08\x65xported\"h\n\x12LastValidatorPower\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x42\xd2\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x0cGenesisProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/staking/v1beta1/genesis.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x14gogoproto/gogo.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\"\xf5\x05\n\x0cGenesisState\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params\x12Z\n\x10last_total_power\x18\x02 \x01(\x0c\x42\x30\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0elastTotalPower\x12i\n\x15last_validator_powers\x18\x03 \x03(\x0b\x32*.cosmos.staking.v1beta1.LastValidatorPowerB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x13lastValidatorPowers\x12L\n\nvalidators\x18\x04 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12O\n\x0b\x64\x65legations\x18\x05 \x03(\x0b\x32\".cosmos.staking.v1beta1.DelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65legations\x12k\n\x15unbonding_delegations\x18\x06 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x14unbondingDelegations\x12U\n\rredelegations\x18\x07 \x03(\x0b\x32$.cosmos.staking.v1beta1.RedelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\rredelegations\x12\x1a\n\x08\x65xported\x18\x08 \x01(\x08R\x08\x65xported\x12\\\n%allowed_delegation_transfer_receivers\x18\t \x03(\tB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\"allowedDelegationTransferReceivers\"h\n\x12LastValidatorPower\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x42\xd2\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x0cGenesisProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,12 +40,14 @@ _globals['_GENESISSTATE'].fields_by_name['unbonding_delegations']._serialized_options = b'\310\336\037\000\250\347\260*\001' _globals['_GENESISSTATE'].fields_by_name['redelegations']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['redelegations']._serialized_options = b'\310\336\037\000\250\347\260*\001' + _globals['_GENESISSTATE'].fields_by_name['allowed_delegation_transfer_receivers']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['allowed_delegation_transfer_receivers']._serialized_options = b'\310\336\037\000\250\347\260*\001' _globals['_LASTVALIDATORPOWER'].fields_by_name['address']._loaded_options = None _globals['_LASTVALIDATORPOWER'].fields_by_name['address']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_LASTVALIDATORPOWER']._loaded_options = None _globals['_LASTVALIDATORPOWER']._serialized_options = b'\210\240\037\000\350\240\037\000' _globals['_GENESISSTATE']._serialized_start=171 - _globals['_GENESISSTATE']._serialized_end=834 - _globals['_LASTVALIDATORPOWER']._serialized_start=836 - _globals['_LASTVALIDATORPOWER']._serialized_end=940 + _globals['_GENESISSTATE']._serialized_end=928 + _globals['_LASTVALIDATORPOWER']._serialized_start=930 + _globals['_LASTVALIDATORPOWER']._serialized_end=1034 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/staking/v1beta1/query_pb2.py b/pyinjective/proto/cosmos/staking/v1beta1/query_pb2.py index 971db76b..7d3d6fcd 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/query_pb2.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/query_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cosmos/staking/v1beta1/query.proto\x12\x16\x63osmos.staking.v1beta1\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1b\x63osmos/query/v1/query.proto\x1a\x11\x61mino/amino.proto\"x\n\x16QueryValidatorsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb0\x01\n\x17QueryValidatorsResponse\x12L\n\nvalidators\x18\x01 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"a\n\x15QueryValidatorRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\"d\n\x16QueryValidatorResponse\x12J\n\tvalidator\x18\x01 \x01(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tvalidator\"\xb4\x01\n QueryValidatorDelegationsRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xed\x01\n!QueryValidatorDelegationsResponse\x12\x7f\n\x14\x64\x65legation_responses\x18\x01 \x03(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseB \xc8\xde\x1f\x00\xaa\xdf\x1f\x13\x44\x65legationResponses\xa8\xe7\xb0*\x01R\x13\x64\x65legationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbd\x01\n)QueryValidatorUnbondingDelegationsRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xde\x01\n*QueryValidatorUnbondingDelegationsResponse\x12g\n\x13unbonding_responses\x18\x01 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x12unbondingResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xad\x01\n\x16QueryDelegationRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"v\n\x17QueryDelegationResponse\x12[\n\x13\x64\x65legation_response\x18\x01 \x01(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseR\x12\x64\x65legationResponse\"\xb6\x01\n\x1fQueryUnbondingDelegationRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"r\n QueryUnbondingDelegationResponse\x12N\n\x06unbond\x18\x01 \x01(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06unbond\"\xb5\x01\n QueryDelegatorDelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd6\x01\n!QueryDelegatorDelegationsResponse\x12h\n\x14\x64\x65legation_responses\x18\x01 \x03(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x13\x64\x65legationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbe\x01\n)QueryDelegatorUnbondingDelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xde\x01\n*QueryDelegatorUnbondingDelegationsResponse\x12g\n\x13unbonding_responses\x18\x01 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x12unbondingResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbe\x02\n\x19QueryRedelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\x12src_validator_addr\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10srcValidatorAddr\x12\x46\n\x12\x64st_validator_addr\x18\x03 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64stValidatorAddr\x12\x46\n\npagination\x18\x04 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x1aQueryRedelegationsResponse\x12n\n\x16redelegation_responses\x18\x01 \x03(\x0b\x32,.cosmos.staking.v1beta1.RedelegationResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x15redelegationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xb4\x01\n\x1fQueryDelegatorValidatorsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb9\x01\n QueryDelegatorValidatorsResponse\x12L\n\nvalidators\x18\x01 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xb5\x01\n\x1eQueryDelegatorValidatorRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"m\n\x1fQueryDelegatorValidatorResponse\x12J\n\tvalidator\x18\x01 \x01(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tvalidator\"4\n\x1aQueryHistoricalInfoRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"Y\n\x1bQueryHistoricalInfoResponse\x12:\n\x04hist\x18\x01 \x01(\x0b\x32&.cosmos.staking.v1beta1.HistoricalInfoR\x04hist\"\x12\n\x10QueryPoolRequest\"P\n\x11QueryPoolResponse\x12;\n\x04pool\x18\x01 \x01(\x0b\x32\x1c.cosmos.staking.v1beta1.PoolB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x04pool\"\x14\n\x12QueryParamsRequest\"X\n\x13QueryParamsResponse\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params2\xb0\x16\n\x05Query\x12\x9e\x01\n\nValidators\x12..cosmos.staking.v1beta1.QueryValidatorsRequest\x1a/.cosmos.staking.v1beta1.QueryValidatorsResponse\"/\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02$\x12\"/cosmos/staking/v1beta1/validators\x12\xac\x01\n\tValidator\x12-.cosmos.staking.v1beta1.QueryValidatorRequest\x1a..cosmos.staking.v1beta1.QueryValidatorResponse\"@\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x35\x12\x33/cosmos/staking/v1beta1/validators/{validator_addr}\x12\xd9\x01\n\x14ValidatorDelegations\x12\x38.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest\x1a\x39.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse\"L\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x41\x12?/cosmos/staking/v1beta1/validators/{validator_addr}/delegations\x12\xfe\x01\n\x1dValidatorUnbondingDelegations\x12\x41.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest\x1a\x42.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse\"V\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02K\x12I/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations\x12\xcc\x01\n\nDelegation\x12..cosmos.staking.v1beta1.QueryDelegationRequest\x1a/.cosmos.staking.v1beta1.QueryDelegationResponse\"]\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02R\x12P/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}\x12\xfc\x01\n\x13UnbondingDelegation\x12\x37.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest\x1a\x38.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse\"r\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02g\x12\x65/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation\x12\xce\x01\n\x14\x44\x65legatorDelegations\x12\x38.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest\x1a\x39.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse\"A\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x36\x12\x34/cosmos/staking/v1beta1/delegations/{delegator_addr}\x12\xfe\x01\n\x1d\x44\x65legatorUnbondingDelegations\x12\x41.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest\x1a\x42.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse\"V\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02K\x12I/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations\x12\xc6\x01\n\rRedelegations\x12\x31.cosmos.staking.v1beta1.QueryRedelegationsRequest\x1a\x32.cosmos.staking.v1beta1.QueryRedelegationsResponse\"N\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x43\x12\x41/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations\x12\xd5\x01\n\x13\x44\x65legatorValidators\x12\x37.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest\x1a\x38.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse\"K\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02@\x12>/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators\x12\xe3\x01\n\x12\x44\x65legatorValidator\x12\x36.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest\x1a\x37.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse\"\\\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02Q\x12O/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}\x12\xb8\x01\n\x0eHistoricalInfo\x12\x32.cosmos.staking.v1beta1.QueryHistoricalInfoRequest\x1a\x33.cosmos.staking.v1beta1.QueryHistoricalInfoResponse\"=\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x32\x12\x30/cosmos/staking/v1beta1/historical_info/{height}\x12\x86\x01\n\x04Pool\x12(.cosmos.staking.v1beta1.QueryPoolRequest\x1a).cosmos.staking.v1beta1.QueryPoolResponse\")\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x1e\x12\x1c/cosmos/staking/v1beta1/pool\x12\x8e\x01\n\x06Params\x12*.cosmos.staking.v1beta1.QueryParamsRequest\x1a+.cosmos.staking.v1beta1.QueryParamsResponse\"+\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02 \x12\x1e/cosmos/staking/v1beta1/paramsB\xd0\x01\n\x1a\x63om.cosmos.staking.v1beta1B\nQueryProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"cosmos/staking/v1beta1/query.proto\x12\x16\x63osmos.staking.v1beta1\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1b\x63osmos/query/v1/query.proto\x1a\x11\x61mino/amino.proto\"x\n\x16QueryValidatorsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb0\x01\n\x17QueryValidatorsResponse\x12L\n\nvalidators\x18\x01 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"a\n\x15QueryValidatorRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\"d\n\x16QueryValidatorResponse\x12J\n\tvalidator\x18\x01 \x01(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tvalidator\"\xb4\x01\n QueryValidatorDelegationsRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xed\x01\n!QueryValidatorDelegationsResponse\x12\x7f\n\x14\x64\x65legation_responses\x18\x01 \x03(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseB \xc8\xde\x1f\x00\xaa\xdf\x1f\x13\x44\x65legationResponses\xa8\xe7\xb0*\x01R\x13\x64\x65legationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbd\x01\n)QueryValidatorUnbondingDelegationsRequest\x12H\n\x0evalidator_addr\x18\x01 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xde\x01\n*QueryValidatorUnbondingDelegationsResponse\x12g\n\x13unbonding_responses\x18\x01 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x12unbondingResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xad\x01\n\x16QueryDelegationRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"v\n\x17QueryDelegationResponse\x12[\n\x13\x64\x65legation_response\x18\x01 \x01(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseR\x12\x64\x65legationResponse\"\xb6\x01\n\x1fQueryUnbondingDelegationRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"r\n QueryUnbondingDelegationResponse\x12N\n\x06unbond\x18\x01 \x01(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06unbond\"\xb5\x01\n QueryDelegatorDelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd6\x01\n!QueryDelegatorDelegationsResponse\x12h\n\x14\x64\x65legation_responses\x18\x01 \x03(\x0b\x32*.cosmos.staking.v1beta1.DelegationResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x13\x64\x65legationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xbe\x01\n)QueryDelegatorUnbondingDelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xde\x01\n*QueryDelegatorUnbondingDelegationsResponse\x12g\n\x13unbonding_responses\x18\x01 \x03(\x0b\x32+.cosmos.staking.v1beta1.UnbondingDelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x12unbondingResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xd0\x02\n\x19QueryRedelegationsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12O\n\x12src_validator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10srcValidatorAddr\x12O\n\x12\x64st_validator_addr\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10\x64stValidatorAddr\x12\x46\n\npagination\x18\x04 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x1aQueryRedelegationsResponse\x12n\n\x16redelegation_responses\x18\x01 \x03(\x0b\x32,.cosmos.staking.v1beta1.RedelegationResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x15redelegationResponses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xb4\x01\n\x1fQueryDelegatorValidatorsRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb9\x01\n QueryDelegatorValidatorsResponse\x12L\n\nvalidators\x18\x01 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\nvalidators\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xb5\x01\n\x1eQueryDelegatorValidatorRequest\x12?\n\x0e\x64\x65legator_addr\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\rdelegatorAddr\x12H\n\x0evalidator_addr\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\rvalidatorAddr:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"m\n\x1fQueryDelegatorValidatorResponse\x12J\n\tvalidator\x18\x01 \x01(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tvalidator\"0\n.QueryAllowedDelegationTransferReceiversRequest\"i\n/QueryAllowedDelegationTransferReceiversResponse\x12\x36\n\taddresses\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\taddresses\"4\n\x1aQueryHistoricalInfoRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"Y\n\x1bQueryHistoricalInfoResponse\x12:\n\x04hist\x18\x01 \x01(\x0b\x32&.cosmos.staking.v1beta1.HistoricalInfoR\x04hist\"\x12\n\x10QueryPoolRequest\"P\n\x11QueryPoolResponse\x12;\n\x04pool\x18\x01 \x01(\x0b\x32\x1c.cosmos.staking.v1beta1.PoolB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x04pool\"\x14\n\x12QueryParamsRequest\"X\n\x13QueryParamsResponse\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params2\xb4\x18\n\x05Query\x12\x9e\x01\n\nValidators\x12..cosmos.staking.v1beta1.QueryValidatorsRequest\x1a/.cosmos.staking.v1beta1.QueryValidatorsResponse\"/\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02$\x12\"/cosmos/staking/v1beta1/validators\x12\xac\x01\n\tValidator\x12-.cosmos.staking.v1beta1.QueryValidatorRequest\x1a..cosmos.staking.v1beta1.QueryValidatorResponse\"@\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x35\x12\x33/cosmos/staking/v1beta1/validators/{validator_addr}\x12\xd9\x01\n\x14ValidatorDelegations\x12\x38.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest\x1a\x39.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse\"L\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x41\x12?/cosmos/staking/v1beta1/validators/{validator_addr}/delegations\x12\xfe\x01\n\x1dValidatorUnbondingDelegations\x12\x41.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest\x1a\x42.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse\"V\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02K\x12I/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations\x12\xcc\x01\n\nDelegation\x12..cosmos.staking.v1beta1.QueryDelegationRequest\x1a/.cosmos.staking.v1beta1.QueryDelegationResponse\"]\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02R\x12P/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}\x12\xfc\x01\n\x13UnbondingDelegation\x12\x37.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest\x1a\x38.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse\"r\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02g\x12\x65/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation\x12\xce\x01\n\x14\x44\x65legatorDelegations\x12\x38.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest\x1a\x39.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse\"A\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x36\x12\x34/cosmos/staking/v1beta1/delegations/{delegator_addr}\x12\xfe\x01\n\x1d\x44\x65legatorUnbondingDelegations\x12\x41.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest\x1a\x42.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse\"V\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02K\x12I/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations\x12\xc6\x01\n\rRedelegations\x12\x31.cosmos.staking.v1beta1.QueryRedelegationsRequest\x1a\x32.cosmos.staking.v1beta1.QueryRedelegationsResponse\"N\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x43\x12\x41/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations\x12\xd5\x01\n\x13\x44\x65legatorValidators\x12\x37.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest\x1a\x38.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse\"K\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02@\x12>/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators\x12\xe3\x01\n\x12\x44\x65legatorValidator\x12\x36.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest\x1a\x37.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse\"\\\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02Q\x12O/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}\x12\x81\x02\n\"AllowedDelegationTransferReceivers\x12\x46.cosmos.staking.v1beta1.QueryAllowedDelegationTransferReceiversRequest\x1aG.cosmos.staking.v1beta1.QueryAllowedDelegationTransferReceiversResponse\"J\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02?\x12=/cosmos/staking/v1beta1/allowed_delegation_transfer_receivers\x12\xb8\x01\n\x0eHistoricalInfo\x12\x32.cosmos.staking.v1beta1.QueryHistoricalInfoRequest\x1a\x33.cosmos.staking.v1beta1.QueryHistoricalInfoResponse\"=\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x32\x12\x30/cosmos/staking/v1beta1/historical_info/{height}\x12\x86\x01\n\x04Pool\x12(.cosmos.staking.v1beta1.QueryPoolRequest\x1a).cosmos.staking.v1beta1.QueryPoolResponse\")\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x1e\x12\x1c/cosmos/staking/v1beta1/pool\x12\x8e\x01\n\x06Params\x12*.cosmos.staking.v1beta1.QueryParamsRequest\x1a+.cosmos.staking.v1beta1.QueryParamsResponse\"+\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02 \x12\x1e/cosmos/staking/v1beta1/paramsB\xd0\x01\n\x1a\x63om.cosmos.staking.v1beta1B\nQueryProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -72,9 +72,9 @@ _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['delegator_addr']._loaded_options = None _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['delegator_addr']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['src_validator_addr']._loaded_options = None - _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['src_validator_addr']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['src_validator_addr']._serialized_options = b'\322\264-\035cosmos.ValidatorAddressString' _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['dst_validator_addr']._loaded_options = None - _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['dst_validator_addr']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_QUERYREDELEGATIONSREQUEST'].fields_by_name['dst_validator_addr']._serialized_options = b'\322\264-\035cosmos.ValidatorAddressString' _globals['_QUERYREDELEGATIONSREQUEST']._loaded_options = None _globals['_QUERYREDELEGATIONSREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' _globals['_QUERYREDELEGATIONSRESPONSE'].fields_by_name['redelegation_responses']._loaded_options = None @@ -93,6 +93,8 @@ _globals['_QUERYDELEGATORVALIDATORREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' _globals['_QUERYDELEGATORVALIDATORRESPONSE'].fields_by_name['validator']._loaded_options = None _globals['_QUERYDELEGATORVALIDATORRESPONSE'].fields_by_name['validator']._serialized_options = b'\310\336\037\000\250\347\260*\001' + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSRESPONSE'].fields_by_name['addresses']._loaded_options = None + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSRESPONSE'].fields_by_name['addresses']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_QUERYPOOLRESPONSE'].fields_by_name['pool']._loaded_options = None _globals['_QUERYPOOLRESPONSE'].fields_by_name['pool']._serialized_options = b'\310\336\037\000\250\347\260*\001' _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None @@ -119,6 +121,8 @@ _globals['_QUERY'].methods_by_name['DelegatorValidators']._serialized_options = b'\210\347\260*\001\202\323\344\223\002@\022>/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators' _globals['_QUERY'].methods_by_name['DelegatorValidator']._loaded_options = None _globals['_QUERY'].methods_by_name['DelegatorValidator']._serialized_options = b'\210\347\260*\001\202\323\344\223\002Q\022O/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}' + _globals['_QUERY'].methods_by_name['AllowedDelegationTransferReceivers']._loaded_options = None + _globals['_QUERY'].methods_by_name['AllowedDelegationTransferReceivers']._serialized_options = b'\210\347\260*\001\202\323\344\223\002?\022=/cosmos/staking/v1beta1/allowed_delegation_transfer_receivers' _globals['_QUERY'].methods_by_name['HistoricalInfo']._loaded_options = None _globals['_QUERY'].methods_by_name['HistoricalInfo']._serialized_options = b'\210\347\260*\001\202\323\344\223\0022\0220/cosmos/staking/v1beta1/historical_info/{height}' _globals['_QUERY'].methods_by_name['Pool']._loaded_options = None @@ -158,29 +162,33 @@ _globals['_QUERYDELEGATORUNBONDINGDELEGATIONSRESPONSE']._serialized_start=2805 _globals['_QUERYDELEGATORUNBONDINGDELEGATIONSRESPONSE']._serialized_end=3027 _globals['_QUERYREDELEGATIONSREQUEST']._serialized_start=3030 - _globals['_QUERYREDELEGATIONSREQUEST']._serialized_end=3348 - _globals['_QUERYREDELEGATIONSRESPONSE']._serialized_start=3351 - _globals['_QUERYREDELEGATIONSRESPONSE']._serialized_end=3564 - _globals['_QUERYDELEGATORVALIDATORSREQUEST']._serialized_start=3567 - _globals['_QUERYDELEGATORVALIDATORSREQUEST']._serialized_end=3747 - _globals['_QUERYDELEGATORVALIDATORSRESPONSE']._serialized_start=3750 - _globals['_QUERYDELEGATORVALIDATORSRESPONSE']._serialized_end=3935 - _globals['_QUERYDELEGATORVALIDATORREQUEST']._serialized_start=3938 - _globals['_QUERYDELEGATORVALIDATORREQUEST']._serialized_end=4119 - _globals['_QUERYDELEGATORVALIDATORRESPONSE']._serialized_start=4121 - _globals['_QUERYDELEGATORVALIDATORRESPONSE']._serialized_end=4230 - _globals['_QUERYHISTORICALINFOREQUEST']._serialized_start=4232 - _globals['_QUERYHISTORICALINFOREQUEST']._serialized_end=4284 - _globals['_QUERYHISTORICALINFORESPONSE']._serialized_start=4286 - _globals['_QUERYHISTORICALINFORESPONSE']._serialized_end=4375 - _globals['_QUERYPOOLREQUEST']._serialized_start=4377 - _globals['_QUERYPOOLREQUEST']._serialized_end=4395 - _globals['_QUERYPOOLRESPONSE']._serialized_start=4397 - _globals['_QUERYPOOLRESPONSE']._serialized_end=4477 - _globals['_QUERYPARAMSREQUEST']._serialized_start=4479 - _globals['_QUERYPARAMSREQUEST']._serialized_end=4499 - _globals['_QUERYPARAMSRESPONSE']._serialized_start=4501 - _globals['_QUERYPARAMSRESPONSE']._serialized_end=4589 - _globals['_QUERY']._serialized_start=4592 - _globals['_QUERY']._serialized_end=7456 + _globals['_QUERYREDELEGATIONSREQUEST']._serialized_end=3366 + _globals['_QUERYREDELEGATIONSRESPONSE']._serialized_start=3369 + _globals['_QUERYREDELEGATIONSRESPONSE']._serialized_end=3582 + _globals['_QUERYDELEGATORVALIDATORSREQUEST']._serialized_start=3585 + _globals['_QUERYDELEGATORVALIDATORSREQUEST']._serialized_end=3765 + _globals['_QUERYDELEGATORVALIDATORSRESPONSE']._serialized_start=3768 + _globals['_QUERYDELEGATORVALIDATORSRESPONSE']._serialized_end=3953 + _globals['_QUERYDELEGATORVALIDATORREQUEST']._serialized_start=3956 + _globals['_QUERYDELEGATORVALIDATORREQUEST']._serialized_end=4137 + _globals['_QUERYDELEGATORVALIDATORRESPONSE']._serialized_start=4139 + _globals['_QUERYDELEGATORVALIDATORRESPONSE']._serialized_end=4248 + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSREQUEST']._serialized_start=4250 + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSREQUEST']._serialized_end=4298 + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSRESPONSE']._serialized_start=4300 + _globals['_QUERYALLOWEDDELEGATIONTRANSFERRECEIVERSRESPONSE']._serialized_end=4405 + _globals['_QUERYHISTORICALINFOREQUEST']._serialized_start=4407 + _globals['_QUERYHISTORICALINFOREQUEST']._serialized_end=4459 + _globals['_QUERYHISTORICALINFORESPONSE']._serialized_start=4461 + _globals['_QUERYHISTORICALINFORESPONSE']._serialized_end=4550 + _globals['_QUERYPOOLREQUEST']._serialized_start=4552 + _globals['_QUERYPOOLREQUEST']._serialized_end=4570 + _globals['_QUERYPOOLRESPONSE']._serialized_start=4572 + _globals['_QUERYPOOLRESPONSE']._serialized_end=4652 + _globals['_QUERYPARAMSREQUEST']._serialized_start=4654 + _globals['_QUERYPARAMSREQUEST']._serialized_end=4674 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=4676 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=4764 + _globals['_QUERY']._serialized_start=4767 + _globals['_QUERY']._serialized_end=7891 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/staking/v1beta1/query_pb2_grpc.py b/pyinjective/proto/cosmos/staking/v1beta1/query_pb2_grpc.py index 9ed468d7..2786f99e 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/query_pb2_grpc.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/query_pb2_grpc.py @@ -70,6 +70,11 @@ def __init__(self, channel): request_serializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryDelegatorValidatorRequest.SerializeToString, response_deserializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryDelegatorValidatorResponse.FromString, _registered_method=True) + self.AllowedDelegationTransferReceivers = channel.unary_unary( + '/cosmos.staking.v1beta1.Query/AllowedDelegationTransferReceivers', + request_serializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversRequest.SerializeToString, + response_deserializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversResponse.FromString, + _registered_method=True) self.HistoricalInfo = channel.unary_unary( '/cosmos.staking.v1beta1.Query/HistoricalInfo', request_serializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryHistoricalInfoRequest.SerializeToString, @@ -193,6 +198,13 @@ def DelegatorValidator(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AllowedDelegationTransferReceivers(self, request, context): + """AllowedDelegationTransferReceivers queries the allowed delegation transfer receivers. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def HistoricalInfo(self, request, context): """HistoricalInfo queries the historical info for given height. """ @@ -272,6 +284,11 @@ def add_QueryServicer_to_server(servicer, server): request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryDelegatorValidatorRequest.FromString, response_serializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryDelegatorValidatorResponse.SerializeToString, ), + 'AllowedDelegationTransferReceivers': grpc.unary_unary_rpc_method_handler( + servicer.AllowedDelegationTransferReceivers, + request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversRequest.FromString, + response_serializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversResponse.SerializeToString, + ), 'HistoricalInfo': grpc.unary_unary_rpc_method_handler( servicer.HistoricalInfo, request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryHistoricalInfoRequest.FromString, @@ -596,6 +613,33 @@ def DelegatorValidator(request, metadata, _registered_method=True) + @staticmethod + def AllowedDelegationTransferReceivers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cosmos.staking.v1beta1.Query/AllowedDelegationTransferReceivers', + cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversRequest.SerializeToString, + cosmos_dot_staking_dot_v1beta1_dot_query__pb2.QueryAllowedDelegationTransferReceiversResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def HistoricalInfo(request, target, diff --git a/pyinjective/proto/cosmos/staking/v1beta1/staking_pb2.py b/pyinjective/proto/cosmos/staking/v1beta1/staking_pb2.py index 0183a45a..343ef416 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/staking_pb2.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/staking_pb2.py @@ -19,11 +19,11 @@ from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 -from pyinjective.proto.tendermint.abci import types_pb2 as tendermint_dot_abci_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/staking/v1beta1/staking.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\x1a\x1ctendermint/types/types.proto\x1a\x1btendermint/abci/types.proto\"\x93\x01\n\x0eHistoricalInfo\x12;\n\x06header\x18\x01 \x01(\x0b\x32\x18.tendermint.types.HeaderB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06header\x12\x44\n\x06valset\x18\x02 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06valset\"\x96\x02\n\x0f\x43ommissionRates\x12J\n\x04rate\x18\x01 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x04rate\x12Q\n\x08max_rate\x18\x02 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x07maxRate\x12^\n\x0fmax_change_rate\x18\x03 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\rmaxChangeRate:\x04\xe8\xa0\x1f\x01\"\xc1\x01\n\nCommission\x12\x61\n\x10\x63ommission_rates\x18\x01 \x01(\x0b\x32\'.cosmos.staking.v1beta1.CommissionRatesB\r\xc8\xde\x1f\x00\xd0\xde\x1f\x01\xa8\xe7\xb0*\x01R\x0f\x63ommissionRates\x12J\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\nupdateTime:\x04\xe8\xa0\x1f\x01\"\xa8\x01\n\x0b\x44\x65scription\x12\x18\n\x07moniker\x18\x01 \x01(\tR\x07moniker\x12\x1a\n\x08identity\x18\x02 \x01(\tR\x08identity\x12\x18\n\x07website\x18\x03 \x01(\tR\x07website\x12)\n\x10security_contact\x18\x04 \x01(\tR\x0fsecurityContact\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails:\x04\xe8\xa0\x1f\x01\"\x8a\x07\n\tValidator\x12\x43\n\x10operator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0foperatorAddress\x12Y\n\x10\x63onsensus_pubkey\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyB\x18\xca\xb4-\x14\x63osmos.crypto.PubKeyR\x0f\x63onsensusPubkey\x12\x16\n\x06jailed\x18\x03 \x01(\x08R\x06jailed\x12:\n\x06status\x18\x04 \x01(\x0e\x32\".cosmos.staking.v1beta1.BondStatusR\x06status\x12\x43\n\x06tokens\x18\x05 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x06tokens\x12\\\n\x10\x64\x65legator_shares\x18\x06 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x0f\x64\x65legatorShares\x12P\n\x0b\x64\x65scription\x18\x07 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12)\n\x10unbonding_height\x18\x08 \x01(\x03R\x0funbondingHeight\x12P\n\x0eunbonding_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\runbondingTime\x12M\n\ncommission\x18\n \x01(\x0b\x32\".cosmos.staking.v1beta1.CommissionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ncommission\x12[\n\x13min_self_delegation\x18\x0b \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x11minSelfDelegation\x12<\n\x1bunbonding_on_hold_ref_count\x18\x0c \x01(\x03R\x17unbondingOnHoldRefCount\x12#\n\runbonding_ids\x18\r \x03(\x04R\x0cunbondingIds:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"F\n\x0cValAddresses\x12\x36\n\taddresses\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\taddresses\"\xa9\x01\n\x06\x44VPair\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"J\n\x07\x44VPairs\x12?\n\x05pairs\x18\x01 \x03(\x0b\x32\x1e.cosmos.staking.v1beta1.DVPairB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05pairs\"\x8b\x02\n\nDVVTriplet\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"X\n\x0b\x44VVTriplets\x12I\n\x08triplets\x18\x01 \x03(\x0b\x32\".cosmos.staking.v1beta1.DVVTripletB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x08triplets\"\xf8\x01\n\nDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12I\n\x06shares\x18\x03 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x06shares:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8d\x02\n\x13UnbondingDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12U\n\x07\x65ntries\x18\x03 \x03(\x0b\x32\x30.cosmos.staking.v1beta1.UnbondingDelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9b\x03\n\x18UnbondingDelegationEntry\x12\'\n\x0f\x63reation_height\x18\x01 \x01(\x03R\x0e\x63reationHeight\x12R\n\x0f\x63ompletion_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12T\n\x0finitial_balance\x18\x03 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x0einitialBalance\x12\x45\n\x07\x62\x61lance\x18\x04 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x07\x62\x61lance\x12!\n\x0cunbonding_id\x18\x05 \x01(\x04R\x0bunbondingId\x12<\n\x1bunbonding_on_hold_ref_count\x18\x06 \x01(\x03R\x17unbondingOnHoldRefCount:\x04\xe8\xa0\x1f\x01\"\x9f\x03\n\x11RedelegationEntry\x12\'\n\x0f\x63reation_height\x18\x01 \x01(\x03R\x0e\x63reationHeight\x12R\n\x0f\x63ompletion_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12T\n\x0finitial_balance\x18\x03 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x0einitialBalance\x12P\n\nshares_dst\x18\x04 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\tsharesDst\x12!\n\x0cunbonding_id\x18\x05 \x01(\x04R\x0bunbondingId\x12<\n\x1bunbonding_on_hold_ref_count\x18\x06 \x01(\x03R\x17unbondingOnHoldRefCount:\x04\xe8\xa0\x1f\x01\"\xdd\x02\n\x0cRedelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress\x12N\n\x07\x65ntries\x18\x04 \x03(\x0b\x32).cosmos.staking.v1beta1.RedelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9c\x03\n\x06Params\x12O\n\x0eunbonding_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\r\xc8\xde\x1f\x00\x98\xdf\x1f\x01\xa8\xe7\xb0*\x01R\runbondingTime\x12%\n\x0emax_validators\x18\x02 \x01(\rR\rmaxValidators\x12\x1f\n\x0bmax_entries\x18\x03 \x01(\rR\nmaxEntries\x12-\n\x12historical_entries\x18\x04 \x01(\rR\x11historicalEntries\x12\x1d\n\nbond_denom\x18\x05 \x01(\tR\tbondDenom\x12\x84\x01\n\x13min_commission_rate\x18\x06 \x01(\tBT\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x1ayaml:\"min_commission_rate\"\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x11minCommissionRate:$\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x1b\x63osmos-sdk/x/staking/Params\"\xa9\x01\n\x12\x44\x65legationResponse\x12M\n\ndelegation\x18\x01 \x01(\x0b\x32\".cosmos.staking.v1beta1.DelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ndelegation\x12>\n\x07\x62\x61lance\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x62\x61lance:\x04\xe8\xa0\x1f\x00\"\xcd\x01\n\x19RedelegationEntryResponse\x12\x63\n\x12redelegation_entry\x18\x01 \x01(\x0b\x32).cosmos.staking.v1beta1.RedelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x11redelegationEntry\x12\x45\n\x07\x62\x61lance\x18\x04 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x07\x62\x61lance:\x04\xe8\xa0\x1f\x01\"\xc9\x01\n\x14RedelegationResponse\x12S\n\x0credelegation\x18\x01 \x01(\x0b\x32$.cosmos.staking.v1beta1.RedelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0credelegation\x12V\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x31.cosmos.staking.v1beta1.RedelegationEntryResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x04\xe8\xa0\x1f\x00\"\xeb\x01\n\x04Pool\x12q\n\x11not_bonded_tokens\x18\x01 \x01(\tBE\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xea\xde\x1f\x11not_bonded_tokens\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0fnotBondedTokens\x12\x66\n\rbonded_tokens\x18\x02 \x01(\tBA\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xea\xde\x1f\rbonded_tokens\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0c\x62ondedTokens:\x08\xe8\xa0\x1f\x01\xf0\xa0\x1f\x01\"Y\n\x10ValidatorUpdates\x12\x45\n\x07updates\x18\x01 \x03(\x0b\x32 .tendermint.abci.ValidatorUpdateB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07updates*\xb6\x01\n\nBondStatus\x12,\n\x17\x42OND_STATUS_UNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUnspecified\x12&\n\x14\x42OND_STATUS_UNBONDED\x10\x01\x1a\x0c\x8a\x9d \x08Unbonded\x12(\n\x15\x42OND_STATUS_UNBONDING\x10\x02\x1a\r\x8a\x9d \tUnbonding\x12\"\n\x12\x42OND_STATUS_BONDED\x10\x03\x1a\n\x8a\x9d \x06\x42onded\x1a\x04\x88\xa3\x1e\x00*]\n\nInfraction\x12\x1a\n\x16INFRACTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16INFRACTION_DOUBLE_SIGN\x10\x01\x12\x17\n\x13INFRACTION_DOWNTIME\x10\x02\x42\xd2\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x0cStakingProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/staking/v1beta1/staking.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\x1a\x1d\x63ometbft/types/v1/types.proto\x1a\x1c\x63ometbft/abci/v1/types.proto\"\x94\x01\n\x0eHistoricalInfo\x12<\n\x06header\x18\x01 \x01(\x0b\x32\x19.cometbft.types.v1.HeaderB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06header\x12\x44\n\x06valset\x18\x02 \x03(\x0b\x32!.cosmos.staking.v1beta1.ValidatorB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06valset\"\x96\x02\n\x0f\x43ommissionRates\x12J\n\x04rate\x18\x01 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x04rate\x12Q\n\x08max_rate\x18\x02 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x07maxRate\x12^\n\x0fmax_change_rate\x18\x03 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\rmaxChangeRate:\x04\xe8\xa0\x1f\x01\"\xc1\x01\n\nCommission\x12\x61\n\x10\x63ommission_rates\x18\x01 \x01(\x0b\x32\'.cosmos.staking.v1beta1.CommissionRatesB\r\xc8\xde\x1f\x00\xd0\xde\x1f\x01\xa8\xe7\xb0*\x01R\x0f\x63ommissionRates\x12J\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\nupdateTime:\x04\xe8\xa0\x1f\x01\"\xa8\x01\n\x0b\x44\x65scription\x12\x18\n\x07moniker\x18\x01 \x01(\tR\x07moniker\x12\x1a\n\x08identity\x18\x02 \x01(\tR\x08identity\x12\x18\n\x07website\x18\x03 \x01(\tR\x07website\x12)\n\x10security_contact\x18\x04 \x01(\tR\x0fsecurityContact\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails:\x04\xe8\xa0\x1f\x01\"\x8a\x07\n\tValidator\x12\x43\n\x10operator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0foperatorAddress\x12Y\n\x10\x63onsensus_pubkey\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyB\x18\xca\xb4-\x14\x63osmos.crypto.PubKeyR\x0f\x63onsensusPubkey\x12\x16\n\x06jailed\x18\x03 \x01(\x08R\x06jailed\x12:\n\x06status\x18\x04 \x01(\x0e\x32\".cosmos.staking.v1beta1.BondStatusR\x06status\x12\x43\n\x06tokens\x18\x05 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x06tokens\x12\\\n\x10\x64\x65legator_shares\x18\x06 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x0f\x64\x65legatorShares\x12P\n\x0b\x64\x65scription\x18\x07 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12)\n\x10unbonding_height\x18\x08 \x01(\x03R\x0funbondingHeight\x12P\n\x0eunbonding_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\runbondingTime\x12M\n\ncommission\x18\n \x01(\x0b\x32\".cosmos.staking.v1beta1.CommissionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ncommission\x12[\n\x13min_self_delegation\x18\x0b \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x11minSelfDelegation\x12<\n\x1bunbonding_on_hold_ref_count\x18\x0c \x01(\x03R\x17unbondingOnHoldRefCount\x12#\n\runbonding_ids\x18\r \x03(\x04R\x0cunbondingIds:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"F\n\x0cValAddresses\x12\x36\n\taddresses\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\taddresses\"\xa9\x01\n\x06\x44VPair\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"J\n\x07\x44VPairs\x12?\n\x05pairs\x18\x01 \x03(\x0b\x32\x1e.cosmos.staking.v1beta1.DVPairB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05pairs\"\x8b\x02\n\nDVVTriplet\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"X\n\x0b\x44VVTriplets\x12I\n\x08triplets\x18\x01 \x03(\x0b\x32\".cosmos.staking.v1beta1.DVVTripletB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x08triplets\"\xf8\x01\n\nDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12I\n\x06shares\x18\x03 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x06shares:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8d\x02\n\x13UnbondingDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12U\n\x07\x65ntries\x18\x03 \x03(\x0b\x32\x30.cosmos.staking.v1beta1.UnbondingDelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9b\x03\n\x18UnbondingDelegationEntry\x12\'\n\x0f\x63reation_height\x18\x01 \x01(\x03R\x0e\x63reationHeight\x12R\n\x0f\x63ompletion_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12T\n\x0finitial_balance\x18\x03 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x0einitialBalance\x12\x45\n\x07\x62\x61lance\x18\x04 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x07\x62\x61lance\x12!\n\x0cunbonding_id\x18\x05 \x01(\x04R\x0bunbondingId\x12<\n\x1bunbonding_on_hold_ref_count\x18\x06 \x01(\x03R\x17unbondingOnHoldRefCount:\x04\xe8\xa0\x1f\x01\"\x9f\x03\n\x11RedelegationEntry\x12\'\n\x0f\x63reation_height\x18\x01 \x01(\x03R\x0e\x63reationHeight\x12R\n\x0f\x63ompletion_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12T\n\x0finitial_balance\x18\x03 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x0einitialBalance\x12P\n\nshares_dst\x18\x04 \x01(\tB1\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\tsharesDst\x12!\n\x0cunbonding_id\x18\x05 \x01(\x04R\x0bunbondingId\x12<\n\x1bunbonding_on_hold_ref_count\x18\x06 \x01(\x03R\x17unbondingOnHoldRefCount:\x04\xe8\xa0\x1f\x01\"\xdd\x02\n\x0cRedelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress\x12N\n\x07\x65ntries\x18\x04 \x03(\x0b\x32).cosmos.staking.v1beta1.RedelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9c\x03\n\x06Params\x12O\n\x0eunbonding_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\r\xc8\xde\x1f\x00\x98\xdf\x1f\x01\xa8\xe7\xb0*\x01R\runbondingTime\x12%\n\x0emax_validators\x18\x02 \x01(\rR\rmaxValidators\x12\x1f\n\x0bmax_entries\x18\x03 \x01(\rR\nmaxEntries\x12-\n\x12historical_entries\x18\x04 \x01(\rR\x11historicalEntries\x12\x1d\n\nbond_denom\x18\x05 \x01(\tR\tbondDenom\x12\x84\x01\n\x13min_commission_rate\x18\x06 \x01(\tBT\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x1ayaml:\"min_commission_rate\"\xd2\xb4-\ncosmos.Dec\xa8\xe7\xb0*\x01R\x11minCommissionRate:$\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x1b\x63osmos-sdk/x/staking/Params\"\xa9\x01\n\x12\x44\x65legationResponse\x12M\n\ndelegation\x18\x01 \x01(\x0b\x32\".cosmos.staking.v1beta1.DelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ndelegation\x12>\n\x07\x62\x61lance\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x62\x61lance:\x04\xe8\xa0\x1f\x00\"\xcd\x01\n\x19RedelegationEntryResponse\x12\x63\n\x12redelegation_entry\x18\x01 \x01(\x0b\x32).cosmos.staking.v1beta1.RedelegationEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x11redelegationEntry\x12\x45\n\x07\x62\x61lance\x18\x04 \x01(\tB+\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x07\x62\x61lance:\x04\xe8\xa0\x1f\x01\"\xc9\x01\n\x14RedelegationResponse\x12S\n\x0credelegation\x18\x01 \x01(\x0b\x32$.cosmos.staking.v1beta1.RedelegationB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0credelegation\x12V\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x31.cosmos.staking.v1beta1.RedelegationEntryResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries:\x04\xe8\xa0\x1f\x00\"\xeb\x01\n\x04Pool\x12q\n\x11not_bonded_tokens\x18\x01 \x01(\tBE\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xea\xde\x1f\x11not_bonded_tokens\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0fnotBondedTokens\x12\x66\n\rbonded_tokens\x18\x02 \x01(\tBA\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xea\xde\x1f\rbonded_tokens\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x0c\x62ondedTokens:\x08\xe8\xa0\x1f\x01\xf0\xa0\x1f\x01\"Z\n\x10ValidatorUpdates\x12\x46\n\x07updates\x18\x01 \x03(\x0b\x32!.cometbft.abci.v1.ValidatorUpdateB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07updates*\xb6\x01\n\nBondStatus\x12,\n\x17\x42OND_STATUS_UNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUnspecified\x12&\n\x14\x42OND_STATUS_UNBONDED\x10\x01\x1a\x0c\x8a\x9d \x08Unbonded\x12(\n\x15\x42OND_STATUS_UNBONDING\x10\x02\x1a\r\x8a\x9d \tUnbonding\x12\"\n\x12\x42OND_STATUS_BONDED\x10\x03\x1a\n\x8a\x9d \x06\x42onded\x1a\x04\x88\xa3\x1e\x00*]\n\nInfraction\x12\x1a\n\x16INFRACTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16INFRACTION_DOUBLE_SIGN\x10\x01\x12\x17\n\x13INFRACTION_DOWNTIME\x10\x02\x42\xd2\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x0cStakingProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -173,50 +173,50 @@ _globals['_POOL']._serialized_options = b'\350\240\037\001\360\240\037\001' _globals['_VALIDATORUPDATES'].fields_by_name['updates']._loaded_options = None _globals['_VALIDATORUPDATES'].fields_by_name['updates']._serialized_options = b'\310\336\037\000\250\347\260*\001' - _globals['_BONDSTATUS']._serialized_start=5738 - _globals['_BONDSTATUS']._serialized_end=5920 - _globals['_INFRACTION']._serialized_start=5922 - _globals['_INFRACTION']._serialized_end=6015 - _globals['_HISTORICALINFO']._serialized_start=316 - _globals['_HISTORICALINFO']._serialized_end=463 - _globals['_COMMISSIONRATES']._serialized_start=466 - _globals['_COMMISSIONRATES']._serialized_end=744 - _globals['_COMMISSION']._serialized_start=747 - _globals['_COMMISSION']._serialized_end=940 - _globals['_DESCRIPTION']._serialized_start=943 - _globals['_DESCRIPTION']._serialized_end=1111 - _globals['_VALIDATOR']._serialized_start=1114 - _globals['_VALIDATOR']._serialized_end=2020 - _globals['_VALADDRESSES']._serialized_start=2022 - _globals['_VALADDRESSES']._serialized_end=2092 - _globals['_DVPAIR']._serialized_start=2095 - _globals['_DVPAIR']._serialized_end=2264 - _globals['_DVPAIRS']._serialized_start=2266 - _globals['_DVPAIRS']._serialized_end=2340 - _globals['_DVVTRIPLET']._serialized_start=2343 - _globals['_DVVTRIPLET']._serialized_end=2610 - _globals['_DVVTRIPLETS']._serialized_start=2612 - _globals['_DVVTRIPLETS']._serialized_end=2700 - _globals['_DELEGATION']._serialized_start=2703 - _globals['_DELEGATION']._serialized_end=2951 - _globals['_UNBONDINGDELEGATION']._serialized_start=2954 - _globals['_UNBONDINGDELEGATION']._serialized_end=3223 - _globals['_UNBONDINGDELEGATIONENTRY']._serialized_start=3226 - _globals['_UNBONDINGDELEGATIONENTRY']._serialized_end=3637 - _globals['_REDELEGATIONENTRY']._serialized_start=3640 - _globals['_REDELEGATIONENTRY']._serialized_end=4055 - _globals['_REDELEGATION']._serialized_start=4058 - _globals['_REDELEGATION']._serialized_end=4407 - _globals['_PARAMS']._serialized_start=4410 - _globals['_PARAMS']._serialized_end=4822 - _globals['_DELEGATIONRESPONSE']._serialized_start=4825 - _globals['_DELEGATIONRESPONSE']._serialized_end=4994 - _globals['_REDELEGATIONENTRYRESPONSE']._serialized_start=4997 - _globals['_REDELEGATIONENTRYRESPONSE']._serialized_end=5202 - _globals['_REDELEGATIONRESPONSE']._serialized_start=5205 - _globals['_REDELEGATIONRESPONSE']._serialized_end=5406 - _globals['_POOL']._serialized_start=5409 - _globals['_POOL']._serialized_end=5644 - _globals['_VALIDATORUPDATES']._serialized_start=5646 - _globals['_VALIDATORUPDATES']._serialized_end=5735 + _globals['_BONDSTATUS']._serialized_start=5742 + _globals['_BONDSTATUS']._serialized_end=5924 + _globals['_INFRACTION']._serialized_start=5926 + _globals['_INFRACTION']._serialized_end=6019 + _globals['_HISTORICALINFO']._serialized_start=318 + _globals['_HISTORICALINFO']._serialized_end=466 + _globals['_COMMISSIONRATES']._serialized_start=469 + _globals['_COMMISSIONRATES']._serialized_end=747 + _globals['_COMMISSION']._serialized_start=750 + _globals['_COMMISSION']._serialized_end=943 + _globals['_DESCRIPTION']._serialized_start=946 + _globals['_DESCRIPTION']._serialized_end=1114 + _globals['_VALIDATOR']._serialized_start=1117 + _globals['_VALIDATOR']._serialized_end=2023 + _globals['_VALADDRESSES']._serialized_start=2025 + _globals['_VALADDRESSES']._serialized_end=2095 + _globals['_DVPAIR']._serialized_start=2098 + _globals['_DVPAIR']._serialized_end=2267 + _globals['_DVPAIRS']._serialized_start=2269 + _globals['_DVPAIRS']._serialized_end=2343 + _globals['_DVVTRIPLET']._serialized_start=2346 + _globals['_DVVTRIPLET']._serialized_end=2613 + _globals['_DVVTRIPLETS']._serialized_start=2615 + _globals['_DVVTRIPLETS']._serialized_end=2703 + _globals['_DELEGATION']._serialized_start=2706 + _globals['_DELEGATION']._serialized_end=2954 + _globals['_UNBONDINGDELEGATION']._serialized_start=2957 + _globals['_UNBONDINGDELEGATION']._serialized_end=3226 + _globals['_UNBONDINGDELEGATIONENTRY']._serialized_start=3229 + _globals['_UNBONDINGDELEGATIONENTRY']._serialized_end=3640 + _globals['_REDELEGATIONENTRY']._serialized_start=3643 + _globals['_REDELEGATIONENTRY']._serialized_end=4058 + _globals['_REDELEGATION']._serialized_start=4061 + _globals['_REDELEGATION']._serialized_end=4410 + _globals['_PARAMS']._serialized_start=4413 + _globals['_PARAMS']._serialized_end=4825 + _globals['_DELEGATIONRESPONSE']._serialized_start=4828 + _globals['_DELEGATIONRESPONSE']._serialized_end=4997 + _globals['_REDELEGATIONENTRYRESPONSE']._serialized_start=5000 + _globals['_REDELEGATIONENTRYRESPONSE']._serialized_end=5205 + _globals['_REDELEGATIONRESPONSE']._serialized_start=5208 + _globals['_REDELEGATIONRESPONSE']._serialized_end=5409 + _globals['_POOL']._serialized_start=5412 + _globals['_POOL']._serialized_end=5647 + _globals['_VALIDATORUPDATES']._serialized_start=5649 + _globals['_VALIDATORUPDATES']._serialized_end=5739 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2.py b/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2.py index ecf2a7aa..2b6dda79 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/staking/v1beta1/tx.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14gogoproto/gogo.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x11\x61mino/amino.proto\"\xfb\x04\n\x12MsgCreateValidator\x12P\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12R\n\ncommission\x18\x02 \x01(\x0b\x32\'.cosmos.staking.v1beta1.CommissionRatesB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ncommission\x12`\n\x13min_self_delegation\x18\x03 \x01(\tB0\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x11minSelfDelegation\x12G\n\x11\x64\x65legator_address\x18\x04 \x01(\tB\x1a\x18\x01\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x05 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12\x46\n\x06pubkey\x18\x06 \x01(\x0b\x32\x14.google.protobuf.AnyB\x18\xca\xb4-\x14\x63osmos.crypto.PubKeyR\x06pubkey\x12:\n\x05value\x18\x07 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05value:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11validator_address\x8a\xe7\xb0*\x1d\x63osmos-sdk/MsgCreateValidator\"\x1c\n\x1aMsgCreateValidatorResponse\"\xa5\x03\n\x10MsgEditValidator\x12P\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12V\n\x0f\x63ommission_rate\x18\x03 \x01(\tB-\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x0e\x63ommissionRate\x12W\n\x13min_self_delegation\x18\x04 \x01(\tB\'\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x11minSelfDelegation:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11validator_address\x8a\xe7\xb0*\x1b\x63osmos-sdk/MsgEditValidator\"\x1a\n\x18MsgEditValidatorResponse\"\x9d\x02\n\x0bMsgDelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x16\x63osmos-sdk/MsgDelegate\"\x15\n\x13MsgDelegateResponse\"\x89\x03\n\x12MsgBeginRedelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress\x12<\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x1d\x63osmos-sdk/MsgBeginRedelegate\"p\n\x1aMsgBeginRedelegateResponse\x12R\n\x0f\x63ompletion_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\"\xa1\x02\n\rMsgUndelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x18\x63osmos-sdk/MsgUndelegate\"\xa9\x01\n\x15MsgUndelegateResponse\x12R\n\x0f\x63ompletion_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12<\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount\"\xe8\x02\n\x1cMsgCancelUnbondingDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount\x12\'\n\x0f\x63reation_height\x18\x04 \x01(\x03R\x0e\x63reationHeight:J\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\'cosmos-sdk/MsgCancelUnbondingDelegation\"&\n$MsgCancelUnbondingDelegationResponse\"\xc5\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x41\n\x06params\x18\x02 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$cosmos-sdk/x/staking/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\x9d\x06\n\x03Msg\x12q\n\x0f\x43reateValidator\x12*.cosmos.staking.v1beta1.MsgCreateValidator\x1a\x32.cosmos.staking.v1beta1.MsgCreateValidatorResponse\x12k\n\rEditValidator\x12(.cosmos.staking.v1beta1.MsgEditValidator\x1a\x30.cosmos.staking.v1beta1.MsgEditValidatorResponse\x12\\\n\x08\x44\x65legate\x12#.cosmos.staking.v1beta1.MsgDelegate\x1a+.cosmos.staking.v1beta1.MsgDelegateResponse\x12q\n\x0f\x42\x65ginRedelegate\x12*.cosmos.staking.v1beta1.MsgBeginRedelegate\x1a\x32.cosmos.staking.v1beta1.MsgBeginRedelegateResponse\x12\x62\n\nUndelegate\x12%.cosmos.staking.v1beta1.MsgUndelegate\x1a-.cosmos.staking.v1beta1.MsgUndelegateResponse\x12\x8f\x01\n\x19\x43\x61ncelUnbondingDelegation\x12\x34.cosmos.staking.v1beta1.MsgCancelUnbondingDelegation\x1a<.cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse\x12h\n\x0cUpdateParams\x12\'.cosmos.staking.v1beta1.MsgUpdateParams\x1a/.cosmos.staking.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xcd\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x07TxProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/staking/v1beta1/tx.proto\x12\x16\x63osmos.staking.v1beta1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14gogoproto/gogo.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a$cosmos/staking/v1beta1/staking.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x11\x61mino/amino.proto\"\xfb\x04\n\x12MsgCreateValidator\x12P\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12R\n\ncommission\x18\x02 \x01(\x0b\x32\'.cosmos.staking.v1beta1.CommissionRatesB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\ncommission\x12`\n\x13min_self_delegation\x18\x03 \x01(\tB0\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.Int\xa8\xe7\xb0*\x01R\x11minSelfDelegation\x12G\n\x11\x64\x65legator_address\x18\x04 \x01(\tB\x1a\x18\x01\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x05 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12\x46\n\x06pubkey\x18\x06 \x01(\x0b\x32\x14.google.protobuf.AnyB\x18\xca\xb4-\x14\x63osmos.crypto.PubKeyR\x06pubkey\x12:\n\x05value\x18\x07 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x05value:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11validator_address\x8a\xe7\xb0*\x1d\x63osmos-sdk/MsgCreateValidator\"\x1c\n\x1aMsgCreateValidatorResponse\"\xa5\x03\n\x10MsgEditValidator\x12P\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32#.cosmos.staking.v1beta1.DescriptionB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0b\x64\x65scription\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12V\n\x0f\x63ommission_rate\x18\x03 \x01(\tB-\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xd2\xb4-\ncosmos.DecR\x0e\x63ommissionRate\x12W\n\x13min_self_delegation\x18\x04 \x01(\tB\'\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xd2\xb4-\ncosmos.IntR\x11minSelfDelegation:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11validator_address\x8a\xe7\xb0*\x1b\x63osmos-sdk/MsgEditValidator\"\x1a\n\x18MsgEditValidatorResponse\"\x9d\x02\n\x0bMsgDelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x16\x63osmos-sdk/MsgDelegate\"\x15\n\x13MsgDelegateResponse\"\xf6\x02\n\x15MsgTransferDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12\x43\n\x10receiver_address\x18\x03 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0freceiverAddress\x12<\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:C\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0* cosmos-sdk/MsgTransferDelegation\"\x1f\n\x1dMsgTransferDelegationResponse\"\x89\x03\n\x12MsgBeginRedelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12U\n\x15validator_src_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorSrcAddress\x12U\n\x15validator_dst_address\x18\x03 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x13validatorDstAddress\x12<\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x1d\x63osmos-sdk/MsgBeginRedelegate\"p\n\x1aMsgBeginRedelegateResponse\x12R\n\x0f\x63ompletion_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\"\xa1\x02\n\rMsgUndelegate\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\x18\x63osmos-sdk/MsgUndelegate\"\xa9\x01\n\x15MsgUndelegateResponse\x12R\n\x0f\x63ompletion_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\xc8\xde\x1f\x00\x90\xdf\x1f\x01\xa8\xe7\xb0*\x01R\x0e\x63ompletionTime\x12<\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount\"\xe8\x02\n\x1cMsgCancelUnbondingDelegation\x12\x45\n\x11\x64\x65legator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x10\x64\x65legatorAddress\x12N\n\x11validator_address\x18\x02 \x01(\tB!\xd2\xb4-\x1d\x63osmos.ValidatorAddressStringR\x10validatorAddress\x12<\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06\x61mount\x12\'\n\x0f\x63reation_height\x18\x04 \x01(\x03R\x0e\x63reationHeight:J\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x11\x64\x65legator_address\x8a\xe7\xb0*\'cosmos-sdk/MsgCancelUnbondingDelegation\"&\n$MsgCancelUnbondingDelegationResponse\"\xc5\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x41\n\x06params\x18\x02 \x01(\x0b\x32\x1e.cosmos.staking.v1beta1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$cosmos-sdk/x/staking/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\x99\x07\n\x03Msg\x12q\n\x0f\x43reateValidator\x12*.cosmos.staking.v1beta1.MsgCreateValidator\x1a\x32.cosmos.staking.v1beta1.MsgCreateValidatorResponse\x12k\n\rEditValidator\x12(.cosmos.staking.v1beta1.MsgEditValidator\x1a\x30.cosmos.staking.v1beta1.MsgEditValidatorResponse\x12\\\n\x08\x44\x65legate\x12#.cosmos.staking.v1beta1.MsgDelegate\x1a+.cosmos.staking.v1beta1.MsgDelegateResponse\x12z\n\x12TransferDelegation\x12-.cosmos.staking.v1beta1.MsgTransferDelegation\x1a\x35.cosmos.staking.v1beta1.MsgTransferDelegationResponse\x12q\n\x0f\x42\x65ginRedelegate\x12*.cosmos.staking.v1beta1.MsgBeginRedelegate\x1a\x32.cosmos.staking.v1beta1.MsgBeginRedelegateResponse\x12\x62\n\nUndelegate\x12%.cosmos.staking.v1beta1.MsgUndelegate\x1a-.cosmos.staking.v1beta1.MsgUndelegateResponse\x12\x8f\x01\n\x19\x43\x61ncelUnbondingDelegation\x12\x34.cosmos.staking.v1beta1.MsgCancelUnbondingDelegation\x1a<.cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse\x12h\n\x0cUpdateParams\x12\'.cosmos.staking.v1beta1.MsgUpdateParams\x1a/.cosmos.staking.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xcd\x01\n\x1a\x63om.cosmos.staking.v1beta1B\x07TxProtoP\x01Z,github.com/cosmos/cosmos-sdk/x/staking/types\xa2\x02\x03\x43SX\xaa\x02\x16\x43osmos.Staking.V1beta1\xca\x02\x16\x43osmos\\Staking\\V1beta1\xe2\x02\"Cosmos\\Staking\\V1beta1\\GPBMetadata\xea\x02\x18\x43osmos::Staking::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -64,6 +64,16 @@ _globals['_MSGDELEGATE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\250\347\260*\001' _globals['_MSGDELEGATE']._loaded_options = None _globals['_MSGDELEGATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\021delegator_address\212\347\260*\026cosmos-sdk/MsgDelegate' + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['delegator_address']._loaded_options = None + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['delegator_address']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['validator_address']._loaded_options = None + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['validator_address']._serialized_options = b'\322\264-\035cosmos.ValidatorAddressString' + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['receiver_address']._loaded_options = None + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['receiver_address']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['amount']._loaded_options = None + _globals['_MSGTRANSFERDELEGATION'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\250\347\260*\001' + _globals['_MSGTRANSFERDELEGATION']._loaded_options = None + _globals['_MSGTRANSFERDELEGATION']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\021delegator_address\212\347\260* cosmos-sdk/MsgTransferDelegation' _globals['_MSGBEGINREDELEGATE'].fields_by_name['delegator_address']._loaded_options = None _globals['_MSGBEGINREDELEGATE'].fields_by_name['delegator_address']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_MSGBEGINREDELEGATE'].fields_by_name['validator_src_address']._loaded_options = None @@ -116,22 +126,26 @@ _globals['_MSGDELEGATE']._serialized_end=1688 _globals['_MSGDELEGATERESPONSE']._serialized_start=1690 _globals['_MSGDELEGATERESPONSE']._serialized_end=1711 - _globals['_MSGBEGINREDELEGATE']._serialized_start=1714 - _globals['_MSGBEGINREDELEGATE']._serialized_end=2107 - _globals['_MSGBEGINREDELEGATERESPONSE']._serialized_start=2109 - _globals['_MSGBEGINREDELEGATERESPONSE']._serialized_end=2221 - _globals['_MSGUNDELEGATE']._serialized_start=2224 - _globals['_MSGUNDELEGATE']._serialized_end=2513 - _globals['_MSGUNDELEGATERESPONSE']._serialized_start=2516 - _globals['_MSGUNDELEGATERESPONSE']._serialized_end=2685 - _globals['_MSGCANCELUNBONDINGDELEGATION']._serialized_start=2688 - _globals['_MSGCANCELUNBONDINGDELEGATION']._serialized_end=3048 - _globals['_MSGCANCELUNBONDINGDELEGATIONRESPONSE']._serialized_start=3050 - _globals['_MSGCANCELUNBONDINGDELEGATIONRESPONSE']._serialized_end=3088 - _globals['_MSGUPDATEPARAMS']._serialized_start=3091 - _globals['_MSGUPDATEPARAMS']._serialized_end=3288 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=3290 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=3315 - _globals['_MSG']._serialized_start=3318 - _globals['_MSG']._serialized_end=4115 + _globals['_MSGTRANSFERDELEGATION']._serialized_start=1714 + _globals['_MSGTRANSFERDELEGATION']._serialized_end=2088 + _globals['_MSGTRANSFERDELEGATIONRESPONSE']._serialized_start=2090 + _globals['_MSGTRANSFERDELEGATIONRESPONSE']._serialized_end=2121 + _globals['_MSGBEGINREDELEGATE']._serialized_start=2124 + _globals['_MSGBEGINREDELEGATE']._serialized_end=2517 + _globals['_MSGBEGINREDELEGATERESPONSE']._serialized_start=2519 + _globals['_MSGBEGINREDELEGATERESPONSE']._serialized_end=2631 + _globals['_MSGUNDELEGATE']._serialized_start=2634 + _globals['_MSGUNDELEGATE']._serialized_end=2923 + _globals['_MSGUNDELEGATERESPONSE']._serialized_start=2926 + _globals['_MSGUNDELEGATERESPONSE']._serialized_end=3095 + _globals['_MSGCANCELUNBONDINGDELEGATION']._serialized_start=3098 + _globals['_MSGCANCELUNBONDINGDELEGATION']._serialized_end=3458 + _globals['_MSGCANCELUNBONDINGDELEGATIONRESPONSE']._serialized_start=3460 + _globals['_MSGCANCELUNBONDINGDELEGATIONRESPONSE']._serialized_end=3498 + _globals['_MSGUPDATEPARAMS']._serialized_start=3501 + _globals['_MSGUPDATEPARAMS']._serialized_end=3698 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=3700 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=3725 + _globals['_MSG']._serialized_start=3728 + _globals['_MSG']._serialized_end=4649 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2_grpc.py index f4113b4b..33e009ff 100644 --- a/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/cosmos/staking/v1beta1/tx_pb2_grpc.py @@ -30,6 +30,11 @@ def __init__(self, channel): request_serializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgDelegate.SerializeToString, response_deserializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgDelegateResponse.FromString, _registered_method=True) + self.TransferDelegation = channel.unary_unary( + '/cosmos.staking.v1beta1.Msg/TransferDelegation', + request_serializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegation.SerializeToString, + response_deserializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegationResponse.FromString, + _registered_method=True) self.BeginRedelegate = channel.unary_unary( '/cosmos.staking.v1beta1.Msg/BeginRedelegate', request_serializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgBeginRedelegate.SerializeToString, @@ -78,6 +83,14 @@ def Delegate(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def TransferDelegation(self, request, context): + """TransferDelegation defines a method for transferring a delegation of coins + from a delegator to another address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def BeginRedelegate(self, request, context): """BeginRedelegate defines a method for performing a redelegation of coins from a delegator and source validator to a destination validator. @@ -131,6 +144,11 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgDelegate.FromString, response_serializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgDelegateResponse.SerializeToString, ), + 'TransferDelegation': grpc.unary_unary_rpc_method_handler( + servicer.TransferDelegation, + request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegation.FromString, + response_serializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegationResponse.SerializeToString, + ), 'BeginRedelegate': grpc.unary_unary_rpc_method_handler( servicer.BeginRedelegate, request_deserializer=cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgBeginRedelegate.FromString, @@ -244,6 +262,33 @@ def Delegate(request, metadata, _registered_method=True) + @staticmethod + def TransferDelegation(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/cosmos.staking.v1beta1.Msg/TransferDelegation', + cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegation.SerializeToString, + cosmos_dot_staking_dot_v1beta1_dot_tx__pb2.MsgTransferDelegationResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def BeginRedelegate(request, target, diff --git a/pyinjective/proto/cosmos/store/streaming/abci/grpc_pb2.py b/pyinjective/proto/cosmos/store/streaming/abci/grpc_pb2.py index c1d7ec5c..3421d08e 100644 --- a/pyinjective/proto/cosmos/store/streaming/abci/grpc_pb2.py +++ b/pyinjective/proto/cosmos/store/streaming/abci/grpc_pb2.py @@ -12,11 +12,11 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.tendermint.abci import types_pb2 as tendermint_dot_abci_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 from pyinjective.proto.cosmos.store.v1beta1 import listening_pb2 as cosmos_dot_store_dot_v1beta1_dot_listening__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cosmos/store/streaming/abci/grpc.proto\x12\x1b\x63osmos.store.streaming.abci\x1a\x1btendermint/abci/types.proto\x1a$cosmos/store/v1beta1/listening.proto\"\x8f\x01\n\x1aListenFinalizeBlockRequest\x12\x37\n\x03req\x18\x01 \x01(\x0b\x32%.tendermint.abci.RequestFinalizeBlockR\x03req\x12\x38\n\x03res\x18\x02 \x01(\x0b\x32&.tendermint.abci.ResponseFinalizeBlockR\x03res\"\x1d\n\x1bListenFinalizeBlockResponse\"\xad\x01\n\x13ListenCommitRequest\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12\x31\n\x03res\x18\x02 \x01(\x0b\x32\x1f.tendermint.abci.ResponseCommitR\x03res\x12@\n\nchange_set\x18\x03 \x03(\x0b\x32!.cosmos.store.v1beta1.StoreKVPairR\tchangeSet\"\x16\n\x14ListenCommitResponse2\x95\x02\n\x13\x41\x42\x43IListenerService\x12\x88\x01\n\x13ListenFinalizeBlock\x12\x37.cosmos.store.streaming.abci.ListenFinalizeBlockRequest\x1a\x38.cosmos.store.streaming.abci.ListenFinalizeBlockResponse\x12s\n\x0cListenCommit\x12\x30.cosmos.store.streaming.abci.ListenCommitRequest\x1a\x31.cosmos.store.streaming.abci.ListenCommitResponseB\xdf\x01\n\x1f\x63om.cosmos.store.streaming.abciB\tGrpcProtoP\x01Z!cosmossdk.io/store/streaming/abci\xa2\x02\x04\x43SSA\xaa\x02\x1b\x43osmos.Store.Streaming.Abci\xca\x02\x1b\x43osmos\\Store\\Streaming\\Abci\xe2\x02\'Cosmos\\Store\\Streaming\\Abci\\GPBMetadata\xea\x02\x1e\x43osmos::Store::Streaming::Abcib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&cosmos/store/streaming/abci/grpc.proto\x12\x1b\x63osmos.store.streaming.abci\x1a\x1c\x63ometbft/abci/v1/types.proto\x1a$cosmos/store/v1beta1/listening.proto\"\x91\x01\n\x1aListenFinalizeBlockRequest\x12\x38\n\x03req\x18\x01 \x01(\x0b\x32&.cometbft.abci.v1.FinalizeBlockRequestR\x03req\x12\x39\n\x03res\x18\x02 \x01(\x0b\x32\'.cometbft.abci.v1.FinalizeBlockResponseR\x03res\"\x1d\n\x1bListenFinalizeBlockResponse\"\xae\x01\n\x13ListenCommitRequest\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x03R\x0b\x62lockHeight\x12\x32\n\x03res\x18\x02 \x01(\x0b\x32 .cometbft.abci.v1.CommitResponseR\x03res\x12@\n\nchange_set\x18\x03 \x03(\x0b\x32!.cosmos.store.v1beta1.StoreKVPairR\tchangeSet\"\x16\n\x14ListenCommitResponse2\x95\x02\n\x13\x41\x42\x43IListenerService\x12\x88\x01\n\x13ListenFinalizeBlock\x12\x37.cosmos.store.streaming.abci.ListenFinalizeBlockRequest\x1a\x38.cosmos.store.streaming.abci.ListenFinalizeBlockResponse\x12s\n\x0cListenCommit\x12\x30.cosmos.store.streaming.abci.ListenCommitRequest\x1a\x31.cosmos.store.streaming.abci.ListenCommitResponseB\xdf\x01\n\x1f\x63om.cosmos.store.streaming.abciB\tGrpcProtoP\x01Z!cosmossdk.io/store/streaming/abci\xa2\x02\x04\x43SSA\xaa\x02\x1b\x43osmos.Store.Streaming.Abci\xca\x02\x1b\x43osmos\\Store\\Streaming\\Abci\xe2\x02\'Cosmos\\Store\\Streaming\\Abci\\GPBMetadata\xea\x02\x1e\x43osmos::Store::Streaming::Abcib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,14 +24,14 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\037com.cosmos.store.streaming.abciB\tGrpcProtoP\001Z!cosmossdk.io/store/streaming/abci\242\002\004CSSA\252\002\033Cosmos.Store.Streaming.Abci\312\002\033Cosmos\\Store\\Streaming\\Abci\342\002\'Cosmos\\Store\\Streaming\\Abci\\GPBMetadata\352\002\036Cosmos::Store::Streaming::Abci' - _globals['_LISTENFINALIZEBLOCKREQUEST']._serialized_start=139 - _globals['_LISTENFINALIZEBLOCKREQUEST']._serialized_end=282 - _globals['_LISTENFINALIZEBLOCKRESPONSE']._serialized_start=284 - _globals['_LISTENFINALIZEBLOCKRESPONSE']._serialized_end=313 - _globals['_LISTENCOMMITREQUEST']._serialized_start=316 - _globals['_LISTENCOMMITREQUEST']._serialized_end=489 - _globals['_LISTENCOMMITRESPONSE']._serialized_start=491 - _globals['_LISTENCOMMITRESPONSE']._serialized_end=513 - _globals['_ABCILISTENERSERVICE']._serialized_start=516 - _globals['_ABCILISTENERSERVICE']._serialized_end=793 + _globals['_LISTENFINALIZEBLOCKREQUEST']._serialized_start=140 + _globals['_LISTENFINALIZEBLOCKREQUEST']._serialized_end=285 + _globals['_LISTENFINALIZEBLOCKRESPONSE']._serialized_start=287 + _globals['_LISTENFINALIZEBLOCKRESPONSE']._serialized_end=316 + _globals['_LISTENCOMMITREQUEST']._serialized_start=319 + _globals['_LISTENCOMMITREQUEST']._serialized_end=493 + _globals['_LISTENCOMMITRESPONSE']._serialized_start=495 + _globals['_LISTENCOMMITRESPONSE']._serialized_end=517 + _globals['_ABCILISTENERSERVICE']._serialized_start=520 + _globals['_ABCILISTENERSERVICE']._serialized_end=797 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/store/v1beta1/listening_pb2.py b/pyinjective/proto/cosmos/store/v1beta1/listening_pb2.py index 2234f381..1704b8de 100644 --- a/pyinjective/proto/cosmos/store/v1beta1/listening_pb2.py +++ b/pyinjective/proto/cosmos/store/v1beta1/listening_pb2.py @@ -12,10 +12,10 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.tendermint.abci import types_pb2 as tendermint_dot_abci_dot_types__pb2 +from pyinjective.proto.cometbft.abci.v1 import types_pb2 as cometbft_dot_abci_dot_v1_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/store/v1beta1/listening.proto\x12\x14\x63osmos.store.v1beta1\x1a\x1btendermint/abci/types.proto\"j\n\x0bStoreKVPair\x12\x1b\n\tstore_key\x18\x01 \x01(\tR\x08storeKey\x12\x16\n\x06\x64\x65lete\x18\x02 \x01(\x08R\x06\x64\x65lete\x12\x10\n\x03key\x18\x03 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x04 \x01(\x0cR\x05value\"\xb4\x02\n\rBlockMetadata\x12H\n\x0fresponse_commit\x18\x06 \x01(\x0b\x32\x1f.tendermint.abci.ResponseCommitR\x0eresponseCommit\x12[\n\x16request_finalize_block\x18\x07 \x01(\x0b\x32%.tendermint.abci.RequestFinalizeBlockR\x14requestFinalizeBlock\x12^\n\x17response_finalize_block\x18\x08 \x01(\x0b\x32&.tendermint.abci.ResponseFinalizeBlockR\x15responseFinalizeBlockJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\x42\xb6\x01\n\x18\x63om.cosmos.store.v1beta1B\x0eListeningProtoP\x01Z\x18\x63osmossdk.io/store/types\xa2\x02\x03\x43SX\xaa\x02\x14\x43osmos.Store.V1beta1\xca\x02\x14\x43osmos\\Store\\V1beta1\xe2\x02 Cosmos\\Store\\V1beta1\\GPBMetadata\xea\x02\x16\x43osmos::Store::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cosmos/store/v1beta1/listening.proto\x12\x14\x63osmos.store.v1beta1\x1a\x1c\x63ometbft/abci/v1/types.proto\"j\n\x0bStoreKVPair\x12\x1b\n\tstore_key\x18\x01 \x01(\tR\x08storeKey\x12\x16\n\x06\x64\x65lete\x18\x02 \x01(\x08R\x06\x64\x65lete\x12\x10\n\x03key\x18\x03 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x04 \x01(\x0cR\x05value\"\xb7\x02\n\rBlockMetadata\x12I\n\x0fresponse_commit\x18\x06 \x01(\x0b\x32 .cometbft.abci.v1.CommitResponseR\x0eresponseCommit\x12\\\n\x16request_finalize_block\x18\x07 \x01(\x0b\x32&.cometbft.abci.v1.FinalizeBlockRequestR\x14requestFinalizeBlock\x12_\n\x17response_finalize_block\x18\x08 \x01(\x0b\x32\'.cometbft.abci.v1.FinalizeBlockResponseR\x15responseFinalizeBlockJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\x42\xb6\x01\n\x18\x63om.cosmos.store.v1beta1B\x0eListeningProtoP\x01Z\x18\x63osmossdk.io/store/types\xa2\x02\x03\x43SX\xaa\x02\x14\x43osmos.Store.V1beta1\xca\x02\x14\x43osmos\\Store\\V1beta1\xe2\x02 Cosmos\\Store\\V1beta1\\GPBMetadata\xea\x02\x16\x43osmos::Store::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,8 +23,8 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.cosmos.store.v1beta1B\016ListeningProtoP\001Z\030cosmossdk.io/store/types\242\002\003CSX\252\002\024Cosmos.Store.V1beta1\312\002\024Cosmos\\Store\\V1beta1\342\002 Cosmos\\Store\\V1beta1\\GPBMetadata\352\002\026Cosmos::Store::V1beta1' - _globals['_STOREKVPAIR']._serialized_start=91 - _globals['_STOREKVPAIR']._serialized_end=197 - _globals['_BLOCKMETADATA']._serialized_start=200 - _globals['_BLOCKMETADATA']._serialized_end=508 + _globals['_STOREKVPAIR']._serialized_start=92 + _globals['_STOREKVPAIR']._serialized_end=198 + _globals['_BLOCKMETADATA']._serialized_start=201 + _globals['_BLOCKMETADATA']._serialized_end=512 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmos/tx/v1beta1/service_pb2.py b/pyinjective/proto/cosmos/tx/v1beta1/service_pb2.py index e2512d9e..5724282a 100644 --- a/pyinjective/proto/cosmos/tx/v1beta1/service_pb2.py +++ b/pyinjective/proto/cosmos/tx/v1beta1/service_pb2.py @@ -16,11 +16,11 @@ from pyinjective.proto.cosmos.base.abci.v1beta1 import abci_pb2 as cosmos_dot_base_dot_abci_dot_v1beta1_dot_abci__pb2 from pyinjective.proto.cosmos.tx.v1beta1 import tx_pb2 as cosmos_dot_tx_dot_v1beta1_dot_tx__pb2 from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 -from pyinjective.proto.tendermint.types import block_pb2 as tendermint_dot_types_dot_block__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 +from pyinjective.proto.cometbft.types.v1 import block_pb2 as cometbft_dot_types_dot_v1_dot_block__pb2 +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_dot_types_dot_v1_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/tx/v1beta1/service.proto\x12\x11\x63osmos.tx.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a#cosmos/base/abci/v1beta1/abci.proto\x1a\x1a\x63osmos/tx/v1beta1/tx.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x1ctendermint/types/block.proto\x1a\x1ctendermint/types/types.proto\"\xf3\x01\n\x12GetTxsEventRequest\x12\x1a\n\x06\x65vents\x18\x01 \x03(\tB\x02\x18\x01R\x06\x65vents\x12J\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestB\x02\x18\x01R\npagination\x12\x35\n\x08order_by\x18\x03 \x01(\x0e\x32\x1a.cosmos.tx.v1beta1.OrderByR\x07orderBy\x12\x12\n\x04page\x18\x04 \x01(\x04R\x04page\x12\x14\n\x05limit\x18\x05 \x01(\x04R\x05limit\x12\x14\n\x05query\x18\x06 \x01(\tR\x05query\"\xea\x01\n\x13GetTxsEventResponse\x12\'\n\x03txs\x18\x01 \x03(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x03txs\x12G\n\x0ctx_responses\x18\x02 \x03(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\x0btxResponses\x12K\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseB\x02\x18\x01R\npagination\x12\x14\n\x05total\x18\x04 \x01(\x04R\x05total\"e\n\x12\x42roadcastTxRequest\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\x12\x34\n\x04mode\x18\x02 \x01(\x0e\x32 .cosmos.tx.v1beta1.BroadcastModeR\x04mode\"\\\n\x13\x42roadcastTxResponse\x12\x45\n\x0btx_response\x18\x01 \x01(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\ntxResponse\"W\n\x0fSimulateRequest\x12)\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxB\x02\x18\x01R\x02tx\x12\x19\n\x08tx_bytes\x18\x02 \x01(\x0cR\x07txBytes\"\x8a\x01\n\x10SimulateResponse\x12<\n\x08gas_info\x18\x01 \x01(\x0b\x32!.cosmos.base.abci.v1beta1.GasInfoR\x07gasInfo\x12\x38\n\x06result\x18\x02 \x01(\x0b\x32 .cosmos.base.abci.v1beta1.ResultR\x06result\"\"\n\x0cGetTxRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\"}\n\rGetTxResponse\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\x12\x45\n\x0btx_response\x18\x02 \x01(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\ntxResponse\"x\n\x16GetBlockWithTxsRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xf0\x01\n\x17GetBlockWithTxsResponse\x12\'\n\x03txs\x18\x01 \x03(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x03txs\x12\x34\n\x08\x62lock_id\x18\x02 \x01(\x0b\x32\x19.tendermint.types.BlockIDR\x07\x62lockId\x12-\n\x05\x62lock\x18\x03 \x01(\x0b\x32\x17.tendermint.types.BlockR\x05\x62lock\x12G\n\npagination\x18\x04 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\",\n\x0fTxDecodeRequest\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\"9\n\x10TxDecodeResponse\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\"8\n\x0fTxEncodeRequest\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\"-\n\x10TxEncodeResponse\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\"5\n\x14TxEncodeAminoRequest\x12\x1d\n\namino_json\x18\x01 \x01(\tR\taminoJson\":\n\x15TxEncodeAminoResponse\x12!\n\x0c\x61mino_binary\x18\x01 \x01(\x0cR\x0b\x61minoBinary\"9\n\x14TxDecodeAminoRequest\x12!\n\x0c\x61mino_binary\x18\x01 \x01(\x0cR\x0b\x61minoBinary\"6\n\x15TxDecodeAminoResponse\x12\x1d\n\namino_json\x18\x01 \x01(\tR\taminoJson*H\n\x07OrderBy\x12\x18\n\x14ORDER_BY_UNSPECIFIED\x10\x00\x12\x10\n\x0cORDER_BY_ASC\x10\x01\x12\x11\n\rORDER_BY_DESC\x10\x02*\x80\x01\n\rBroadcastMode\x12\x1e\n\x1a\x42ROADCAST_MODE_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x42ROADCAST_MODE_BLOCK\x10\x01\x1a\x02\x08\x01\x12\x17\n\x13\x42ROADCAST_MODE_SYNC\x10\x02\x12\x18\n\x14\x42ROADCAST_MODE_ASYNC\x10\x03\x32\xaa\t\n\x07Service\x12{\n\x08Simulate\x12\".cosmos.tx.v1beta1.SimulateRequest\x1a#.cosmos.tx.v1beta1.SimulateResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/cosmos/tx/v1beta1/simulate:\x01*\x12q\n\x05GetTx\x12\x1f.cosmos.tx.v1beta1.GetTxRequest\x1a .cosmos.tx.v1beta1.GetTxResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/cosmos/tx/v1beta1/txs/{hash}\x12\x7f\n\x0b\x42roadcastTx\x12%.cosmos.tx.v1beta1.BroadcastTxRequest\x1a&.cosmos.tx.v1beta1.BroadcastTxResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/cosmos/tx/v1beta1/txs:\x01*\x12|\n\x0bGetTxsEvent\x12%.cosmos.tx.v1beta1.GetTxsEventRequest\x1a&.cosmos.tx.v1beta1.GetTxsEventResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/cosmos/tx/v1beta1/txs\x12\x97\x01\n\x0fGetBlockWithTxs\x12).cosmos.tx.v1beta1.GetBlockWithTxsRequest\x1a*.cosmos.tx.v1beta1.GetBlockWithTxsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/cosmos/tx/v1beta1/txs/block/{height}\x12y\n\x08TxDecode\x12\".cosmos.tx.v1beta1.TxDecodeRequest\x1a#.cosmos.tx.v1beta1.TxDecodeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/cosmos/tx/v1beta1/decode:\x01*\x12y\n\x08TxEncode\x12\".cosmos.tx.v1beta1.TxEncodeRequest\x1a#.cosmos.tx.v1beta1.TxEncodeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/cosmos/tx/v1beta1/encode:\x01*\x12\x8e\x01\n\rTxEncodeAmino\x12\'.cosmos.tx.v1beta1.TxEncodeAminoRequest\x1a(.cosmos.tx.v1beta1.TxEncodeAminoResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/cosmos/tx/v1beta1/encode/amino:\x01*\x12\x8e\x01\n\rTxDecodeAmino\x12\'.cosmos.tx.v1beta1.TxDecodeAminoRequest\x1a(.cosmos.tx.v1beta1.TxDecodeAminoResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/cosmos/tx/v1beta1/decode/amino:\x01*B\xb2\x01\n\x15\x63om.cosmos.tx.v1beta1B\x0cServiceProtoP\x01Z%github.com/cosmos/cosmos-sdk/types/tx\xa2\x02\x03\x43TX\xaa\x02\x11\x43osmos.Tx.V1beta1\xca\x02\x11\x43osmos\\Tx\\V1beta1\xe2\x02\x1d\x43osmos\\Tx\\V1beta1\\GPBMetadata\xea\x02\x13\x43osmos::Tx::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63osmos/tx/v1beta1/service.proto\x12\x11\x63osmos.tx.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a#cosmos/base/abci/v1beta1/abci.proto\x1a\x1a\x63osmos/tx/v1beta1/tx.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x1d\x63ometbft/types/v1/block.proto\x1a\x1d\x63ometbft/types/v1/types.proto\"\xf3\x01\n\x12GetTxsEventRequest\x12\x1a\n\x06\x65vents\x18\x01 \x03(\tB\x02\x18\x01R\x06\x65vents\x12J\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestB\x02\x18\x01R\npagination\x12\x35\n\x08order_by\x18\x03 \x01(\x0e\x32\x1a.cosmos.tx.v1beta1.OrderByR\x07orderBy\x12\x12\n\x04page\x18\x04 \x01(\x04R\x04page\x12\x14\n\x05limit\x18\x05 \x01(\x04R\x05limit\x12\x14\n\x05query\x18\x06 \x01(\tR\x05query\"\xea\x01\n\x13GetTxsEventResponse\x12\'\n\x03txs\x18\x01 \x03(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x03txs\x12G\n\x0ctx_responses\x18\x02 \x03(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\x0btxResponses\x12K\n\npagination\x18\x03 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseB\x02\x18\x01R\npagination\x12\x14\n\x05total\x18\x04 \x01(\x04R\x05total\"e\n\x12\x42roadcastTxRequest\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\x12\x34\n\x04mode\x18\x02 \x01(\x0e\x32 .cosmos.tx.v1beta1.BroadcastModeR\x04mode\"\\\n\x13\x42roadcastTxResponse\x12\x45\n\x0btx_response\x18\x01 \x01(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\ntxResponse\"W\n\x0fSimulateRequest\x12)\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxB\x02\x18\x01R\x02tx\x12\x19\n\x08tx_bytes\x18\x02 \x01(\x0cR\x07txBytes\"\x8a\x01\n\x10SimulateResponse\x12<\n\x08gas_info\x18\x01 \x01(\x0b\x32!.cosmos.base.abci.v1beta1.GasInfoR\x07gasInfo\x12\x38\n\x06result\x18\x02 \x01(\x0b\x32 .cosmos.base.abci.v1beta1.ResultR\x06result\"\"\n\x0cGetTxRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\"}\n\rGetTxResponse\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\x12\x45\n\x0btx_response\x18\x02 \x01(\x0b\x32$.cosmos.base.abci.v1beta1.TxResponseR\ntxResponse\"x\n\x16GetBlockWithTxsRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xf2\x01\n\x17GetBlockWithTxsResponse\x12\'\n\x03txs\x18\x01 \x03(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x03txs\x12\x35\n\x08\x62lock_id\x18\x02 \x01(\x0b\x32\x1a.cometbft.types.v1.BlockIDR\x07\x62lockId\x12.\n\x05\x62lock\x18\x03 \x01(\x0b\x32\x18.cometbft.types.v1.BlockR\x05\x62lock\x12G\n\npagination\x18\x04 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\",\n\x0fTxDecodeRequest\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\"9\n\x10TxDecodeResponse\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\"8\n\x0fTxEncodeRequest\x12%\n\x02tx\x18\x01 \x01(\x0b\x32\x15.cosmos.tx.v1beta1.TxR\x02tx\"-\n\x10TxEncodeResponse\x12\x19\n\x08tx_bytes\x18\x01 \x01(\x0cR\x07txBytes\"5\n\x14TxEncodeAminoRequest\x12\x1d\n\namino_json\x18\x01 \x01(\tR\taminoJson\":\n\x15TxEncodeAminoResponse\x12!\n\x0c\x61mino_binary\x18\x01 \x01(\x0cR\x0b\x61minoBinary\"9\n\x14TxDecodeAminoRequest\x12!\n\x0c\x61mino_binary\x18\x01 \x01(\x0cR\x0b\x61minoBinary\"6\n\x15TxDecodeAminoResponse\x12\x1d\n\namino_json\x18\x01 \x01(\tR\taminoJson*H\n\x07OrderBy\x12\x18\n\x14ORDER_BY_UNSPECIFIED\x10\x00\x12\x10\n\x0cORDER_BY_ASC\x10\x01\x12\x11\n\rORDER_BY_DESC\x10\x02*\x80\x01\n\rBroadcastMode\x12\x1e\n\x1a\x42ROADCAST_MODE_UNSPECIFIED\x10\x00\x12\x1c\n\x14\x42ROADCAST_MODE_BLOCK\x10\x01\x1a\x02\x08\x01\x12\x17\n\x13\x42ROADCAST_MODE_SYNC\x10\x02\x12\x18\n\x14\x42ROADCAST_MODE_ASYNC\x10\x03\x32\xaa\t\n\x07Service\x12{\n\x08Simulate\x12\".cosmos.tx.v1beta1.SimulateRequest\x1a#.cosmos.tx.v1beta1.SimulateResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/cosmos/tx/v1beta1/simulate:\x01*\x12q\n\x05GetTx\x12\x1f.cosmos.tx.v1beta1.GetTxRequest\x1a .cosmos.tx.v1beta1.GetTxResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/cosmos/tx/v1beta1/txs/{hash}\x12\x7f\n\x0b\x42roadcastTx\x12%.cosmos.tx.v1beta1.BroadcastTxRequest\x1a&.cosmos.tx.v1beta1.BroadcastTxResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/cosmos/tx/v1beta1/txs:\x01*\x12|\n\x0bGetTxsEvent\x12%.cosmos.tx.v1beta1.GetTxsEventRequest\x1a&.cosmos.tx.v1beta1.GetTxsEventResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/cosmos/tx/v1beta1/txs\x12\x97\x01\n\x0fGetBlockWithTxs\x12).cosmos.tx.v1beta1.GetBlockWithTxsRequest\x1a*.cosmos.tx.v1beta1.GetBlockWithTxsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/cosmos/tx/v1beta1/txs/block/{height}\x12y\n\x08TxDecode\x12\".cosmos.tx.v1beta1.TxDecodeRequest\x1a#.cosmos.tx.v1beta1.TxDecodeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/cosmos/tx/v1beta1/decode:\x01*\x12y\n\x08TxEncode\x12\".cosmos.tx.v1beta1.TxEncodeRequest\x1a#.cosmos.tx.v1beta1.TxEncodeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/cosmos/tx/v1beta1/encode:\x01*\x12\x8e\x01\n\rTxEncodeAmino\x12\'.cosmos.tx.v1beta1.TxEncodeAminoRequest\x1a(.cosmos.tx.v1beta1.TxEncodeAminoResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/cosmos/tx/v1beta1/encode/amino:\x01*\x12\x8e\x01\n\rTxDecodeAmino\x12\'.cosmos.tx.v1beta1.TxDecodeAminoRequest\x1a(.cosmos.tx.v1beta1.TxDecodeAminoResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/cosmos/tx/v1beta1/decode/amino:\x01*B\xb2\x01\n\x15\x63om.cosmos.tx.v1beta1B\x0cServiceProtoP\x01Z%github.com/cosmos/cosmos-sdk/types/tx\xa2\x02\x03\x43TX\xaa\x02\x11\x43osmos.Tx.V1beta1\xca\x02\x11\x43osmos\\Tx\\V1beta1\xe2\x02\x1d\x43osmos\\Tx\\V1beta1\\GPBMetadata\xea\x02\x13\x43osmos::Tx::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -56,46 +56,46 @@ _globals['_SERVICE'].methods_by_name['TxEncodeAmino']._serialized_options = b'\202\323\344\223\002$\"\037/cosmos/tx/v1beta1/encode/amino:\001*' _globals['_SERVICE'].methods_by_name['TxDecodeAmino']._loaded_options = None _globals['_SERVICE'].methods_by_name['TxDecodeAmino']._serialized_options = b'\202\323\344\223\002$\"\037/cosmos/tx/v1beta1/decode/amino:\001*' - _globals['_ORDERBY']._serialized_start=2131 - _globals['_ORDERBY']._serialized_end=2203 - _globals['_BROADCASTMODE']._serialized_start=2206 - _globals['_BROADCASTMODE']._serialized_end=2334 - _globals['_GETTXSEVENTREQUEST']._serialized_start=254 - _globals['_GETTXSEVENTREQUEST']._serialized_end=497 - _globals['_GETTXSEVENTRESPONSE']._serialized_start=500 - _globals['_GETTXSEVENTRESPONSE']._serialized_end=734 - _globals['_BROADCASTTXREQUEST']._serialized_start=736 - _globals['_BROADCASTTXREQUEST']._serialized_end=837 - _globals['_BROADCASTTXRESPONSE']._serialized_start=839 - _globals['_BROADCASTTXRESPONSE']._serialized_end=931 - _globals['_SIMULATEREQUEST']._serialized_start=933 - _globals['_SIMULATEREQUEST']._serialized_end=1020 - _globals['_SIMULATERESPONSE']._serialized_start=1023 - _globals['_SIMULATERESPONSE']._serialized_end=1161 - _globals['_GETTXREQUEST']._serialized_start=1163 - _globals['_GETTXREQUEST']._serialized_end=1197 - _globals['_GETTXRESPONSE']._serialized_start=1199 - _globals['_GETTXRESPONSE']._serialized_end=1324 - _globals['_GETBLOCKWITHTXSREQUEST']._serialized_start=1326 - _globals['_GETBLOCKWITHTXSREQUEST']._serialized_end=1446 - _globals['_GETBLOCKWITHTXSRESPONSE']._serialized_start=1449 - _globals['_GETBLOCKWITHTXSRESPONSE']._serialized_end=1689 - _globals['_TXDECODEREQUEST']._serialized_start=1691 - _globals['_TXDECODEREQUEST']._serialized_end=1735 - _globals['_TXDECODERESPONSE']._serialized_start=1737 - _globals['_TXDECODERESPONSE']._serialized_end=1794 - _globals['_TXENCODEREQUEST']._serialized_start=1796 - _globals['_TXENCODEREQUEST']._serialized_end=1852 - _globals['_TXENCODERESPONSE']._serialized_start=1854 - _globals['_TXENCODERESPONSE']._serialized_end=1899 - _globals['_TXENCODEAMINOREQUEST']._serialized_start=1901 - _globals['_TXENCODEAMINOREQUEST']._serialized_end=1954 - _globals['_TXENCODEAMINORESPONSE']._serialized_start=1956 - _globals['_TXENCODEAMINORESPONSE']._serialized_end=2014 - _globals['_TXDECODEAMINOREQUEST']._serialized_start=2016 - _globals['_TXDECODEAMINOREQUEST']._serialized_end=2073 - _globals['_TXDECODEAMINORESPONSE']._serialized_start=2075 - _globals['_TXDECODEAMINORESPONSE']._serialized_end=2129 - _globals['_SERVICE']._serialized_start=2337 - _globals['_SERVICE']._serialized_end=3531 + _globals['_ORDERBY']._serialized_start=2135 + _globals['_ORDERBY']._serialized_end=2207 + _globals['_BROADCASTMODE']._serialized_start=2210 + _globals['_BROADCASTMODE']._serialized_end=2338 + _globals['_GETTXSEVENTREQUEST']._serialized_start=256 + _globals['_GETTXSEVENTREQUEST']._serialized_end=499 + _globals['_GETTXSEVENTRESPONSE']._serialized_start=502 + _globals['_GETTXSEVENTRESPONSE']._serialized_end=736 + _globals['_BROADCASTTXREQUEST']._serialized_start=738 + _globals['_BROADCASTTXREQUEST']._serialized_end=839 + _globals['_BROADCASTTXRESPONSE']._serialized_start=841 + _globals['_BROADCASTTXRESPONSE']._serialized_end=933 + _globals['_SIMULATEREQUEST']._serialized_start=935 + _globals['_SIMULATEREQUEST']._serialized_end=1022 + _globals['_SIMULATERESPONSE']._serialized_start=1025 + _globals['_SIMULATERESPONSE']._serialized_end=1163 + _globals['_GETTXREQUEST']._serialized_start=1165 + _globals['_GETTXREQUEST']._serialized_end=1199 + _globals['_GETTXRESPONSE']._serialized_start=1201 + _globals['_GETTXRESPONSE']._serialized_end=1326 + _globals['_GETBLOCKWITHTXSREQUEST']._serialized_start=1328 + _globals['_GETBLOCKWITHTXSREQUEST']._serialized_end=1448 + _globals['_GETBLOCKWITHTXSRESPONSE']._serialized_start=1451 + _globals['_GETBLOCKWITHTXSRESPONSE']._serialized_end=1693 + _globals['_TXDECODEREQUEST']._serialized_start=1695 + _globals['_TXDECODEREQUEST']._serialized_end=1739 + _globals['_TXDECODERESPONSE']._serialized_start=1741 + _globals['_TXDECODERESPONSE']._serialized_end=1798 + _globals['_TXENCODEREQUEST']._serialized_start=1800 + _globals['_TXENCODEREQUEST']._serialized_end=1856 + _globals['_TXENCODERESPONSE']._serialized_start=1858 + _globals['_TXENCODERESPONSE']._serialized_end=1903 + _globals['_TXENCODEAMINOREQUEST']._serialized_start=1905 + _globals['_TXENCODEAMINOREQUEST']._serialized_end=1958 + _globals['_TXENCODEAMINORESPONSE']._serialized_start=1960 + _globals['_TXENCODEAMINORESPONSE']._serialized_end=2018 + _globals['_TXDECODEAMINOREQUEST']._serialized_start=2020 + _globals['_TXDECODEAMINOREQUEST']._serialized_end=2077 + _globals['_TXDECODEAMINORESPONSE']._serialized_start=2079 + _globals['_TXDECODEAMINORESPONSE']._serialized_end=2133 + _globals['_SERVICE']._serialized_start=2341 + _globals['_SERVICE']._serialized_end=3535 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmwasm/wasm/v1/ibc_pb2.py b/pyinjective/proto/cosmwasm/wasm/v1/ibc_pb2.py index a0548a24..3a33a9c2 100644 --- a/pyinjective/proto/cosmwasm/wasm/v1/ibc_pb2.py +++ b/pyinjective/proto/cosmwasm/wasm/v1/ibc_pb2.py @@ -15,7 +15,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63osmwasm/wasm/v1/ibc.proto\x12\x10\x63osmwasm.wasm.v1\x1a\x14gogoproto/gogo.proto\"\xe2\x01\n\nMsgIBCSend\x12\x33\n\x07\x63hannel\x18\x02 \x01(\tB\x19\xf2\xde\x1f\x15yaml:\"source_channel\"R\x07\x63hannel\x12@\n\x0etimeout_height\x18\x04 \x01(\x04\x42\x19\xf2\xde\x1f\x15yaml:\"timeout_height\"R\rtimeoutHeight\x12I\n\x11timeout_timestamp\x18\x05 \x01(\x04\x42\x1c\xf2\xde\x1f\x18yaml:\"timeout_timestamp\"R\x10timeoutTimestamp\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\"0\n\x12MsgIBCSendResponse\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\"I\n\x12MsgIBCCloseChannel\x12\x33\n\x07\x63hannel\x18\x02 \x01(\tB\x19\xf2\xde\x1f\x15yaml:\"source_channel\"R\x07\x63hannelB\xae\x01\n\x14\x63om.cosmwasm.wasm.v1B\x08IbcProtoP\x01Z&github.com/CosmWasm/wasmd/x/wasm/types\xa2\x02\x03\x43WX\xaa\x02\x10\x43osmwasm.Wasm.V1\xca\x02\x10\x43osmwasm\\Wasm\\V1\xe2\x02\x1c\x43osmwasm\\Wasm\\V1\\GPBMetadata\xea\x02\x12\x43osmwasm::Wasm::V1\xc8\xe1\x1e\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x63osmwasm/wasm/v1/ibc.proto\x12\x10\x63osmwasm.wasm.v1\x1a\x14gogoproto/gogo.proto\"\xe2\x01\n\nMsgIBCSend\x12\x33\n\x07\x63hannel\x18\x02 \x01(\tB\x19\xf2\xde\x1f\x15yaml:\"source_channel\"R\x07\x63hannel\x12@\n\x0etimeout_height\x18\x04 \x01(\x04\x42\x19\xf2\xde\x1f\x15yaml:\"timeout_height\"R\rtimeoutHeight\x12I\n\x11timeout_timestamp\x18\x05 \x01(\x04\x42\x1c\xf2\xde\x1f\x18yaml:\"timeout_timestamp\"R\x10timeoutTimestamp\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\"0\n\x12MsgIBCSendResponse\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\"$\n\"MsgIBCWriteAcknowledgementResponse\"I\n\x12MsgIBCCloseChannel\x12\x33\n\x07\x63hannel\x18\x02 \x01(\tB\x19\xf2\xde\x1f\x15yaml:\"source_channel\"R\x07\x63hannelB\xae\x01\n\x14\x63om.cosmwasm.wasm.v1B\x08IbcProtoP\x01Z&github.com/CosmWasm/wasmd/x/wasm/types\xa2\x02\x03\x43WX\xaa\x02\x10\x43osmwasm.Wasm.V1\xca\x02\x10\x43osmwasm\\Wasm\\V1\xe2\x02\x1c\x43osmwasm\\Wasm\\V1\\GPBMetadata\xea\x02\x12\x43osmwasm::Wasm::V1\xc8\xe1\x1e\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,6 +35,8 @@ _globals['_MSGIBCSEND']._serialized_end=297 _globals['_MSGIBCSENDRESPONSE']._serialized_start=299 _globals['_MSGIBCSENDRESPONSE']._serialized_end=347 - _globals['_MSGIBCCLOSECHANNEL']._serialized_start=349 - _globals['_MSGIBCCLOSECHANNEL']._serialized_end=422 + _globals['_MSGIBCWRITEACKNOWLEDGEMENTRESPONSE']._serialized_start=349 + _globals['_MSGIBCWRITEACKNOWLEDGEMENTRESPONSE']._serialized_end=385 + _globals['_MSGIBCCLOSECHANNEL']._serialized_start=387 + _globals['_MSGIBCCLOSECHANNEL']._serialized_end=460 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/cosmwasm/wasm/v1/query_pb2.py b/pyinjective/proto/cosmwasm/wasm/v1/query_pb2.py index 6defc46e..953be8d8 100644 --- a/pyinjective/proto/cosmwasm/wasm/v1/query_pb2.py +++ b/pyinjective/proto/cosmwasm/wasm/v1/query_pb2.py @@ -16,11 +16,12 @@ from pyinjective.proto.cosmwasm.wasm.v1 import types_pb2 as cosmwasm_dot_wasm_dot_v1_dot_types__pb2 from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 +from pyinjective.proto.cosmos.query.v1 import query_pb2 as cosmos_dot_query_dot_v1_dot_query__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmwasm/wasm/v1/query.proto\x12\x10\x63osmwasm.wasm.v1\x1a\x14gogoproto/gogo.proto\x1a\x1c\x63osmwasm/wasm/v1/types.proto\x1a\x1cgoogle/api/annotations.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x11\x61mino/amino.proto\x1a\x19\x63osmos_proto/cosmos.proto\"N\n\x18QueryContractInfoRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"\xad\x01\n\x19QueryContractInfoResponse\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12V\n\rcontract_info\x18\x02 \x01(\x0b\x32\x1e.cosmwasm.wasm.v1.ContractInfoB\x11\xc8\xde\x1f\x00\xd0\xde\x1f\x01\xea\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0c\x63ontractInfo:\x04\xe8\xa0\x1f\x01\"\x99\x01\n\x1bQueryContractHistoryRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb8\x01\n\x1cQueryContractHistoryResponse\x12O\n\x07\x65ntries\x18\x01 \x03(\x0b\x32*.cosmwasm.wasm.v1.ContractCodeHistoryEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"~\n\x1bQueryContractsByCodeRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\x9f\x01\n\x1cQueryContractsByCodeResponse\x12\x36\n\tcontracts\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tcontracts\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x9a\x01\n\x1cQueryAllContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xa4\x01\n\x1dQueryAllContractStateResponse\x12:\n\x06models\x18\x01 \x03(\x0b\x32\x17.cosmwasm.wasm.v1.ModelB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06models\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"q\n\x1cQueryRawContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x1d\n\nquery_data\x18\x02 \x01(\x0cR\tqueryData\"3\n\x1dQueryRawContractStateResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\x9b\x01\n\x1eQuerySmartContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x45\n\nquery_data\x18\x02 \x01(\x0c\x42&\xfa\xde\x1f\x12RawContractMessage\x9a\xe7\xb0*\x0binline_jsonR\tqueryData\"]\n\x1fQuerySmartContractStateResponse\x12:\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42&\xfa\xde\x1f\x12RawContractMessage\x9a\xe7\xb0*\x0binline_jsonR\x04\x64\x61ta\"+\n\x10QueryCodeRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\"\xb8\x02\n\x10\x43odeInfoResponse\x12)\n\x07\x63ode_id\x18\x01 \x01(\x04\x42\x10\xe2\xde\x1f\x06\x43odeID\xea\xde\x1f\x02idR\x06\x63odeId\x12\x32\n\x07\x63reator\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x63reator\x12Q\n\tdata_hash\x18\x03 \x01(\x0c\x42\x34\xfa\xde\x1f\x30github.com/cometbft/cometbft/libs/bytes.HexBytesR\x08\x64\x61taHash\x12`\n\x16instantiate_permission\x18\x06 \x01(\x0b\x32\x1e.cosmwasm.wasm.v1.AccessConfigB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x15instantiatePermission:\x04\xe8\xa0\x1f\x01J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"\x82\x01\n\x11QueryCodeResponse\x12I\n\tcode_info\x18\x01 \x01(\x0b\x32\".cosmwasm.wasm.v1.CodeInfoResponseB\x08\xd0\xde\x1f\x01\xea\xde\x1f\x00R\x08\x63odeInfo\x12\x1c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x64\x61ta:\x04\xe8\xa0\x1f\x01\"[\n\x11QueryCodesRequest\x12\x46\n\npagination\x18\x01 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xab\x01\n\x12QueryCodesResponse\x12L\n\ncode_infos\x18\x01 \x03(\x0b\x32\".cosmwasm.wasm.v1.CodeInfoResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tcodeInfos\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"a\n\x17QueryPinnedCodesRequest\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\x8b\x01\n\x18QueryPinnedCodesResponse\x12&\n\x08\x63ode_ids\x18\x01 \x03(\x04\x42\x0b\xe2\xde\x1f\x07\x43odeIDsR\x07\x63odeIds\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x14\n\x12QueryParamsRequest\"R\n\x13QueryParamsResponse\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x18.cosmwasm.wasm.v1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params\"\xab\x01\n\x1eQueryContractsByCreatorRequest\x12\x41\n\x0f\x63reator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0e\x63reatorAddress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb3\x01\n\x1fQueryContractsByCreatorResponse\x12G\n\x12\x63ontract_addresses\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x11\x63ontractAddresses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xab\x01\n\x18QueryBuildAddressRequest\x12\x1b\n\tcode_hash\x18\x01 \x01(\tR\x08\x63odeHash\x12\x41\n\x0f\x63reator_address\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0e\x63reatorAddress\x12\x12\n\x04salt\x18\x03 \x01(\tR\x04salt\x12\x1b\n\tinit_args\x18\x04 \x01(\x0cR\x08initArgs\"O\n\x19QueryBuildAddressResponse\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress2\xdf\x0e\n\x05Query\x12\x95\x01\n\x0c\x43ontractInfo\x12*.cosmwasm.wasm.v1.QueryContractInfoRequest\x1a+.cosmwasm.wasm.v1.QueryContractInfoResponse\",\x82\xd3\xe4\x93\x02&\x12$/cosmwasm/wasm/v1/contract/{address}\x12\xa6\x01\n\x0f\x43ontractHistory\x12-.cosmwasm.wasm.v1.QueryContractHistoryRequest\x1a..cosmwasm.wasm.v1.QueryContractHistoryResponse\"4\x82\xd3\xe4\x93\x02.\x12,/cosmwasm/wasm/v1/contract/{address}/history\x12\xa4\x01\n\x0f\x43ontractsByCode\x12-.cosmwasm.wasm.v1.QueryContractsByCodeRequest\x1a..cosmwasm.wasm.v1.QueryContractsByCodeResponse\"2\x82\xd3\xe4\x93\x02,\x12*/cosmwasm/wasm/v1/code/{code_id}/contracts\x12\xa7\x01\n\x10\x41llContractState\x12..cosmwasm.wasm.v1.QueryAllContractStateRequest\x1a/.cosmwasm.wasm.v1.QueryAllContractStateResponse\"2\x82\xd3\xe4\x93\x02,\x12*/cosmwasm/wasm/v1/contract/{address}/state\x12\xb2\x01\n\x10RawContractState\x12..cosmwasm.wasm.v1.QueryRawContractStateRequest\x1a/.cosmwasm.wasm.v1.QueryRawContractStateResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/cosmwasm/wasm/v1/contract/{address}/raw/{query_data}\x12\xba\x01\n\x12SmartContractState\x12\x30.cosmwasm.wasm.v1.QuerySmartContractStateRequest\x1a\x31.cosmwasm.wasm.v1.QuerySmartContractStateResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/cosmwasm/wasm/v1/contract/{address}/smart/{query_data}\x12y\n\x04\x43ode\x12\".cosmwasm.wasm.v1.QueryCodeRequest\x1a#.cosmwasm.wasm.v1.QueryCodeResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /cosmwasm/wasm/v1/code/{code_id}\x12r\n\x05\x43odes\x12#.cosmwasm.wasm.v1.QueryCodesRequest\x1a$.cosmwasm.wasm.v1.QueryCodesResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/cosmwasm/wasm/v1/code\x12\x8c\x01\n\x0bPinnedCodes\x12).cosmwasm.wasm.v1.QueryPinnedCodesRequest\x1a*.cosmwasm.wasm.v1.QueryPinnedCodesResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/cosmwasm/wasm/v1/codes/pinned\x12}\n\x06Params\x12$.cosmwasm.wasm.v1.QueryParamsRequest\x1a%.cosmwasm.wasm.v1.QueryParamsResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/cosmwasm/wasm/v1/codes/params\x12\xb8\x01\n\x12\x43ontractsByCreator\x12\x30.cosmwasm.wasm.v1.QueryContractsByCreatorRequest\x1a\x31.cosmwasm.wasm.v1.QueryContractsByCreatorResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/cosmwasm/wasm/v1/contracts/creator/{creator_address}\x12\x99\x01\n\x0c\x42uildAddress\x12*.cosmwasm.wasm.v1.QueryBuildAddressRequest\x1a+.cosmwasm.wasm.v1.QueryBuildAddressResponse\"0\x82\xd3\xe4\x93\x02*\x12(/cosmwasm/wasm/v1/contract/build_addressB\xb4\x01\n\x14\x63om.cosmwasm.wasm.v1B\nQueryProtoP\x01Z&github.com/CosmWasm/wasmd/x/wasm/types\xa2\x02\x03\x43WX\xaa\x02\x10\x43osmwasm.Wasm.V1\xca\x02\x10\x43osmwasm\\Wasm\\V1\xe2\x02\x1c\x43osmwasm\\Wasm\\V1\\GPBMetadata\xea\x02\x12\x43osmwasm::Wasm::V1\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63osmwasm/wasm/v1/query.proto\x12\x10\x63osmwasm.wasm.v1\x1a\x14gogoproto/gogo.proto\x1a\x1c\x63osmwasm/wasm/v1/types.proto\x1a\x1cgoogle/api/annotations.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x1b\x63osmos/query/v1/query.proto\x1a\x11\x61mino/amino.proto\x1a\x19\x63osmos_proto/cosmos.proto\"N\n\x18QueryContractInfoRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\"\xad\x01\n\x19QueryContractInfoResponse\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12V\n\rcontract_info\x18\x02 \x01(\x0b\x32\x1e.cosmwasm.wasm.v1.ContractInfoB\x11\xc8\xde\x1f\x00\xd0\xde\x1f\x01\xea\xde\x1f\x00\xa8\xe7\xb0*\x01R\x0c\x63ontractInfo:\x04\xe8\xa0\x1f\x01\"\x99\x01\n\x1bQueryContractHistoryRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb8\x01\n\x1cQueryContractHistoryResponse\x12O\n\x07\x65ntries\x18\x01 \x03(\x0b\x32*.cosmwasm.wasm.v1.ContractCodeHistoryEntryB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x07\x65ntries\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"~\n\x1bQueryContractsByCodeRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\x9f\x01\n\x1cQueryContractsByCodeResponse\x12\x36\n\tcontracts\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tcontracts\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x9a\x01\n\x1cQueryAllContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xa4\x01\n\x1dQueryAllContractStateResponse\x12:\n\x06models\x18\x01 \x03(\x0b\x32\x17.cosmwasm.wasm.v1.ModelB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06models\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"q\n\x1cQueryRawContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x1d\n\nquery_data\x18\x02 \x01(\x0cR\tqueryData\"3\n\x1dQueryRawContractStateResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\x9b\x01\n\x1eQuerySmartContractStateRequest\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress\x12\x45\n\nquery_data\x18\x02 \x01(\x0c\x42&\xfa\xde\x1f\x12RawContractMessage\x9a\xe7\xb0*\x0binline_jsonR\tqueryData\"]\n\x1fQuerySmartContractStateResponse\x12:\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x42&\xfa\xde\x1f\x12RawContractMessage\x9a\xe7\xb0*\x0binline_jsonR\x04\x64\x61ta\"+\n\x10QueryCodeRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\"\xb8\x02\n\x10\x43odeInfoResponse\x12)\n\x07\x63ode_id\x18\x01 \x01(\x04\x42\x10\xe2\xde\x1f\x06\x43odeID\xea\xde\x1f\x02idR\x06\x63odeId\x12\x32\n\x07\x63reator\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x63reator\x12Q\n\tdata_hash\x18\x03 \x01(\x0c\x42\x34\xfa\xde\x1f\x30github.com/cometbft/cometbft/libs/bytes.HexBytesR\x08\x64\x61taHash\x12`\n\x16instantiate_permission\x18\x06 \x01(\x0b\x32\x1e.cosmwasm.wasm.v1.AccessConfigB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x15instantiatePermission:\x04\xe8\xa0\x1f\x01J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"\x82\x01\n\x11QueryCodeResponse\x12I\n\tcode_info\x18\x01 \x01(\x0b\x32\".cosmwasm.wasm.v1.CodeInfoResponseB\x08\xd0\xde\x1f\x01\xea\xde\x1f\x00R\x08\x63odeInfo\x12\x1c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x64\x61ta:\x04\xe8\xa0\x1f\x01\"[\n\x11QueryCodesRequest\x12\x46\n\npagination\x18\x01 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xab\x01\n\x12QueryCodesResponse\x12L\n\ncode_infos\x18\x01 \x03(\x0b\x32\".cosmwasm.wasm.v1.CodeInfoResponseB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\tcodeInfos\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"a\n\x17QueryPinnedCodesRequest\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\x8b\x01\n\x18QueryPinnedCodesResponse\x12&\n\x08\x63ode_ids\x18\x01 \x03(\x04\x42\x0b\xe2\xde\x1f\x07\x43odeIDsR\x07\x63odeIds\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x14\n\x12QueryParamsRequest\"R\n\x13QueryParamsResponse\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x18.cosmwasm.wasm.v1.ParamsB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06params\"\xab\x01\n\x1eQueryContractsByCreatorRequest\x12\x41\n\x0f\x63reator_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0e\x63reatorAddress\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xb3\x01\n\x1fQueryContractsByCreatorResponse\x12G\n\x12\x63ontract_addresses\x18\x01 \x03(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x11\x63ontractAddresses\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\xab\x01\n\x18QueryBuildAddressRequest\x12\x1b\n\tcode_hash\x18\x01 \x01(\tR\x08\x63odeHash\x12\x41\n\x0f\x63reator_address\x18\x02 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0e\x63reatorAddress\x12\x12\n\x04salt\x18\x03 \x01(\tR\x04salt\x12\x1b\n\tinit_args\x18\x04 \x01(\x0cR\x08initArgs\"O\n\x19QueryBuildAddressResponse\x12\x32\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x07\x61\x64\x64ress2\x97\x0f\n\x05Query\x12\x9a\x01\n\x0c\x43ontractInfo\x12*.cosmwasm.wasm.v1.QueryContractInfoRequest\x1a+.cosmwasm.wasm.v1.QueryContractInfoResponse\"1\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02&\x12$/cosmwasm/wasm/v1/contract/{address}\x12\xab\x01\n\x0f\x43ontractHistory\x12-.cosmwasm.wasm.v1.QueryContractHistoryRequest\x1a..cosmwasm.wasm.v1.QueryContractHistoryResponse\"9\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02.\x12,/cosmwasm/wasm/v1/contract/{address}/history\x12\xa9\x01\n\x0f\x43ontractsByCode\x12-.cosmwasm.wasm.v1.QueryContractsByCodeRequest\x1a..cosmwasm.wasm.v1.QueryContractsByCodeResponse\"7\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02,\x12*/cosmwasm/wasm/v1/code/{code_id}/contracts\x12\xac\x01\n\x10\x41llContractState\x12..cosmwasm.wasm.v1.QueryAllContractStateRequest\x1a/.cosmwasm.wasm.v1.QueryAllContractStateResponse\"7\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02,\x12*/cosmwasm/wasm/v1/contract/{address}/state\x12\xb7\x01\n\x10RawContractState\x12..cosmwasm.wasm.v1.QueryRawContractStateRequest\x1a/.cosmwasm.wasm.v1.QueryRawContractStateResponse\"B\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x37\x12\x35/cosmwasm/wasm/v1/contract/{address}/raw/{query_data}\x12\xba\x01\n\x12SmartContractState\x12\x30.cosmwasm.wasm.v1.QuerySmartContractStateRequest\x1a\x31.cosmwasm.wasm.v1.QuerySmartContractStateResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/cosmwasm/wasm/v1/contract/{address}/smart/{query_data}\x12~\n\x04\x43ode\x12\".cosmwasm.wasm.v1.QueryCodeRequest\x1a#.cosmwasm.wasm.v1.QueryCodeResponse\"-\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\"\x12 /cosmwasm/wasm/v1/code/{code_id}\x12w\n\x05\x43odes\x12#.cosmwasm.wasm.v1.QueryCodesRequest\x1a$.cosmwasm.wasm.v1.QueryCodesResponse\"#\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x18\x12\x16/cosmwasm/wasm/v1/code\x12\x91\x01\n\x0bPinnedCodes\x12).cosmwasm.wasm.v1.QueryPinnedCodesRequest\x1a*.cosmwasm.wasm.v1.QueryPinnedCodesResponse\"+\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02 \x12\x1e/cosmwasm/wasm/v1/codes/pinned\x12\x82\x01\n\x06Params\x12$.cosmwasm.wasm.v1.QueryParamsRequest\x1a%.cosmwasm.wasm.v1.QueryParamsResponse\"+\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02 \x12\x1e/cosmwasm/wasm/v1/codes/params\x12\xbd\x01\n\x12\x43ontractsByCreator\x12\x30.cosmwasm.wasm.v1.QueryContractsByCreatorRequest\x1a\x31.cosmwasm.wasm.v1.QueryContractsByCreatorResponse\"B\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02\x37\x12\x35/cosmwasm/wasm/v1/contracts/creator/{creator_address}\x12\x9e\x01\n\x0c\x42uildAddress\x12*.cosmwasm.wasm.v1.QueryBuildAddressRequest\x1a+.cosmwasm.wasm.v1.QueryBuildAddressResponse\"5\x88\xe7\xb0*\x01\x82\xd3\xe4\x93\x02*\x12(/cosmwasm/wasm/v1/contract/build_addressB\xb4\x01\n\x14\x63om.cosmwasm.wasm.v1B\nQueryProtoP\x01Z&github.com/CosmWasm/wasmd/x/wasm/types\xa2\x02\x03\x43WX\xaa\x02\x10\x43osmwasm.Wasm.V1\xca\x02\x10\x43osmwasm\\Wasm\\V1\xe2\x02\x1c\x43osmwasm\\Wasm\\V1\\GPBMetadata\xea\x02\x12\x43osmwasm::Wasm::V1\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -85,79 +86,79 @@ _globals['_QUERYBUILDADDRESSRESPONSE'].fields_by_name['address']._loaded_options = None _globals['_QUERYBUILDADDRESSRESPONSE'].fields_by_name['address']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_QUERY'].methods_by_name['ContractInfo']._loaded_options = None - _globals['_QUERY'].methods_by_name['ContractInfo']._serialized_options = b'\202\323\344\223\002&\022$/cosmwasm/wasm/v1/contract/{address}' + _globals['_QUERY'].methods_by_name['ContractInfo']._serialized_options = b'\210\347\260*\001\202\323\344\223\002&\022$/cosmwasm/wasm/v1/contract/{address}' _globals['_QUERY'].methods_by_name['ContractHistory']._loaded_options = None - _globals['_QUERY'].methods_by_name['ContractHistory']._serialized_options = b'\202\323\344\223\002.\022,/cosmwasm/wasm/v1/contract/{address}/history' + _globals['_QUERY'].methods_by_name['ContractHistory']._serialized_options = b'\210\347\260*\001\202\323\344\223\002.\022,/cosmwasm/wasm/v1/contract/{address}/history' _globals['_QUERY'].methods_by_name['ContractsByCode']._loaded_options = None - _globals['_QUERY'].methods_by_name['ContractsByCode']._serialized_options = b'\202\323\344\223\002,\022*/cosmwasm/wasm/v1/code/{code_id}/contracts' + _globals['_QUERY'].methods_by_name['ContractsByCode']._serialized_options = b'\210\347\260*\001\202\323\344\223\002,\022*/cosmwasm/wasm/v1/code/{code_id}/contracts' _globals['_QUERY'].methods_by_name['AllContractState']._loaded_options = None - _globals['_QUERY'].methods_by_name['AllContractState']._serialized_options = b'\202\323\344\223\002,\022*/cosmwasm/wasm/v1/contract/{address}/state' + _globals['_QUERY'].methods_by_name['AllContractState']._serialized_options = b'\210\347\260*\001\202\323\344\223\002,\022*/cosmwasm/wasm/v1/contract/{address}/state' _globals['_QUERY'].methods_by_name['RawContractState']._loaded_options = None - _globals['_QUERY'].methods_by_name['RawContractState']._serialized_options = b'\202\323\344\223\0027\0225/cosmwasm/wasm/v1/contract/{address}/raw/{query_data}' + _globals['_QUERY'].methods_by_name['RawContractState']._serialized_options = b'\210\347\260*\001\202\323\344\223\0027\0225/cosmwasm/wasm/v1/contract/{address}/raw/{query_data}' _globals['_QUERY'].methods_by_name['SmartContractState']._loaded_options = None _globals['_QUERY'].methods_by_name['SmartContractState']._serialized_options = b'\202\323\344\223\0029\0227/cosmwasm/wasm/v1/contract/{address}/smart/{query_data}' _globals['_QUERY'].methods_by_name['Code']._loaded_options = None - _globals['_QUERY'].methods_by_name['Code']._serialized_options = b'\202\323\344\223\002\"\022 /cosmwasm/wasm/v1/code/{code_id}' + _globals['_QUERY'].methods_by_name['Code']._serialized_options = b'\210\347\260*\001\202\323\344\223\002\"\022 /cosmwasm/wasm/v1/code/{code_id}' _globals['_QUERY'].methods_by_name['Codes']._loaded_options = None - _globals['_QUERY'].methods_by_name['Codes']._serialized_options = b'\202\323\344\223\002\030\022\026/cosmwasm/wasm/v1/code' + _globals['_QUERY'].methods_by_name['Codes']._serialized_options = b'\210\347\260*\001\202\323\344\223\002\030\022\026/cosmwasm/wasm/v1/code' _globals['_QUERY'].methods_by_name['PinnedCodes']._loaded_options = None - _globals['_QUERY'].methods_by_name['PinnedCodes']._serialized_options = b'\202\323\344\223\002 \022\036/cosmwasm/wasm/v1/codes/pinned' + _globals['_QUERY'].methods_by_name['PinnedCodes']._serialized_options = b'\210\347\260*\001\202\323\344\223\002 \022\036/cosmwasm/wasm/v1/codes/pinned' _globals['_QUERY'].methods_by_name['Params']._loaded_options = None - _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002 \022\036/cosmwasm/wasm/v1/codes/params' + _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\210\347\260*\001\202\323\344\223\002 \022\036/cosmwasm/wasm/v1/codes/params' _globals['_QUERY'].methods_by_name['ContractsByCreator']._loaded_options = None - _globals['_QUERY'].methods_by_name['ContractsByCreator']._serialized_options = b'\202\323\344\223\0027\0225/cosmwasm/wasm/v1/contracts/creator/{creator_address}' + _globals['_QUERY'].methods_by_name['ContractsByCreator']._serialized_options = b'\210\347\260*\001\202\323\344\223\0027\0225/cosmwasm/wasm/v1/contracts/creator/{creator_address}' _globals['_QUERY'].methods_by_name['BuildAddress']._loaded_options = None - _globals['_QUERY'].methods_by_name['BuildAddress']._serialized_options = b'\202\323\344\223\002*\022(/cosmwasm/wasm/v1/contract/build_address' - _globals['_QUERYCONTRACTINFOREQUEST']._serialized_start=222 - _globals['_QUERYCONTRACTINFOREQUEST']._serialized_end=300 - _globals['_QUERYCONTRACTINFORESPONSE']._serialized_start=303 - _globals['_QUERYCONTRACTINFORESPONSE']._serialized_end=476 - _globals['_QUERYCONTRACTHISTORYREQUEST']._serialized_start=479 - _globals['_QUERYCONTRACTHISTORYREQUEST']._serialized_end=632 - _globals['_QUERYCONTRACTHISTORYRESPONSE']._serialized_start=635 - _globals['_QUERYCONTRACTHISTORYRESPONSE']._serialized_end=819 - _globals['_QUERYCONTRACTSBYCODEREQUEST']._serialized_start=821 - _globals['_QUERYCONTRACTSBYCODEREQUEST']._serialized_end=947 - _globals['_QUERYCONTRACTSBYCODERESPONSE']._serialized_start=950 - _globals['_QUERYCONTRACTSBYCODERESPONSE']._serialized_end=1109 - _globals['_QUERYALLCONTRACTSTATEREQUEST']._serialized_start=1112 - _globals['_QUERYALLCONTRACTSTATEREQUEST']._serialized_end=1266 - _globals['_QUERYALLCONTRACTSTATERESPONSE']._serialized_start=1269 - _globals['_QUERYALLCONTRACTSTATERESPONSE']._serialized_end=1433 - _globals['_QUERYRAWCONTRACTSTATEREQUEST']._serialized_start=1435 - _globals['_QUERYRAWCONTRACTSTATEREQUEST']._serialized_end=1548 - _globals['_QUERYRAWCONTRACTSTATERESPONSE']._serialized_start=1550 - _globals['_QUERYRAWCONTRACTSTATERESPONSE']._serialized_end=1601 - _globals['_QUERYSMARTCONTRACTSTATEREQUEST']._serialized_start=1604 - _globals['_QUERYSMARTCONTRACTSTATEREQUEST']._serialized_end=1759 - _globals['_QUERYSMARTCONTRACTSTATERESPONSE']._serialized_start=1761 - _globals['_QUERYSMARTCONTRACTSTATERESPONSE']._serialized_end=1854 - _globals['_QUERYCODEREQUEST']._serialized_start=1856 - _globals['_QUERYCODEREQUEST']._serialized_end=1899 - _globals['_CODEINFORESPONSE']._serialized_start=1902 - _globals['_CODEINFORESPONSE']._serialized_end=2214 - _globals['_QUERYCODERESPONSE']._serialized_start=2217 - _globals['_QUERYCODERESPONSE']._serialized_end=2347 - _globals['_QUERYCODESREQUEST']._serialized_start=2349 - _globals['_QUERYCODESREQUEST']._serialized_end=2440 - _globals['_QUERYCODESRESPONSE']._serialized_start=2443 - _globals['_QUERYCODESRESPONSE']._serialized_end=2614 - _globals['_QUERYPINNEDCODESREQUEST']._serialized_start=2616 - _globals['_QUERYPINNEDCODESREQUEST']._serialized_end=2713 - _globals['_QUERYPINNEDCODESRESPONSE']._serialized_start=2716 - _globals['_QUERYPINNEDCODESRESPONSE']._serialized_end=2855 - _globals['_QUERYPARAMSREQUEST']._serialized_start=2857 - _globals['_QUERYPARAMSREQUEST']._serialized_end=2877 - _globals['_QUERYPARAMSRESPONSE']._serialized_start=2879 - _globals['_QUERYPARAMSRESPONSE']._serialized_end=2961 - _globals['_QUERYCONTRACTSBYCREATORREQUEST']._serialized_start=2964 - _globals['_QUERYCONTRACTSBYCREATORREQUEST']._serialized_end=3135 - _globals['_QUERYCONTRACTSBYCREATORRESPONSE']._serialized_start=3138 - _globals['_QUERYCONTRACTSBYCREATORRESPONSE']._serialized_end=3317 - _globals['_QUERYBUILDADDRESSREQUEST']._serialized_start=3320 - _globals['_QUERYBUILDADDRESSREQUEST']._serialized_end=3491 - _globals['_QUERYBUILDADDRESSRESPONSE']._serialized_start=3493 - _globals['_QUERYBUILDADDRESSRESPONSE']._serialized_end=3572 - _globals['_QUERY']._serialized_start=3575 - _globals['_QUERY']._serialized_end=5462 + _globals['_QUERY'].methods_by_name['BuildAddress']._serialized_options = b'\210\347\260*\001\202\323\344\223\002*\022(/cosmwasm/wasm/v1/contract/build_address' + _globals['_QUERYCONTRACTINFOREQUEST']._serialized_start=251 + _globals['_QUERYCONTRACTINFOREQUEST']._serialized_end=329 + _globals['_QUERYCONTRACTINFORESPONSE']._serialized_start=332 + _globals['_QUERYCONTRACTINFORESPONSE']._serialized_end=505 + _globals['_QUERYCONTRACTHISTORYREQUEST']._serialized_start=508 + _globals['_QUERYCONTRACTHISTORYREQUEST']._serialized_end=661 + _globals['_QUERYCONTRACTHISTORYRESPONSE']._serialized_start=664 + _globals['_QUERYCONTRACTHISTORYRESPONSE']._serialized_end=848 + _globals['_QUERYCONTRACTSBYCODEREQUEST']._serialized_start=850 + _globals['_QUERYCONTRACTSBYCODEREQUEST']._serialized_end=976 + _globals['_QUERYCONTRACTSBYCODERESPONSE']._serialized_start=979 + _globals['_QUERYCONTRACTSBYCODERESPONSE']._serialized_end=1138 + _globals['_QUERYALLCONTRACTSTATEREQUEST']._serialized_start=1141 + _globals['_QUERYALLCONTRACTSTATEREQUEST']._serialized_end=1295 + _globals['_QUERYALLCONTRACTSTATERESPONSE']._serialized_start=1298 + _globals['_QUERYALLCONTRACTSTATERESPONSE']._serialized_end=1462 + _globals['_QUERYRAWCONTRACTSTATEREQUEST']._serialized_start=1464 + _globals['_QUERYRAWCONTRACTSTATEREQUEST']._serialized_end=1577 + _globals['_QUERYRAWCONTRACTSTATERESPONSE']._serialized_start=1579 + _globals['_QUERYRAWCONTRACTSTATERESPONSE']._serialized_end=1630 + _globals['_QUERYSMARTCONTRACTSTATEREQUEST']._serialized_start=1633 + _globals['_QUERYSMARTCONTRACTSTATEREQUEST']._serialized_end=1788 + _globals['_QUERYSMARTCONTRACTSTATERESPONSE']._serialized_start=1790 + _globals['_QUERYSMARTCONTRACTSTATERESPONSE']._serialized_end=1883 + _globals['_QUERYCODEREQUEST']._serialized_start=1885 + _globals['_QUERYCODEREQUEST']._serialized_end=1928 + _globals['_CODEINFORESPONSE']._serialized_start=1931 + _globals['_CODEINFORESPONSE']._serialized_end=2243 + _globals['_QUERYCODERESPONSE']._serialized_start=2246 + _globals['_QUERYCODERESPONSE']._serialized_end=2376 + _globals['_QUERYCODESREQUEST']._serialized_start=2378 + _globals['_QUERYCODESREQUEST']._serialized_end=2469 + _globals['_QUERYCODESRESPONSE']._serialized_start=2472 + _globals['_QUERYCODESRESPONSE']._serialized_end=2643 + _globals['_QUERYPINNEDCODESREQUEST']._serialized_start=2645 + _globals['_QUERYPINNEDCODESREQUEST']._serialized_end=2742 + _globals['_QUERYPINNEDCODESRESPONSE']._serialized_start=2745 + _globals['_QUERYPINNEDCODESRESPONSE']._serialized_end=2884 + _globals['_QUERYPARAMSREQUEST']._serialized_start=2886 + _globals['_QUERYPARAMSREQUEST']._serialized_end=2906 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=2908 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=2990 + _globals['_QUERYCONTRACTSBYCREATORREQUEST']._serialized_start=2993 + _globals['_QUERYCONTRACTSBYCREATORREQUEST']._serialized_end=3164 + _globals['_QUERYCONTRACTSBYCREATORRESPONSE']._serialized_start=3167 + _globals['_QUERYCONTRACTSBYCREATORRESPONSE']._serialized_end=3346 + _globals['_QUERYBUILDADDRESSREQUEST']._serialized_start=3349 + _globals['_QUERYBUILDADDRESSREQUEST']._serialized_end=3520 + _globals['_QUERYBUILDADDRESSRESPONSE']._serialized_start=3522 + _globals['_QUERYBUILDADDRESSRESPONSE']._serialized_end=3601 + _globals['_QUERY']._serialized_start=3604 + _globals['_QUERY']._serialized_end=5547 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/event_provider_api_pb2.py b/pyinjective/proto/exchange/event_provider_api_pb2.py index 5e0afd0b..e4488790 100644 --- a/pyinjective/proto/exchange/event_provider_api_pb2.py +++ b/pyinjective/proto/exchange/event_provider_api_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!exchange/event_provider_api.proto\x12\x12\x65vent_provider_api\"\x18\n\x16GetLatestHeightRequest\"~\n\x17GetLatestHeightResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x39\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32%.event_provider_api.LatestBlockHeightR\x04\x64\x61ta\"+\n\x11LatestBlockHeight\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"L\n\x18StreamBlockEventsRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\"N\n\x19StreamBlockEventsResponse\x12\x31\n\x06\x62locks\x18\x01 \x03(\x0b\x32\x19.event_provider_api.BlockR\x06\x62locks\"\x8a\x01\n\x05\x42lock\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x36\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x1e.event_provider_api.BlockEventR\x06\x65vents\x12\x17\n\x07in_sync\x18\x04 \x01(\x08R\x06inSync\"V\n\nBlockEvent\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x17\n\x07tx_hash\x18\x03 \x01(\x0cR\x06txHash\"L\n\x18GetBlockEventsRPCRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\"}\n\x19GetBlockEventsRPCResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x36\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\".event_provider_api.BlockEventsRPCR\x04\x64\x61ta\"\xca\x01\n\x0e\x42lockEventsRPC\x12\x14\n\x05types\x18\x01 \x03(\tR\x05types\x12\x16\n\x06\x65vents\x18\x02 \x03(\x0cR\x06\x65vents\x12M\n\ttx_hashes\x18\x03 \x03(\x0b\x32\x30.event_provider_api.BlockEventsRPC.TxHashesEntryR\x08txHashes\x1a;\n\rTxHashesEntry\x12\x10\n\x03key\x18\x01 \x01(\x11R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value:\x02\x38\x01\"e\n\x19GetCustomEventsRPCRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\x12\x16\n\x06\x65vents\x18\x03 \x01(\tR\x06\x65vents\"~\n\x1aGetCustomEventsRPCResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x36\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\".event_provider_api.BlockEventsRPCR\x04\x64\x61ta\"T\n\x19GetABCIBlockEventsRequest\x12\x16\n\x06height\x18\x01 \x01(\x11R\x06height\x12\x1f\n\x0b\x65vent_types\x18\x02 \x03(\tR\neventTypes\"\x81\x01\n\x1aGetABCIBlockEventsResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x39\n\traw_block\x18\x04 \x01(\x0b\x32\x1c.event_provider_api.RawBlockR\x08rawBlock\"\xcc\x02\n\x08RawBlock\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x1d\n\nblock_time\x18\x05 \x01(\tR\tblockTime\x12\'\n\x0f\x62lock_timestamp\x18\x06 \x01(\x12R\x0e\x62lockTimestamp\x12J\n\x0btxs_results\x18\x02 \x03(\x0b\x32).event_provider_api.ABCIResponseDeliverTxR\ntxsResults\x12K\n\x12\x62\x65gin_block_events\x18\x03 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x10\x62\x65ginBlockEvents\x12G\n\x10\x65nd_block_events\x18\x04 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x0e\x65ndBlockEvents\"\xf9\x01\n\x15\x41\x42\x43IResponseDeliverTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\x11R\x04\x63ode\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12\x12\n\x04info\x18\x03 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\x04 \x01(\x12R\tgasWanted\x12\x19\n\x08gas_used\x18\x05 \x01(\x12R\x07gasUsed\x12\x35\n\x06\x65vents\x18\x06 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x06\x65vents\x12\x1c\n\tcodespace\x18\x07 \x01(\tR\tcodespace\x12\x17\n\x07tx_hash\x18\x08 \x01(\x0cR\x06txHash\"b\n\tABCIEvent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x41\n\nattributes\x18\x02 \x03(\x0b\x32!.event_provider_api.ABCIAttributeR\nattributes\"7\n\rABCIAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value2\xce\x04\n\x10\x45ventProviderAPI\x12j\n\x0fGetLatestHeight\x12*.event_provider_api.GetLatestHeightRequest\x1a+.event_provider_api.GetLatestHeightResponse\x12r\n\x11StreamBlockEvents\x12,.event_provider_api.StreamBlockEventsRequest\x1a-.event_provider_api.StreamBlockEventsResponse0\x01\x12p\n\x11GetBlockEventsRPC\x12,.event_provider_api.GetBlockEventsRPCRequest\x1a-.event_provider_api.GetBlockEventsRPCResponse\x12s\n\x12GetCustomEventsRPC\x12-.event_provider_api.GetCustomEventsRPCRequest\x1a..event_provider_api.GetCustomEventsRPCResponse\x12s\n\x12GetABCIBlockEvents\x12-.event_provider_api.GetABCIBlockEventsRequest\x1a..event_provider_api.GetABCIBlockEventsResponseB\xa6\x01\n\x16\x63om.event_provider_apiB\x15\x45ventProviderApiProtoP\x01Z\x15/event_provider_apipb\xa2\x02\x03\x45XX\xaa\x02\x10\x45ventProviderApi\xca\x02\x10\x45ventProviderApi\xe2\x02\x1c\x45ventProviderApi\\GPBMetadata\xea\x02\x10\x45ventProviderApib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!exchange/event_provider_api.proto\x12\x12\x65vent_provider_api\"\x18\n\x16GetLatestHeightRequest\"~\n\x17GetLatestHeightResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x39\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32%.event_provider_api.LatestBlockHeightR\x04\x64\x61ta\"?\n\x11LatestBlockHeight\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x12\n\x04time\x18\x02 \x01(\x12R\x04time\"\x1b\n\x19StreamLatestHeightRequest\"H\n\x1aStreamLatestHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x12\n\x04time\x18\x02 \x01(\x12R\x04time\"d\n\x18StreamBlockEventsRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\x12\x16\n\x06\x65vents\x18\x03 \x01(\tR\x06\x65vents\"N\n\x19StreamBlockEventsResponse\x12\x31\n\x06\x62locks\x18\x01 \x03(\x0b\x32\x19.event_provider_api.BlockR\x06\x62locks\"\x9e\x01\n\x05\x42lock\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x36\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x1e.event_provider_api.BlockEventR\x06\x65vents\x12\x17\n\x07in_sync\x18\x04 \x01(\x08R\x06inSync\x12\x12\n\x04time\x18\x05 \x01(\x12R\x04time\"j\n\nBlockEvent\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x17\n\x07tx_hash\x18\x03 \x01(\x0cR\x06txHash\x12\x12\n\x04mode\x18\x04 \x01(\tR\x04mode\"s\n\x18GetBlockEventsRPCRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\x12%\n\x0ehuman_readable\x18\x03 \x01(\x08R\rhumanReadable\"\xb7\x01\n\x19GetBlockEventsRPCResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x36\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\".event_provider_api.BlockEventsRPCR\x04\x64\x61ta\x12\x38\n\x05\x62lock\x18\x05 \x01(\x0b\x32\".event_provider_api.BasicBlockInfoR\x05\x62lock\"\xca\x01\n\x0e\x42lockEventsRPC\x12\x14\n\x05types\x18\x01 \x03(\tR\x05types\x12\x16\n\x06\x65vents\x18\x02 \x03(\x0cR\x06\x65vents\x12M\n\ttx_hashes\x18\x03 \x03(\x0b\x32\x30.event_provider_api.BlockEventsRPC.TxHashesEntryR\x08txHashes\x1a;\n\rTxHashesEntry\x12\x10\n\x03key\x18\x01 \x01(\x11R\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value:\x02\x38\x01\"Z\n\x0e\x42\x61sicBlockInfo\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12\x12\n\x04time\x18\x03 \x01(\tR\x04time\"e\n\x19GetCustomEventsRPCRequest\x12\x18\n\x07\x62\x61\x63kend\x18\x01 \x01(\tR\x07\x62\x61\x63kend\x12\x16\n\x06height\x18\x02 \x01(\x11R\x06height\x12\x16\n\x06\x65vents\x18\x03 \x01(\tR\x06\x65vents\"\xb8\x01\n\x1aGetCustomEventsRPCResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x36\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\".event_provider_api.BlockEventsRPCR\x04\x64\x61ta\x12\x38\n\x05\x62lock\x18\x05 \x01(\x0b\x32\".event_provider_api.BasicBlockInfoR\x05\x62lock\"T\n\x19GetABCIBlockEventsRequest\x12\x16\n\x06height\x18\x01 \x01(\x11R\x06height\x12\x1f\n\x0b\x65vent_types\x18\x02 \x03(\tR\neventTypes\"\x81\x01\n\x1aGetABCIBlockEventsResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x39\n\traw_block\x18\x04 \x01(\x0b\x32\x1c.event_provider_api.RawBlockR\x08rawBlock\"\xcc\x02\n\x08RawBlock\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x1d\n\nblock_time\x18\x05 \x01(\tR\tblockTime\x12\'\n\x0f\x62lock_timestamp\x18\x06 \x01(\x12R\x0e\x62lockTimestamp\x12J\n\x0btxs_results\x18\x02 \x03(\x0b\x32).event_provider_api.ABCIResponseDeliverTxR\ntxsResults\x12K\n\x12\x62\x65gin_block_events\x18\x03 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x10\x62\x65ginBlockEvents\x12G\n\x10\x65nd_block_events\x18\x04 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x0e\x65ndBlockEvents\"\xf9\x01\n\x15\x41\x42\x43IResponseDeliverTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\x11R\x04\x63ode\x12\x10\n\x03log\x18\x02 \x01(\tR\x03log\x12\x12\n\x04info\x18\x03 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\x04 \x01(\x12R\tgasWanted\x12\x19\n\x08gas_used\x18\x05 \x01(\x12R\x07gasUsed\x12\x35\n\x06\x65vents\x18\x06 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x06\x65vents\x12\x1c\n\tcodespace\x18\x07 \x01(\tR\tcodespace\x12\x17\n\x07tx_hash\x18\x08 \x01(\x0cR\x06txHash\"b\n\tABCIEvent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x41\n\nattributes\x18\x02 \x03(\x0b\x32!.event_provider_api.ABCIAttributeR\nattributes\"7\n\rABCIAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\";\n!GetABCIBlockEventsAtHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x11R\x06height\"\x89\x01\n\"GetABCIBlockEventsAtHeightResponse\x12\x0c\n\x01v\x18\x01 \x01(\tR\x01v\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01\x65\x18\x03 \x01(\tR\x01\x65\x12\x39\n\traw_block\x18\x04 \x01(\x0b\x32\x1c.event_provider_api.RawBlockR\x08rawBlock\"\x8d\x01\n\x17StreamABCIEventsRequest\x12\x16\n\x06height\x18\x01 \x01(\x11R\x06height\x12\x1f\n\x0b\x65vent_types\x18\x02 \x03(\tR\neventTypes\x12\x1d\n\nbatch_size\x18\x03 \x01(\rR\tbatchSize\x12\x1a\n\x08\x66\x65tchers\x18\x04 \x01(\rR\x08\x66\x65tchers\"X\n\x18StreamABCIEventsResponse\x12<\n\x06\x62locks\x18\x01 \x03(\x0b\x32$.event_provider_api.StreamedRawBlockR\x06\x62locks\"\xed\x02\n\x10StreamedRawBlock\x12\x17\n\x07in_sync\x18\x14 \x01(\x08R\x06inSync\x12\x16\n\x06height\x18\x01 \x01(\x12R\x06height\x12\x1d\n\nblock_time\x18\x05 \x01(\tR\tblockTime\x12\'\n\x0f\x62lock_timestamp\x18\x06 \x01(\x12R\x0e\x62lockTimestamp\x12J\n\x0btxs_results\x18\x02 \x03(\x0b\x32).event_provider_api.ABCIResponseDeliverTxR\ntxsResults\x12K\n\x12\x62\x65gin_block_events\x18\x03 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x10\x62\x65ginBlockEvents\x12G\n\x10\x65nd_block_events\x18\x04 \x03(\x0b\x32\x1d.event_provider_api.ABCIEventR\x0e\x65ndBlockEvents2\xc4\x07\n\x10\x45ventProviderAPI\x12j\n\x0fGetLatestHeight\x12*.event_provider_api.GetLatestHeightRequest\x1a+.event_provider_api.GetLatestHeightResponse\x12u\n\x12StreamLatestHeight\x12-.event_provider_api.StreamLatestHeightRequest\x1a..event_provider_api.StreamLatestHeightResponse0\x01\x12r\n\x11StreamBlockEvents\x12,.event_provider_api.StreamBlockEventsRequest\x1a-.event_provider_api.StreamBlockEventsResponse0\x01\x12p\n\x11GetBlockEventsRPC\x12,.event_provider_api.GetBlockEventsRPCRequest\x1a-.event_provider_api.GetBlockEventsRPCResponse\x12s\n\x12GetCustomEventsRPC\x12-.event_provider_api.GetCustomEventsRPCRequest\x1a..event_provider_api.GetCustomEventsRPCResponse\x12s\n\x12GetABCIBlockEvents\x12-.event_provider_api.GetABCIBlockEventsRequest\x1a..event_provider_api.GetABCIBlockEventsResponse\x12\x8b\x01\n\x1aGetABCIBlockEventsAtHeight\x12\x35.event_provider_api.GetABCIBlockEventsAtHeightRequest\x1a\x36.event_provider_api.GetABCIBlockEventsAtHeightResponse\x12o\n\x10StreamABCIEvents\x12+.event_provider_api.StreamABCIEventsRequest\x1a,.event_provider_api.StreamABCIEventsResponse0\x01\x42\xa6\x01\n\x16\x63om.event_provider_apiB\x15\x45ventProviderApiProtoP\x01Z\x15/event_provider_apipb\xa2\x02\x03\x45XX\xaa\x02\x10\x45ventProviderApi\xca\x02\x10\x45ventProviderApi\xe2\x02\x1c\x45ventProviderApi\\GPBMetadata\xea\x02\x10\x45ventProviderApib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,39 +29,55 @@ _globals['_GETLATESTHEIGHTRESPONSE']._serialized_start=83 _globals['_GETLATESTHEIGHTRESPONSE']._serialized_end=209 _globals['_LATESTBLOCKHEIGHT']._serialized_start=211 - _globals['_LATESTBLOCKHEIGHT']._serialized_end=254 - _globals['_STREAMBLOCKEVENTSREQUEST']._serialized_start=256 - _globals['_STREAMBLOCKEVENTSREQUEST']._serialized_end=332 - _globals['_STREAMBLOCKEVENTSRESPONSE']._serialized_start=334 - _globals['_STREAMBLOCKEVENTSRESPONSE']._serialized_end=412 - _globals['_BLOCK']._serialized_start=415 - _globals['_BLOCK']._serialized_end=553 - _globals['_BLOCKEVENT']._serialized_start=555 - _globals['_BLOCKEVENT']._serialized_end=641 - _globals['_GETBLOCKEVENTSRPCREQUEST']._serialized_start=643 - _globals['_GETBLOCKEVENTSRPCREQUEST']._serialized_end=719 - _globals['_GETBLOCKEVENTSRPCRESPONSE']._serialized_start=721 - _globals['_GETBLOCKEVENTSRPCRESPONSE']._serialized_end=846 - _globals['_BLOCKEVENTSRPC']._serialized_start=849 - _globals['_BLOCKEVENTSRPC']._serialized_end=1051 - _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._serialized_start=992 - _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._serialized_end=1051 - _globals['_GETCUSTOMEVENTSRPCREQUEST']._serialized_start=1053 - _globals['_GETCUSTOMEVENTSRPCREQUEST']._serialized_end=1154 - _globals['_GETCUSTOMEVENTSRPCRESPONSE']._serialized_start=1156 - _globals['_GETCUSTOMEVENTSRPCRESPONSE']._serialized_end=1282 - _globals['_GETABCIBLOCKEVENTSREQUEST']._serialized_start=1284 - _globals['_GETABCIBLOCKEVENTSREQUEST']._serialized_end=1368 - _globals['_GETABCIBLOCKEVENTSRESPONSE']._serialized_start=1371 - _globals['_GETABCIBLOCKEVENTSRESPONSE']._serialized_end=1500 - _globals['_RAWBLOCK']._serialized_start=1503 - _globals['_RAWBLOCK']._serialized_end=1835 - _globals['_ABCIRESPONSEDELIVERTX']._serialized_start=1838 - _globals['_ABCIRESPONSEDELIVERTX']._serialized_end=2087 - _globals['_ABCIEVENT']._serialized_start=2089 - _globals['_ABCIEVENT']._serialized_end=2187 - _globals['_ABCIATTRIBUTE']._serialized_start=2189 - _globals['_ABCIATTRIBUTE']._serialized_end=2244 - _globals['_EVENTPROVIDERAPI']._serialized_start=2247 - _globals['_EVENTPROVIDERAPI']._serialized_end=2837 + _globals['_LATESTBLOCKHEIGHT']._serialized_end=274 + _globals['_STREAMLATESTHEIGHTREQUEST']._serialized_start=276 + _globals['_STREAMLATESTHEIGHTREQUEST']._serialized_end=303 + _globals['_STREAMLATESTHEIGHTRESPONSE']._serialized_start=305 + _globals['_STREAMLATESTHEIGHTRESPONSE']._serialized_end=377 + _globals['_STREAMBLOCKEVENTSREQUEST']._serialized_start=379 + _globals['_STREAMBLOCKEVENTSREQUEST']._serialized_end=479 + _globals['_STREAMBLOCKEVENTSRESPONSE']._serialized_start=481 + _globals['_STREAMBLOCKEVENTSRESPONSE']._serialized_end=559 + _globals['_BLOCK']._serialized_start=562 + _globals['_BLOCK']._serialized_end=720 + _globals['_BLOCKEVENT']._serialized_start=722 + _globals['_BLOCKEVENT']._serialized_end=828 + _globals['_GETBLOCKEVENTSRPCREQUEST']._serialized_start=830 + _globals['_GETBLOCKEVENTSRPCREQUEST']._serialized_end=945 + _globals['_GETBLOCKEVENTSRPCRESPONSE']._serialized_start=948 + _globals['_GETBLOCKEVENTSRPCRESPONSE']._serialized_end=1131 + _globals['_BLOCKEVENTSRPC']._serialized_start=1134 + _globals['_BLOCKEVENTSRPC']._serialized_end=1336 + _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._serialized_start=1277 + _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._serialized_end=1336 + _globals['_BASICBLOCKINFO']._serialized_start=1338 + _globals['_BASICBLOCKINFO']._serialized_end=1428 + _globals['_GETCUSTOMEVENTSRPCREQUEST']._serialized_start=1430 + _globals['_GETCUSTOMEVENTSRPCREQUEST']._serialized_end=1531 + _globals['_GETCUSTOMEVENTSRPCRESPONSE']._serialized_start=1534 + _globals['_GETCUSTOMEVENTSRPCRESPONSE']._serialized_end=1718 + _globals['_GETABCIBLOCKEVENTSREQUEST']._serialized_start=1720 + _globals['_GETABCIBLOCKEVENTSREQUEST']._serialized_end=1804 + _globals['_GETABCIBLOCKEVENTSRESPONSE']._serialized_start=1807 + _globals['_GETABCIBLOCKEVENTSRESPONSE']._serialized_end=1936 + _globals['_RAWBLOCK']._serialized_start=1939 + _globals['_RAWBLOCK']._serialized_end=2271 + _globals['_ABCIRESPONSEDELIVERTX']._serialized_start=2274 + _globals['_ABCIRESPONSEDELIVERTX']._serialized_end=2523 + _globals['_ABCIEVENT']._serialized_start=2525 + _globals['_ABCIEVENT']._serialized_end=2623 + _globals['_ABCIATTRIBUTE']._serialized_start=2625 + _globals['_ABCIATTRIBUTE']._serialized_end=2680 + _globals['_GETABCIBLOCKEVENTSATHEIGHTREQUEST']._serialized_start=2682 + _globals['_GETABCIBLOCKEVENTSATHEIGHTREQUEST']._serialized_end=2741 + _globals['_GETABCIBLOCKEVENTSATHEIGHTRESPONSE']._serialized_start=2744 + _globals['_GETABCIBLOCKEVENTSATHEIGHTRESPONSE']._serialized_end=2881 + _globals['_STREAMABCIEVENTSREQUEST']._serialized_start=2884 + _globals['_STREAMABCIEVENTSREQUEST']._serialized_end=3025 + _globals['_STREAMABCIEVENTSRESPONSE']._serialized_start=3027 + _globals['_STREAMABCIEVENTSRESPONSE']._serialized_end=3115 + _globals['_STREAMEDRAWBLOCK']._serialized_start=3118 + _globals['_STREAMEDRAWBLOCK']._serialized_end=3483 + _globals['_EVENTPROVIDERAPI']._serialized_start=3486 + _globals['_EVENTPROVIDERAPI']._serialized_end=4450 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/event_provider_api_pb2_grpc.py b/pyinjective/proto/exchange/event_provider_api_pb2_grpc.py index 7a17ca12..a804b507 100644 --- a/pyinjective/proto/exchange/event_provider_api_pb2_grpc.py +++ b/pyinjective/proto/exchange/event_provider_api_pb2_grpc.py @@ -20,6 +20,11 @@ def __init__(self, channel): request_serializer=exchange_dot_event__provider__api__pb2.GetLatestHeightRequest.SerializeToString, response_deserializer=exchange_dot_event__provider__api__pb2.GetLatestHeightResponse.FromString, _registered_method=True) + self.StreamLatestHeight = channel.unary_stream( + '/event_provider_api.EventProviderAPI/StreamLatestHeight', + request_serializer=exchange_dot_event__provider__api__pb2.StreamLatestHeightRequest.SerializeToString, + response_deserializer=exchange_dot_event__provider__api__pb2.StreamLatestHeightResponse.FromString, + _registered_method=True) self.StreamBlockEvents = channel.unary_stream( '/event_provider_api.EventProviderAPI/StreamBlockEvents', request_serializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsRequest.SerializeToString, @@ -40,6 +45,16 @@ def __init__(self, channel): request_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsRequest.SerializeToString, response_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsResponse.FromString, _registered_method=True) + self.GetABCIBlockEventsAtHeight = channel.unary_unary( + '/event_provider_api.EventProviderAPI/GetABCIBlockEventsAtHeight', + request_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightRequest.SerializeToString, + response_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightResponse.FromString, + _registered_method=True) + self.StreamABCIEvents = channel.unary_stream( + '/event_provider_api.EventProviderAPI/StreamABCIEvents', + request_serializer=exchange_dot_event__provider__api__pb2.StreamABCIEventsRequest.SerializeToString, + response_deserializer=exchange_dot_event__provider__api__pb2.StreamABCIEventsResponse.FromString, + _registered_method=True) class EventProviderAPIServicer(object): @@ -53,6 +68,13 @@ def GetLatestHeight(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def StreamLatestHeight(self, request, context): + """Stream latest block information + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StreamBlockEvents(self, request, context): """Stream processed block events for selected backend """ @@ -81,6 +103,20 @@ def GetABCIBlockEvents(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def GetABCIBlockEventsAtHeight(self, request, context): + """Get all raw block events for selected height + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamABCIEvents(self, request, context): + """Stream raw block events for selected height + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_EventProviderAPIServicer_to_server(servicer, server): rpc_method_handlers = { @@ -89,6 +125,11 @@ def add_EventProviderAPIServicer_to_server(servicer, server): request_deserializer=exchange_dot_event__provider__api__pb2.GetLatestHeightRequest.FromString, response_serializer=exchange_dot_event__provider__api__pb2.GetLatestHeightResponse.SerializeToString, ), + 'StreamLatestHeight': grpc.unary_stream_rpc_method_handler( + servicer.StreamLatestHeight, + request_deserializer=exchange_dot_event__provider__api__pb2.StreamLatestHeightRequest.FromString, + response_serializer=exchange_dot_event__provider__api__pb2.StreamLatestHeightResponse.SerializeToString, + ), 'StreamBlockEvents': grpc.unary_stream_rpc_method_handler( servicer.StreamBlockEvents, request_deserializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsRequest.FromString, @@ -109,6 +150,16 @@ def add_EventProviderAPIServicer_to_server(servicer, server): request_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsRequest.FromString, response_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsResponse.SerializeToString, ), + 'GetABCIBlockEventsAtHeight': grpc.unary_unary_rpc_method_handler( + servicer.GetABCIBlockEventsAtHeight, + request_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightRequest.FromString, + response_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightResponse.SerializeToString, + ), + 'StreamABCIEvents': grpc.unary_stream_rpc_method_handler( + servicer.StreamABCIEvents, + request_deserializer=exchange_dot_event__provider__api__pb2.StreamABCIEventsRequest.FromString, + response_serializer=exchange_dot_event__provider__api__pb2.StreamABCIEventsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'event_provider_api.EventProviderAPI', rpc_method_handlers) @@ -148,6 +199,33 @@ def GetLatestHeight(request, metadata, _registered_method=True) + @staticmethod + def StreamLatestHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/event_provider_api.EventProviderAPI/StreamLatestHeight', + exchange_dot_event__provider__api__pb2.StreamLatestHeightRequest.SerializeToString, + exchange_dot_event__provider__api__pb2.StreamLatestHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamBlockEvents(request, target, @@ -255,3 +333,57 @@ def GetABCIBlockEvents(request, timeout, metadata, _registered_method=True) + + @staticmethod + def GetABCIBlockEventsAtHeight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/event_provider_api.EventProviderAPI/GetABCIBlockEventsAtHeight', + exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightRequest.SerializeToString, + exchange_dot_event__provider__api__pb2.GetABCIBlockEventsAtHeightResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamABCIEvents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/event_provider_api.EventProviderAPI/StreamABCIEvents', + exchange_dot_event__provider__api__pb2.StreamABCIEventsRequest.SerializeToString, + exchange_dot_event__provider__api__pb2.StreamABCIEventsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/health_pb2.py b/pyinjective/proto/exchange/health_pb2.py index 3f98a12d..405bd7d9 100644 --- a/pyinjective/proto/exchange/health_pb2.py +++ b/pyinjective/proto/exchange/health_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x65xchange/health.proto\x12\x06\x61pi.v1\"\x12\n\x10GetStatusRequest\"{\n\x11GetStatusResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12(\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.api.v1.HealthStatusR\x04\x64\x61ta\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\"\xae\x01\n\x0cHealthStatus\x12!\n\x0clocal_height\x18\x01 \x01(\x11R\x0blocalHeight\x12\'\n\x0flocal_timestamp\x18\x02 \x01(\x11R\x0elocalTimestamp\x12%\n\x0ehoracle_height\x18\x03 \x01(\x11R\rhoracleHeight\x12+\n\x11horacle_timestamp\x18\x04 \x01(\x11R\x10horacleTimestamp2J\n\x06Health\x12@\n\tGetStatus\x12\x18.api.v1.GetStatusRequest\x1a\x19.api.v1.GetStatusResponseB]\n\ncom.api.v1B\x0bHealthProtoP\x01Z\t/api.v1pb\xa2\x02\x03\x41XX\xaa\x02\x06\x41pi.V1\xca\x02\x06\x41pi\\V1\xe2\x02\x12\x41pi\\V1\\GPBMetadata\xea\x02\x07\x41pi::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x65xchange/health.proto\x12\x06\x61pi.v1\"\x12\n\x10GetStatusRequest\"{\n\x11GetStatusResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12(\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.api.v1.HealthStatusR\x04\x64\x61ta\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\"\xa4\x02\n\x0cHealthStatus\x12!\n\x0clocal_height\x18\x01 \x01(\x11R\x0blocalHeight\x12\'\n\x0flocal_timestamp\x18\x02 \x01(\x11R\x0elocalTimestamp\x12%\n\x0ehoracle_height\x18\x03 \x01(\x11R\rhoracleHeight\x12+\n\x11horacle_timestamp\x18\x04 \x01(\x11R\x10horacleTimestamp\x12\x34\n\x16migration_last_version\x18\x05 \x01(\x11R\x14migrationLastVersion\x12\x1b\n\tep_height\x18\x06 \x01(\x11R\x08\x65pHeight\x12!\n\x0c\x65p_timestamp\x18\x07 \x01(\x11R\x0b\x65pTimestamp2J\n\x06Health\x12@\n\tGetStatus\x12\x18.api.v1.GetStatusRequest\x1a\x19.api.v1.GetStatusResponseB]\n\ncom.api.v1B\x0bHealthProtoP\x01Z\t/api.v1pb\xa2\x02\x03\x41XX\xaa\x02\x06\x41pi.V1\xca\x02\x06\x41pi\\V1\xe2\x02\x12\x41pi\\V1\\GPBMetadata\xea\x02\x07\x41pi::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,7 +27,7 @@ _globals['_GETSTATUSRESPONSE']._serialized_start=53 _globals['_GETSTATUSRESPONSE']._serialized_end=176 _globals['_HEALTHSTATUS']._serialized_start=179 - _globals['_HEALTHSTATUS']._serialized_end=353 - _globals['_HEALTH']._serialized_start=355 - _globals['_HEALTH']._serialized_end=429 + _globals['_HEALTHSTATUS']._serialized_end=471 + _globals['_HEALTH']._serialized_start=473 + _globals['_HEALTH']._serialized_end=547 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py b/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py index c393e7af..c350fe0d 100644 --- a/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_accounts_rpc.proto\x12\x16injective_accounts_rpc\";\n\x10PortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"[\n\x11PortfolioResponse\x12\x46\n\tportfolio\x18\x01 \x01(\x0b\x32(.injective_accounts_rpc.AccountPortfolioR\tportfolio\"\x85\x02\n\x10\x41\x63\x63ountPortfolio\x12\'\n\x0fportfolio_value\x18\x01 \x01(\tR\x0eportfolioValue\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12%\n\x0elocked_balance\x18\x03 \x01(\tR\rlockedBalance\x12%\n\x0eunrealized_pnl\x18\x04 \x01(\tR\runrealizedPnl\x12M\n\x0bsubaccounts\x18\x05 \x03(\x0b\x32+.injective_accounts_rpc.SubaccountPortfolioR\x0bsubaccounts\"\xb5\x01\n\x13SubaccountPortfolio\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12%\n\x0elocked_balance\x18\x03 \x01(\tR\rlockedBalance\x12%\n\x0eunrealized_pnl\x18\x04 \x01(\tR\runrealizedPnl\"x\n\x12OrderStatesRequest\x12*\n\x11spot_order_hashes\x18\x01 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x02 \x03(\tR\x15\x64\x65rivativeOrderHashes\"\xcd\x01\n\x13OrderStatesResponse\x12T\n\x11spot_order_states\x18\x01 \x03(\x0b\x32(.injective_accounts_rpc.OrderStateRecordR\x0fspotOrderStates\x12`\n\x17\x64\x65rivative_order_states\x18\x02 \x03(\x0b\x32(.injective_accounts_rpc.OrderStateRecordR\x15\x64\x65rivativeOrderStates\"\x8b\x03\n\x10OrderStateRecord\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x1d\n\norder_type\x18\x04 \x01(\tR\torderType\x12\x1d\n\norder_side\x18\x05 \x01(\tR\torderSide\x12\x14\n\x05state\x18\x06 \x01(\tR\x05state\x12\'\n\x0fquantity_filled\x18\x07 \x01(\tR\x0equantityFilled\x12-\n\x12quantity_remaining\x18\x08 \x01(\tR\x11quantityRemaining\x12\x1d\n\ncreated_at\x18\t \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\n \x01(\x12R\tupdatedAt\x12\x14\n\x05price\x18\x0b \x01(\tR\x05price\x12\x16\n\x06margin\x18\x0c \x01(\tR\x06margin\"A\n\x16SubaccountsListRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\";\n\x17SubaccountsListResponse\x12 \n\x0bsubaccounts\x18\x01 \x03(\tR\x0bsubaccounts\"\\\n\x1dSubaccountBalancesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x64\x65noms\x18\x02 \x03(\tR\x06\x64\x65noms\"g\n\x1eSubaccountBalancesListResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x08\x62\x61lances\"\xbc\x01\n\x11SubaccountBalance\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05\x64\x65nom\x18\x03 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x04 \x01(\x0b\x32).injective_accounts_rpc.SubaccountDepositR\x07\x64\x65posit\"e\n\x11SubaccountDeposit\x12#\n\rtotal_balance\x18\x01 \x01(\tR\x0ctotalBalance\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\"]\n SubaccountBalanceEndpointRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"h\n!SubaccountBalanceEndpointResponse\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\"]\n\x1eStreamSubaccountBalanceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x64\x65noms\x18\x02 \x03(\tR\x06\x64\x65noms\"\x84\x01\n\x1fStreamSubaccountBalanceResponse\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xc1\x01\n\x18SubaccountHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12%\n\x0etransfer_types\x18\x03 \x03(\tR\rtransferTypes\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\"\xa4\x01\n\x19SubaccountHistoryResponse\x12O\n\ttransfers\x18\x01 \x03(\x0b\x32\x31.injective_accounts_rpc.SubaccountBalanceTransferR\ttransfers\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_accounts_rpc.PagingR\x06paging\"\xd5\x02\n\x19SubaccountBalanceTransfer\x12#\n\rtransfer_type\x18\x01 \x01(\tR\x0ctransferType\x12*\n\x11src_subaccount_id\x18\x02 \x01(\tR\x0fsrcSubaccountId\x12.\n\x13src_account_address\x18\x03 \x01(\tR\x11srcAccountAddress\x12*\n\x11\x64st_subaccount_id\x18\x04 \x01(\tR\x0f\x64stSubaccountId\x12.\n\x13\x64st_account_address\x18\x05 \x01(\tR\x11\x64stAccountAddress\x12:\n\x06\x61mount\x18\x06 \x01(\x0b\x32\".injective_accounts_rpc.CosmosCoinR\x06\x61mount\x12\x1f\n\x0b\x65xecuted_at\x18\x07 \x01(\x12R\nexecutedAt\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\x8a\x01\n\x1dSubaccountOrderSummaryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0forder_direction\x18\x03 \x01(\tR\x0eorderDirection\"\x84\x01\n\x1eSubaccountOrderSummaryResponse\x12*\n\x11spot_orders_total\x18\x01 \x01(\x12R\x0fspotOrdersTotal\x12\x36\n\x17\x64\x65rivative_orders_total\x18\x02 \x01(\x12R\x15\x64\x65rivativeOrdersTotal\"O\n\x0eRewardsRequest\x12\x14\n\x05\x65poch\x18\x01 \x01(\x12R\x05\x65poch\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"K\n\x0fRewardsResponse\x12\x38\n\x07rewards\x18\x01 \x03(\x0b\x32\x1e.injective_accounts_rpc.RewardR\x07rewards\"\x90\x01\n\x06Reward\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x36\n\x07rewards\x18\x02 \x03(\x0b\x32\x1c.injective_accounts_rpc.CoinR\x07rewards\x12%\n\x0e\x64istributed_at\x18\x03 \x01(\x12R\rdistributedAt\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"C\n\x18StreamAccountDataRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xde\x03\n\x19StreamAccountDataResponse\x12^\n\x12subaccount_balance\x18\x01 \x01(\x0b\x32/.injective_accounts_rpc.SubaccountBalanceResultR\x11subaccountBalance\x12\x43\n\x08position\x18\x02 \x01(\x0b\x32\'.injective_accounts_rpc.PositionsResultR\x08position\x12\x39\n\x05trade\x18\x03 \x01(\x0b\x32#.injective_accounts_rpc.TradeResultR\x05trade\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective_accounts_rpc.OrderResultR\x05order\x12O\n\rorder_history\x18\x05 \x01(\x0b\x32*.injective_accounts_rpc.OrderHistoryResultR\x0corderHistory\x12U\n\x0f\x66unding_payment\x18\x06 \x01(\x0b\x32,.injective_accounts_rpc.FundingPaymentResultR\x0e\x66undingPayment\"|\n\x17SubaccountBalanceResult\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"m\n\x0fPositionsResult\x12<\n\x08position\x18\x01 \x01(\x0b\x32 .injective_accounts_rpc.PositionR\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xe1\x02\n\x08Position\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\n \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\"\xf5\x01\n\x0bTradeResult\x12\x42\n\nspot_trade\x18\x01 \x01(\x0b\x32!.injective_accounts_rpc.SpotTradeH\x00R\tspotTrade\x12T\n\x10\x64\x65rivative_trade\x18\x02 \x01(\x0b\x32\'.injective_accounts_rpc.DerivativeTradeH\x00R\x0f\x64\x65rivativeTrade\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x07\n\x05trade\"\xad\x03\n\tSpotTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12\'\n\x0ftrade_direction\x18\x05 \x01(\tR\x0etradeDirection\x12\x38\n\x05price\x18\x06 \x01(\x0b\x32\".injective_accounts_rpc.PriceLevelR\x05price\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\x08 \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\n \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0b \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xdd\x03\n\x0f\x44\x65rivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12L\n\x0eposition_delta\x18\x06 \x01(\x0b\x32%.injective_accounts_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"\xff\x01\n\x0bOrderResult\x12G\n\nspot_order\x18\x01 \x01(\x0b\x32&.injective_accounts_rpc.SpotLimitOrderH\x00R\tspotOrder\x12Y\n\x10\x64\x65rivative_order\x18\x02 \x01(\x0b\x32,.injective_accounts_rpc.DerivativeLimitOrderH\x00R\x0f\x64\x65rivativeOrder\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x07\n\x05order\"\xb8\x03\n\x0eSpotLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\x07 \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\n \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x17\n\x07tx_hash\x18\r \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xd7\x05\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\"\xb0\x02\n\x12OrderHistoryResult\x12X\n\x12spot_order_history\x18\x01 \x01(\x0b\x32(.injective_accounts_rpc.SpotOrderHistoryH\x00R\x10spotOrderHistory\x12j\n\x18\x64\x65rivative_order_history\x18\x02 \x01(\x0b\x32..injective_accounts_rpc.DerivativeOrderHistoryH\x00R\x16\x64\x65rivativeOrderHistory\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x0f\n\rorder_history\"\xf3\x03\n\x10SpotOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1c\n\tdirection\x18\x0e \x01(\tR\tdirection\x12\x17\n\x07tx_hash\x18\x0f \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xa9\x05\n\x16\x44\x65rivativeOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"\xae\x01\n\x14\x46undingPaymentResult\x12Q\n\x10\x66unding_payments\x18\x01 \x01(\x0b\x32&.injective_accounts_rpc.FundingPaymentR\x0f\x66undingPayments\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\x88\x01\n\x0e\x46undingPayment\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp2\xdc\t\n\x14InjectiveAccountsRPC\x12`\n\tPortfolio\x12(.injective_accounts_rpc.PortfolioRequest\x1a).injective_accounts_rpc.PortfolioResponse\x12\x66\n\x0bOrderStates\x12*.injective_accounts_rpc.OrderStatesRequest\x1a+.injective_accounts_rpc.OrderStatesResponse\x12r\n\x0fSubaccountsList\x12..injective_accounts_rpc.SubaccountsListRequest\x1a/.injective_accounts_rpc.SubaccountsListResponse\x12\x87\x01\n\x16SubaccountBalancesList\x12\x35.injective_accounts_rpc.SubaccountBalancesListRequest\x1a\x36.injective_accounts_rpc.SubaccountBalancesListResponse\x12\x90\x01\n\x19SubaccountBalanceEndpoint\x12\x38.injective_accounts_rpc.SubaccountBalanceEndpointRequest\x1a\x39.injective_accounts_rpc.SubaccountBalanceEndpointResponse\x12\x8c\x01\n\x17StreamSubaccountBalance\x12\x36.injective_accounts_rpc.StreamSubaccountBalanceRequest\x1a\x37.injective_accounts_rpc.StreamSubaccountBalanceResponse0\x01\x12x\n\x11SubaccountHistory\x12\x30.injective_accounts_rpc.SubaccountHistoryRequest\x1a\x31.injective_accounts_rpc.SubaccountHistoryResponse\x12\x87\x01\n\x16SubaccountOrderSummary\x12\x35.injective_accounts_rpc.SubaccountOrderSummaryRequest\x1a\x36.injective_accounts_rpc.SubaccountOrderSummaryResponse\x12Z\n\x07Rewards\x12&.injective_accounts_rpc.RewardsRequest\x1a\'.injective_accounts_rpc.RewardsResponse\x12z\n\x11StreamAccountData\x12\x30.injective_accounts_rpc.StreamAccountDataRequest\x1a\x31.injective_accounts_rpc.StreamAccountDataResponse0\x01\x42\xc2\x01\n\x1a\x63om.injective_accounts_rpcB\x19InjectiveAccountsRpcProtoP\x01Z\x19/injective_accounts_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveAccountsRpc\xca\x02\x14InjectiveAccountsRpc\xe2\x02 InjectiveAccountsRpc\\GPBMetadata\xea\x02\x14InjectiveAccountsRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_accounts_rpc.proto\x12\x16injective_accounts_rpc\";\n\x10PortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"[\n\x11PortfolioResponse\x12\x46\n\tportfolio\x18\x01 \x01(\x0b\x32(.injective_accounts_rpc.AccountPortfolioR\tportfolio\"\x85\x02\n\x10\x41\x63\x63ountPortfolio\x12\'\n\x0fportfolio_value\x18\x01 \x01(\tR\x0eportfolioValue\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12%\n\x0elocked_balance\x18\x03 \x01(\tR\rlockedBalance\x12%\n\x0eunrealized_pnl\x18\x04 \x01(\tR\runrealizedPnl\x12M\n\x0bsubaccounts\x18\x05 \x03(\x0b\x32+.injective_accounts_rpc.SubaccountPortfolioR\x0bsubaccounts\"\xb5\x01\n\x13SubaccountPortfolio\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12%\n\x0elocked_balance\x18\x03 \x01(\tR\rlockedBalance\x12%\n\x0eunrealized_pnl\x18\x04 \x01(\tR\runrealizedPnl\"x\n\x12OrderStatesRequest\x12*\n\x11spot_order_hashes\x18\x01 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x02 \x03(\tR\x15\x64\x65rivativeOrderHashes\"\xcd\x01\n\x13OrderStatesResponse\x12T\n\x11spot_order_states\x18\x01 \x03(\x0b\x32(.injective_accounts_rpc.OrderStateRecordR\x0fspotOrderStates\x12`\n\x17\x64\x65rivative_order_states\x18\x02 \x03(\x0b\x32(.injective_accounts_rpc.OrderStateRecordR\x15\x64\x65rivativeOrderStates\"\x8b\x03\n\x10OrderStateRecord\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x1d\n\norder_type\x18\x04 \x01(\tR\torderType\x12\x1d\n\norder_side\x18\x05 \x01(\tR\torderSide\x12\x14\n\x05state\x18\x06 \x01(\tR\x05state\x12\'\n\x0fquantity_filled\x18\x07 \x01(\tR\x0equantityFilled\x12-\n\x12quantity_remaining\x18\x08 \x01(\tR\x11quantityRemaining\x12\x1d\n\ncreated_at\x18\t \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\n \x01(\x12R\tupdatedAt\x12\x14\n\x05price\x18\x0b \x01(\tR\x05price\x12\x16\n\x06margin\x18\x0c \x01(\tR\x06margin\"A\n\x16SubaccountsListRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\";\n\x17SubaccountsListResponse\x12 \n\x0bsubaccounts\x18\x01 \x03(\tR\x0bsubaccounts\"\\\n\x1dSubaccountBalancesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x64\x65noms\x18\x02 \x03(\tR\x06\x64\x65noms\"g\n\x1eSubaccountBalancesListResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x08\x62\x61lances\"\xbc\x01\n\x11SubaccountBalance\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05\x64\x65nom\x18\x03 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x04 \x01(\x0b\x32).injective_accounts_rpc.SubaccountDepositR\x07\x64\x65posit\"\xc5\x01\n\x11SubaccountDeposit\x12#\n\rtotal_balance\x18\x01 \x01(\tR\x0ctotalBalance\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12*\n\x11total_balance_usd\x18\x03 \x01(\tR\x0ftotalBalanceUsd\x12\x32\n\x15\x61vailable_balance_usd\x18\x04 \x01(\tR\x13\x61vailableBalanceUsd\"]\n SubaccountBalanceEndpointRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"h\n!SubaccountBalanceEndpointResponse\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\"]\n\x1eStreamSubaccountBalanceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x64\x65noms\x18\x02 \x03(\tR\x06\x64\x65noms\"\x84\x01\n\x1fStreamSubaccountBalanceResponse\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xc1\x01\n\x18SubaccountHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12%\n\x0etransfer_types\x18\x03 \x03(\tR\rtransferTypes\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\"\xa4\x01\n\x19SubaccountHistoryResponse\x12O\n\ttransfers\x18\x01 \x03(\x0b\x32\x31.injective_accounts_rpc.SubaccountBalanceTransferR\ttransfers\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_accounts_rpc.PagingR\x06paging\"\xd5\x02\n\x19SubaccountBalanceTransfer\x12#\n\rtransfer_type\x18\x01 \x01(\tR\x0ctransferType\x12*\n\x11src_subaccount_id\x18\x02 \x01(\tR\x0fsrcSubaccountId\x12.\n\x13src_account_address\x18\x03 \x01(\tR\x11srcAccountAddress\x12*\n\x11\x64st_subaccount_id\x18\x04 \x01(\tR\x0f\x64stSubaccountId\x12.\n\x13\x64st_account_address\x18\x05 \x01(\tR\x11\x64stAccountAddress\x12:\n\x06\x61mount\x18\x06 \x01(\x0b\x32\".injective_accounts_rpc.CosmosCoinR\x06\x61mount\x12\x1f\n\x0b\x65xecuted_at\x18\x07 \x01(\x12R\nexecutedAt\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\x8a\x01\n\x1dSubaccountOrderSummaryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0forder_direction\x18\x03 \x01(\tR\x0eorderDirection\"\x84\x01\n\x1eSubaccountOrderSummaryResponse\x12*\n\x11spot_orders_total\x18\x01 \x01(\x12R\x0fspotOrdersTotal\x12\x36\n\x17\x64\x65rivative_orders_total\x18\x02 \x01(\x12R\x15\x64\x65rivativeOrdersTotal\"O\n\x0eRewardsRequest\x12\x14\n\x05\x65poch\x18\x01 \x01(\x12R\x05\x65poch\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"K\n\x0fRewardsResponse\x12\x38\n\x07rewards\x18\x01 \x03(\x0b\x32\x1e.injective_accounts_rpc.RewardR\x07rewards\"\x90\x01\n\x06Reward\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x36\n\x07rewards\x18\x02 \x03(\x0b\x32\x1c.injective_accounts_rpc.CoinR\x07rewards\x12%\n\x0e\x64istributed_at\x18\x03 \x01(\x12R\rdistributedAt\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue\"C\n\x18StreamAccountDataRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xde\x03\n\x19StreamAccountDataResponse\x12^\n\x12subaccount_balance\x18\x01 \x01(\x0b\x32/.injective_accounts_rpc.SubaccountBalanceResultR\x11subaccountBalance\x12\x43\n\x08position\x18\x02 \x01(\x0b\x32\'.injective_accounts_rpc.PositionsResultR\x08position\x12\x39\n\x05trade\x18\x03 \x01(\x0b\x32#.injective_accounts_rpc.TradeResultR\x05trade\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective_accounts_rpc.OrderResultR\x05order\x12O\n\rorder_history\x18\x05 \x01(\x0b\x32*.injective_accounts_rpc.OrderHistoryResultR\x0corderHistory\x12U\n\x0f\x66unding_payment\x18\x06 \x01(\x0b\x32,.injective_accounts_rpc.FundingPaymentResultR\x0e\x66undingPayment\"|\n\x17SubaccountBalanceResult\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective_accounts_rpc.SubaccountBalanceR\x07\x62\x61lance\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"m\n\x0fPositionsResult\x12<\n\x08position\x18\x01 \x01(\x0b\x32 .injective_accounts_rpc.PositionR\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xa5\x03\n\x08Position\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\n \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12!\n\x0c\x66unding_last\x18\x0c \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\r \x01(\tR\nfundingSum\"\xf5\x01\n\x0bTradeResult\x12\x42\n\nspot_trade\x18\x01 \x01(\x0b\x32!.injective_accounts_rpc.SpotTradeH\x00R\tspotTrade\x12T\n\x10\x64\x65rivative_trade\x18\x02 \x01(\x0b\x32\'.injective_accounts_rpc.DerivativeTradeH\x00R\x0f\x64\x65rivativeTrade\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x07\n\x05trade\"\xad\x03\n\tSpotTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12\'\n\x0ftrade_direction\x18\x05 \x01(\tR\x0etradeDirection\x12\x38\n\x05price\x18\x06 \x01(\x0b\x32\".injective_accounts_rpc.PriceLevelR\x05price\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\x08 \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\n \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0b \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xef\x03\n\x0f\x44\x65rivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12L\n\x0eposition_delta\x18\x06 \x01(\x0b\x32%.injective_accounts_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\x12\x10\n\x03pnl\x18\x0e \x01(\tR\x03pnl\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"\xff\x01\n\x0bOrderResult\x12G\n\nspot_order\x18\x01 \x01(\x0b\x32&.injective_accounts_rpc.SpotLimitOrderH\x00R\tspotOrder\x12Y\n\x10\x64\x65rivative_order\x18\x02 \x01(\x0b\x32,.injective_accounts_rpc.DerivativeLimitOrderH\x00R\x0f\x64\x65rivativeOrder\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x07\n\x05order\"\xb8\x03\n\x0eSpotLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\x07 \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\n \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x17\n\x07tx_hash\x18\r \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x80\x06\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\x12\'\n\x0f\x61\x63\x63ount_address\x18\x17 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xb0\x02\n\x12OrderHistoryResult\x12X\n\x12spot_order_history\x18\x01 \x01(\x0b\x32(.injective_accounts_rpc.SpotOrderHistoryH\x00R\x10spotOrderHistory\x12j\n\x18\x64\x65rivative_order_history\x18\x02 \x01(\x0b\x32..injective_accounts_rpc.DerivativeOrderHistoryH\x00R\x16\x64\x65rivativeOrderHistory\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestampB\x0f\n\rorder_history\"\xf3\x03\n\x10SpotOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1c\n\tdirection\x18\x0e \x01(\tR\tdirection\x12\x17\n\x07tx_hash\x18\x0f \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xa9\x05\n\x16\x44\x65rivativeOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"\xae\x01\n\x14\x46undingPaymentResult\x12Q\n\x10\x66unding_payments\x18\x01 \x01(\x0b\x32&.injective_accounts_rpc.FundingPaymentR\x0f\x66undingPayments\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\x88\x01\n\x0e\x46undingPayment\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp2\xdc\t\n\x14InjectiveAccountsRPC\x12`\n\tPortfolio\x12(.injective_accounts_rpc.PortfolioRequest\x1a).injective_accounts_rpc.PortfolioResponse\x12\x66\n\x0bOrderStates\x12*.injective_accounts_rpc.OrderStatesRequest\x1a+.injective_accounts_rpc.OrderStatesResponse\x12r\n\x0fSubaccountsList\x12..injective_accounts_rpc.SubaccountsListRequest\x1a/.injective_accounts_rpc.SubaccountsListResponse\x12\x87\x01\n\x16SubaccountBalancesList\x12\x35.injective_accounts_rpc.SubaccountBalancesListRequest\x1a\x36.injective_accounts_rpc.SubaccountBalancesListResponse\x12\x90\x01\n\x19SubaccountBalanceEndpoint\x12\x38.injective_accounts_rpc.SubaccountBalanceEndpointRequest\x1a\x39.injective_accounts_rpc.SubaccountBalanceEndpointResponse\x12\x8c\x01\n\x17StreamSubaccountBalance\x12\x36.injective_accounts_rpc.StreamSubaccountBalanceRequest\x1a\x37.injective_accounts_rpc.StreamSubaccountBalanceResponse0\x01\x12x\n\x11SubaccountHistory\x12\x30.injective_accounts_rpc.SubaccountHistoryRequest\x1a\x31.injective_accounts_rpc.SubaccountHistoryResponse\x12\x87\x01\n\x16SubaccountOrderSummary\x12\x35.injective_accounts_rpc.SubaccountOrderSummaryRequest\x1a\x36.injective_accounts_rpc.SubaccountOrderSummaryResponse\x12Z\n\x07Rewards\x12&.injective_accounts_rpc.RewardsRequest\x1a\'.injective_accounts_rpc.RewardsResponse\x12z\n\x11StreamAccountData\x12\x30.injective_accounts_rpc.StreamAccountDataRequest\x1a\x31.injective_accounts_rpc.StreamAccountDataResponse0\x01\x42\xc2\x01\n\x1a\x63om.injective_accounts_rpcB\x19InjectiveAccountsRpcProtoP\x01Z\x19/injective_accounts_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveAccountsRpc\xca\x02\x14InjectiveAccountsRpc\xe2\x02 InjectiveAccountsRpc\\GPBMetadata\xea\x02\x14InjectiveAccountsRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -46,74 +46,74 @@ _globals['_SUBACCOUNTBALANCESLISTRESPONSE']._serialized_end=1720 _globals['_SUBACCOUNTBALANCE']._serialized_start=1723 _globals['_SUBACCOUNTBALANCE']._serialized_end=1911 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=1913 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=2014 - _globals['_SUBACCOUNTBALANCEENDPOINTREQUEST']._serialized_start=2016 - _globals['_SUBACCOUNTBALANCEENDPOINTREQUEST']._serialized_end=2109 - _globals['_SUBACCOUNTBALANCEENDPOINTRESPONSE']._serialized_start=2111 - _globals['_SUBACCOUNTBALANCEENDPOINTRESPONSE']._serialized_end=2215 - _globals['_STREAMSUBACCOUNTBALANCEREQUEST']._serialized_start=2217 - _globals['_STREAMSUBACCOUNTBALANCEREQUEST']._serialized_end=2310 - _globals['_STREAMSUBACCOUNTBALANCERESPONSE']._serialized_start=2313 - _globals['_STREAMSUBACCOUNTBALANCERESPONSE']._serialized_end=2445 - _globals['_SUBACCOUNTHISTORYREQUEST']._serialized_start=2448 - _globals['_SUBACCOUNTHISTORYREQUEST']._serialized_end=2641 - _globals['_SUBACCOUNTHISTORYRESPONSE']._serialized_start=2644 - _globals['_SUBACCOUNTHISTORYRESPONSE']._serialized_end=2808 - _globals['_SUBACCOUNTBALANCETRANSFER']._serialized_start=2811 - _globals['_SUBACCOUNTBALANCETRANSFER']._serialized_end=3152 - _globals['_COSMOSCOIN']._serialized_start=3154 - _globals['_COSMOSCOIN']._serialized_end=3212 - _globals['_PAGING']._serialized_start=3215 - _globals['_PAGING']._serialized_end=3349 - _globals['_SUBACCOUNTORDERSUMMARYREQUEST']._serialized_start=3352 - _globals['_SUBACCOUNTORDERSUMMARYREQUEST']._serialized_end=3490 - _globals['_SUBACCOUNTORDERSUMMARYRESPONSE']._serialized_start=3493 - _globals['_SUBACCOUNTORDERSUMMARYRESPONSE']._serialized_end=3625 - _globals['_REWARDSREQUEST']._serialized_start=3627 - _globals['_REWARDSREQUEST']._serialized_end=3706 - _globals['_REWARDSRESPONSE']._serialized_start=3708 - _globals['_REWARDSRESPONSE']._serialized_end=3783 - _globals['_REWARD']._serialized_start=3786 - _globals['_REWARD']._serialized_end=3930 - _globals['_COIN']._serialized_start=3932 - _globals['_COIN']._serialized_end=3984 - _globals['_STREAMACCOUNTDATAREQUEST']._serialized_start=3986 - _globals['_STREAMACCOUNTDATAREQUEST']._serialized_end=4053 - _globals['_STREAMACCOUNTDATARESPONSE']._serialized_start=4056 - _globals['_STREAMACCOUNTDATARESPONSE']._serialized_end=4534 - _globals['_SUBACCOUNTBALANCERESULT']._serialized_start=4536 - _globals['_SUBACCOUNTBALANCERESULT']._serialized_end=4660 - _globals['_POSITIONSRESULT']._serialized_start=4662 - _globals['_POSITIONSRESULT']._serialized_end=4771 - _globals['_POSITION']._serialized_start=4774 - _globals['_POSITION']._serialized_end=5127 - _globals['_TRADERESULT']._serialized_start=5130 - _globals['_TRADERESULT']._serialized_end=5375 - _globals['_SPOTTRADE']._serialized_start=5378 - _globals['_SPOTTRADE']._serialized_end=5807 - _globals['_PRICELEVEL']._serialized_start=5809 - _globals['_PRICELEVEL']._serialized_end=5901 - _globals['_DERIVATIVETRADE']._serialized_start=5904 - _globals['_DERIVATIVETRADE']._serialized_end=6381 - _globals['_POSITIONDELTA']._serialized_start=6384 - _globals['_POSITIONDELTA']._serialized_end=6571 - _globals['_ORDERRESULT']._serialized_start=6574 - _globals['_ORDERRESULT']._serialized_end=6829 - _globals['_SPOTLIMITORDER']._serialized_start=6832 - _globals['_SPOTLIMITORDER']._serialized_end=7272 - _globals['_DERIVATIVELIMITORDER']._serialized_start=7275 - _globals['_DERIVATIVELIMITORDER']._serialized_end=8002 - _globals['_ORDERHISTORYRESULT']._serialized_start=8005 - _globals['_ORDERHISTORYRESULT']._serialized_end=8309 - _globals['_SPOTORDERHISTORY']._serialized_start=8312 - _globals['_SPOTORDERHISTORY']._serialized_end=8811 - _globals['_DERIVATIVEORDERHISTORY']._serialized_start=8814 - _globals['_DERIVATIVEORDERHISTORY']._serialized_end=9495 - _globals['_FUNDINGPAYMENTRESULT']._serialized_start=9498 - _globals['_FUNDINGPAYMENTRESULT']._serialized_end=9672 - _globals['_FUNDINGPAYMENT']._serialized_start=9675 - _globals['_FUNDINGPAYMENT']._serialized_end=9811 - _globals['_INJECTIVEACCOUNTSRPC']._serialized_start=9814 - _globals['_INJECTIVEACCOUNTSRPC']._serialized_end=11058 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=1914 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=2111 + _globals['_SUBACCOUNTBALANCEENDPOINTREQUEST']._serialized_start=2113 + _globals['_SUBACCOUNTBALANCEENDPOINTREQUEST']._serialized_end=2206 + _globals['_SUBACCOUNTBALANCEENDPOINTRESPONSE']._serialized_start=2208 + _globals['_SUBACCOUNTBALANCEENDPOINTRESPONSE']._serialized_end=2312 + _globals['_STREAMSUBACCOUNTBALANCEREQUEST']._serialized_start=2314 + _globals['_STREAMSUBACCOUNTBALANCEREQUEST']._serialized_end=2407 + _globals['_STREAMSUBACCOUNTBALANCERESPONSE']._serialized_start=2410 + _globals['_STREAMSUBACCOUNTBALANCERESPONSE']._serialized_end=2542 + _globals['_SUBACCOUNTHISTORYREQUEST']._serialized_start=2545 + _globals['_SUBACCOUNTHISTORYREQUEST']._serialized_end=2738 + _globals['_SUBACCOUNTHISTORYRESPONSE']._serialized_start=2741 + _globals['_SUBACCOUNTHISTORYRESPONSE']._serialized_end=2905 + _globals['_SUBACCOUNTBALANCETRANSFER']._serialized_start=2908 + _globals['_SUBACCOUNTBALANCETRANSFER']._serialized_end=3249 + _globals['_COSMOSCOIN']._serialized_start=3251 + _globals['_COSMOSCOIN']._serialized_end=3309 + _globals['_PAGING']._serialized_start=3312 + _globals['_PAGING']._serialized_end=3446 + _globals['_SUBACCOUNTORDERSUMMARYREQUEST']._serialized_start=3449 + _globals['_SUBACCOUNTORDERSUMMARYREQUEST']._serialized_end=3587 + _globals['_SUBACCOUNTORDERSUMMARYRESPONSE']._serialized_start=3590 + _globals['_SUBACCOUNTORDERSUMMARYRESPONSE']._serialized_end=3722 + _globals['_REWARDSREQUEST']._serialized_start=3724 + _globals['_REWARDSREQUEST']._serialized_end=3803 + _globals['_REWARDSRESPONSE']._serialized_start=3805 + _globals['_REWARDSRESPONSE']._serialized_end=3880 + _globals['_REWARD']._serialized_start=3883 + _globals['_REWARD']._serialized_end=4027 + _globals['_COIN']._serialized_start=4029 + _globals['_COIN']._serialized_end=4110 + _globals['_STREAMACCOUNTDATAREQUEST']._serialized_start=4112 + _globals['_STREAMACCOUNTDATAREQUEST']._serialized_end=4179 + _globals['_STREAMACCOUNTDATARESPONSE']._serialized_start=4182 + _globals['_STREAMACCOUNTDATARESPONSE']._serialized_end=4660 + _globals['_SUBACCOUNTBALANCERESULT']._serialized_start=4662 + _globals['_SUBACCOUNTBALANCERESULT']._serialized_end=4786 + _globals['_POSITIONSRESULT']._serialized_start=4788 + _globals['_POSITIONSRESULT']._serialized_end=4897 + _globals['_POSITION']._serialized_start=4900 + _globals['_POSITION']._serialized_end=5321 + _globals['_TRADERESULT']._serialized_start=5324 + _globals['_TRADERESULT']._serialized_end=5569 + _globals['_SPOTTRADE']._serialized_start=5572 + _globals['_SPOTTRADE']._serialized_end=6001 + _globals['_PRICELEVEL']._serialized_start=6003 + _globals['_PRICELEVEL']._serialized_end=6095 + _globals['_DERIVATIVETRADE']._serialized_start=6098 + _globals['_DERIVATIVETRADE']._serialized_end=6593 + _globals['_POSITIONDELTA']._serialized_start=6596 + _globals['_POSITIONDELTA']._serialized_end=6783 + _globals['_ORDERRESULT']._serialized_start=6786 + _globals['_ORDERRESULT']._serialized_end=7041 + _globals['_SPOTLIMITORDER']._serialized_start=7044 + _globals['_SPOTLIMITORDER']._serialized_end=7484 + _globals['_DERIVATIVELIMITORDER']._serialized_start=7487 + _globals['_DERIVATIVELIMITORDER']._serialized_end=8255 + _globals['_ORDERHISTORYRESULT']._serialized_start=8258 + _globals['_ORDERHISTORYRESULT']._serialized_end=8562 + _globals['_SPOTORDERHISTORY']._serialized_start=8565 + _globals['_SPOTORDERHISTORY']._serialized_end=9064 + _globals['_DERIVATIVEORDERHISTORY']._serialized_start=9067 + _globals['_DERIVATIVEORDERHISTORY']._serialized_end=9748 + _globals['_FUNDINGPAYMENTRESULT']._serialized_start=9751 + _globals['_FUNDINGPAYMENTRESULT']._serialized_end=9925 + _globals['_FUNDINGPAYMENT']._serialized_start=9928 + _globals['_FUNDINGPAYMENT']._serialized_end=10064 + _globals['_INJECTIVEACCOUNTSRPC']._serialized_start=10067 + _globals['_INJECTIVEACCOUNTSRPC']._serialized_end=11311 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py b/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py index 73c52b43..a384c74c 100644 --- a/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_archiver_rpc.proto\x12\x16injective_archiver_rpc\"J\n\x0e\x42\x61lanceRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"k\n\x0f\x42\x61lanceResponse\x12X\n\x12historical_balance\x18\x01 \x01(\x0b\x32).injective_archiver_rpc.HistoricalBalanceR\x11historicalBalance\"/\n\x11HistoricalBalance\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v\"G\n\x0bRpnlRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"_\n\x0cRpnlResponse\x12O\n\x0fhistorical_rpnl\x18\x01 \x01(\x0b\x32&.injective_archiver_rpc.HistoricalRPNLR\x0ehistoricalRpnl\",\n\x0eHistoricalRPNL\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v\"J\n\x0eVolumesRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"k\n\x0fVolumesResponse\x12X\n\x12historical_volumes\x18\x01 \x01(\x0b\x32).injective_archiver_rpc.HistoricalVolumesR\x11historicalVolumes\"/\n\x11HistoricalVolumes\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v2\xa1\x02\n\x14InjectiveArchiverRPC\x12Z\n\x07\x42\x61lance\x12&.injective_archiver_rpc.BalanceRequest\x1a\'.injective_archiver_rpc.BalanceResponse\x12Q\n\x04Rpnl\x12#.injective_archiver_rpc.RpnlRequest\x1a$.injective_archiver_rpc.RpnlResponse\x12Z\n\x07Volumes\x12&.injective_archiver_rpc.VolumesRequest\x1a\'.injective_archiver_rpc.VolumesResponseB\xc2\x01\n\x1a\x63om.injective_archiver_rpcB\x19InjectiveArchiverRpcProtoP\x01Z\x19/injective_archiver_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveArchiverRpc\xca\x02\x14InjectiveArchiverRpc\xe2\x02 InjectiveArchiverRpc\\GPBMetadata\xea\x02\x14InjectiveArchiverRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_archiver_rpc.proto\x12\x16injective_archiver_rpc\"J\n\x0e\x42\x61lanceRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"k\n\x0f\x42\x61lanceResponse\x12X\n\x12historical_balance\x18\x01 \x01(\x0b\x32).injective_archiver_rpc.HistoricalBalanceR\x11historicalBalance\"r\n\x11HistoricalBalance\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v\x12\x41\n\x02\x64v\x18\x03 \x03(\x0b\x32\x31.injective_archiver_rpc.HistoricalDetailedBalanceR\x02\x64v\"]\n\x19HistoricalDetailedBalance\x12\x12\n\x04spot\x18\x01 \x01(\x01R\x04spot\x12\x12\n\x04perp\x18\x02 \x01(\x01R\x04perp\x12\x18\n\x07staking\x18\x03 \x01(\x01R\x07staking\"G\n\x13\x41\x63\x63ountStatsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x16\n\x06period\x18\x02 \x01(\tR\x06period\"p\n\x14\x41\x63\x63ountStatsResponse\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x10\n\x03pnl\x18\x02 \x01(\x01R\x03pnl\x12\x16\n\x06volume\x18\x03 \x01(\x01R\x06volume\x12\x14\n\x05stake\x18\x04 \x01(\tR\x05stake\"G\n\x0bRpnlRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"_\n\x0cRpnlResponse\x12O\n\x0fhistorical_rpnl\x18\x01 \x01(\x0b\x32&.injective_archiver_rpc.HistoricalRPNLR\x0ehistoricalRpnl\"k\n\x0eHistoricalRPNL\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v\x12=\n\x02\x64v\x18\x03 \x03(\x0b\x32-.injective_archiver_rpc.HistoricalDetailedPNLR\x02\x64v\"?\n\x15HistoricalDetailedPNL\x12\x12\n\x04rpnl\x18\x01 \x01(\x01R\x04rpnl\x12\x12\n\x04upnl\x18\x02 \x01(\x01R\x04upnl\"J\n\x0eVolumesRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"k\n\x0fVolumesResponse\x12X\n\x12historical_volumes\x18\x01 \x01(\x0b\x32).injective_archiver_rpc.HistoricalVolumesR\x11historicalVolumes\"/\n\x11HistoricalVolumes\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01v\x18\x02 \x03(\x01R\x01v\"\x81\x01\n\x15PnlLeaderboardRequest\x12\x1d\n\nstart_date\x18\x01 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x02 \x01(\x12R\x07\x65ndDate\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x18\n\x07\x61\x63\x63ount\x18\x04 \x01(\tR\x07\x61\x63\x63ount\"\xdf\x01\n\x16PnlLeaderboardResponse\x12\x1d\n\nfirst_date\x18\x01 \x01(\tR\tfirstDate\x12\x1b\n\tlast_date\x18\x02 \x01(\tR\x08lastDate\x12@\n\x07leaders\x18\x03 \x03(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\x07leaders\x12G\n\x0b\x61\x63\x63ount_row\x18\x04 \x01(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\naccountRow\"h\n\x0eLeaderboardRow\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x10\n\x03pnl\x18\x02 \x01(\x01R\x03pnl\x12\x16\n\x06volume\x18\x03 \x01(\x01R\x06volume\x12\x12\n\x04rank\x18\x04 \x01(\x11R\x04rank\"\x81\x01\n\x15VolLeaderboardRequest\x12\x1d\n\nstart_date\x18\x01 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x02 \x01(\x12R\x07\x65ndDate\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x18\n\x07\x61\x63\x63ount\x18\x04 \x01(\tR\x07\x61\x63\x63ount\"\xdf\x01\n\x16VolLeaderboardResponse\x12\x1d\n\nfirst_date\x18\x01 \x01(\tR\tfirstDate\x12\x1b\n\tlast_date\x18\x02 \x01(\tR\x08lastDate\x12@\n\x07leaders\x18\x03 \x03(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\x07leaders\x12G\n\x0b\x61\x63\x63ount_row\x18\x04 \x01(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\naccountRow\"v\n$PnlLeaderboardFixedResolutionRequest\x12\x1e\n\nresolution\x18\x01 \x01(\tR\nresolution\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x18\n\x07\x61\x63\x63ount\x18\x03 \x01(\tR\x07\x61\x63\x63ount\"\xee\x01\n%PnlLeaderboardFixedResolutionResponse\x12\x1d\n\nfirst_date\x18\x01 \x01(\tR\tfirstDate\x12\x1b\n\tlast_date\x18\x02 \x01(\tR\x08lastDate\x12@\n\x07leaders\x18\x03 \x03(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\x07leaders\x12G\n\x0b\x61\x63\x63ount_row\x18\x04 \x01(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\naccountRow\"v\n$VolLeaderboardFixedResolutionRequest\x12\x1e\n\nresolution\x18\x01 \x01(\tR\nresolution\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x18\n\x07\x61\x63\x63ount\x18\x03 \x01(\tR\x07\x61\x63\x63ount\"\xee\x01\n%VolLeaderboardFixedResolutionResponse\x12\x1d\n\nfirst_date\x18\x01 \x01(\tR\tfirstDate\x12\x1b\n\tlast_date\x18\x02 \x01(\tR\x08lastDate\x12@\n\x07leaders\x18\x03 \x03(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\x07leaders\x12G\n\x0b\x61\x63\x63ount_row\x18\x04 \x01(\x0b\x32&.injective_archiver_rpc.LeaderboardRowR\naccountRow\"W\n\x13\x44\x65nomHoldersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\"z\n\x14\x44\x65nomHoldersResponse\x12\x38\n\x07holders\x18\x01 \x03(\x0b\x32\x1e.injective_archiver_rpc.HolderR\x07holders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\x12\x14\n\x05total\x18\x03 \x01(\x11R\x05total\"K\n\x06Holder\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\tR\x07\x62\x61lance\"\x81\x02\n\x17HistoricalTradesRequest\x12\x1d\n\nfrom_block\x18\x01 \x01(\x04R\tfromBlock\x12\x1b\n\tend_block\x18\x02 \x01(\x04R\x08\x65ndBlock\x12\x1b\n\tfrom_time\x18\x03 \x01(\x12R\x08\x66romTime\x12\x19\n\x08\x65nd_time\x18\x04 \x01(\x12R\x07\x65ndTime\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x18\n\x07\x61\x63\x63ount\x18\x07 \x01(\tR\x07\x61\x63\x63ount\x12\'\n\x0f\x65xecution_types\x18\x08 \x03(\tR\x0e\x65xecutionTypes\"\xad\x01\n\x18HistoricalTradesResponse\x12?\n\x06trades\x18\x01 \x03(\x0b\x32\'.injective_archiver_rpc.HistoricalTradeR\x06trades\x12\x1f\n\x0blast_height\x18\x02 \x01(\x04R\nlastHeight\x12\x1b\n\tlast_time\x18\x03 \x01(\x12R\x08lastTime\x12\x12\n\x04next\x18\x04 \x03(\tR\x04next\"\xc3\x04\n\x0fHistoricalTrade\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\'\n\x0ftrade_direction\x18\x04 \x01(\tR\x0etradeDirection\x12\x38\n\x05price\x18\x05 \x01(\x0b\x32\".injective_archiver_rpc.PriceLevelR\x05price\x12\x10\n\x03\x66\x65\x65\x18\x06 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\x07 \x01(\x12R\nexecutedAt\x12\'\n\x0f\x65xecuted_height\x18\x08 \x01(\x04R\x0e\x65xecutedHeight\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12%\n\x0e\x65xecution_side\x18\n \x01(\tR\rexecutionSide\x12\x1b\n\tusd_value\x18\x0b \x01(\tR\x08usdValue\x12\x14\n\x05\x66lags\x18\x0c \x03(\tR\x05\x66lags\x12\x1f\n\x0bmarket_type\x18\r \x01(\tR\nmarketType\x12\x19\n\x08trade_id\x18\x0e \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_type\x18\x0f \x01(\tR\rexecutionType\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\x12!\n\x0c\x66unding_rate\x18\x11 \x01(\tR\x0b\x66undingRate\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\";\n\x1fStreamSpotAverageEntriesRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\x8f\x01\n StreamSpotAverageEntriesResponse\x12M\n\raverage_entry\x18\x01 \x01(\x0b\x32(.injective_archiver_rpc.SpotAverageEntryR\x0c\x61verageEntry\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\x98\x01\n\x10SpotAverageEntry\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12.\n\x13\x61verage_entry_price\x18\x02 \x01(\tR\x11\x61verageEntryPrice\x12\x1a\n\x08quantity\x18\x03 \x01(\tR\x08quantity\x12\x1b\n\tusd_value\x18\x04 \x01(\tR\x08usdValue2\xa0\n\n\x14InjectiveArchiverRPC\x12Z\n\x07\x42\x61lance\x12&.injective_archiver_rpc.BalanceRequest\x1a\'.injective_archiver_rpc.BalanceResponse\x12i\n\x0c\x41\x63\x63ountStats\x12+.injective_archiver_rpc.AccountStatsRequest\x1a,.injective_archiver_rpc.AccountStatsResponse\x12Q\n\x04Rpnl\x12#.injective_archiver_rpc.RpnlRequest\x1a$.injective_archiver_rpc.RpnlResponse\x12Z\n\x07Volumes\x12&.injective_archiver_rpc.VolumesRequest\x1a\'.injective_archiver_rpc.VolumesResponse\x12o\n\x0ePnlLeaderboard\x12-.injective_archiver_rpc.PnlLeaderboardRequest\x1a..injective_archiver_rpc.PnlLeaderboardResponse\x12o\n\x0eVolLeaderboard\x12-.injective_archiver_rpc.VolLeaderboardRequest\x1a..injective_archiver_rpc.VolLeaderboardResponse\x12\x9c\x01\n\x1dPnlLeaderboardFixedResolution\x12<.injective_archiver_rpc.PnlLeaderboardFixedResolutionRequest\x1a=.injective_archiver_rpc.PnlLeaderboardFixedResolutionResponse\x12\x9c\x01\n\x1dVolLeaderboardFixedResolution\x12<.injective_archiver_rpc.VolLeaderboardFixedResolutionRequest\x1a=.injective_archiver_rpc.VolLeaderboardFixedResolutionResponse\x12i\n\x0c\x44\x65nomHolders\x12+.injective_archiver_rpc.DenomHoldersRequest\x1a,.injective_archiver_rpc.DenomHoldersResponse\x12u\n\x10HistoricalTrades\x12/.injective_archiver_rpc.HistoricalTradesRequest\x1a\x30.injective_archiver_rpc.HistoricalTradesResponse\x12\x8f\x01\n\x18StreamSpotAverageEntries\x12\x37.injective_archiver_rpc.StreamSpotAverageEntriesRequest\x1a\x38.injective_archiver_rpc.StreamSpotAverageEntriesResponse0\x01\x42\xc2\x01\n\x1a\x63om.injective_archiver_rpcB\x19InjectiveArchiverRpcProtoP\x01Z\x19/injective_archiver_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveArchiverRpc\xca\x02\x14InjectiveArchiverRpc\xe2\x02 InjectiveArchiverRpc\\GPBMetadata\xea\x02\x14InjectiveArchiverRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,19 +27,65 @@ _globals['_BALANCERESPONSE']._serialized_start=141 _globals['_BALANCERESPONSE']._serialized_end=248 _globals['_HISTORICALBALANCE']._serialized_start=250 - _globals['_HISTORICALBALANCE']._serialized_end=297 - _globals['_RPNLREQUEST']._serialized_start=299 - _globals['_RPNLREQUEST']._serialized_end=370 - _globals['_RPNLRESPONSE']._serialized_start=372 - _globals['_RPNLRESPONSE']._serialized_end=467 - _globals['_HISTORICALRPNL']._serialized_start=469 - _globals['_HISTORICALRPNL']._serialized_end=513 - _globals['_VOLUMESREQUEST']._serialized_start=515 - _globals['_VOLUMESREQUEST']._serialized_end=589 - _globals['_VOLUMESRESPONSE']._serialized_start=591 - _globals['_VOLUMESRESPONSE']._serialized_end=698 - _globals['_HISTORICALVOLUMES']._serialized_start=700 - _globals['_HISTORICALVOLUMES']._serialized_end=747 - _globals['_INJECTIVEARCHIVERRPC']._serialized_start=750 - _globals['_INJECTIVEARCHIVERRPC']._serialized_end=1039 + _globals['_HISTORICALBALANCE']._serialized_end=364 + _globals['_HISTORICALDETAILEDBALANCE']._serialized_start=366 + _globals['_HISTORICALDETAILEDBALANCE']._serialized_end=459 + _globals['_ACCOUNTSTATSREQUEST']._serialized_start=461 + _globals['_ACCOUNTSTATSREQUEST']._serialized_end=532 + _globals['_ACCOUNTSTATSRESPONSE']._serialized_start=534 + _globals['_ACCOUNTSTATSRESPONSE']._serialized_end=646 + _globals['_RPNLREQUEST']._serialized_start=648 + _globals['_RPNLREQUEST']._serialized_end=719 + _globals['_RPNLRESPONSE']._serialized_start=721 + _globals['_RPNLRESPONSE']._serialized_end=816 + _globals['_HISTORICALRPNL']._serialized_start=818 + _globals['_HISTORICALRPNL']._serialized_end=925 + _globals['_HISTORICALDETAILEDPNL']._serialized_start=927 + _globals['_HISTORICALDETAILEDPNL']._serialized_end=990 + _globals['_VOLUMESREQUEST']._serialized_start=992 + _globals['_VOLUMESREQUEST']._serialized_end=1066 + _globals['_VOLUMESRESPONSE']._serialized_start=1068 + _globals['_VOLUMESRESPONSE']._serialized_end=1175 + _globals['_HISTORICALVOLUMES']._serialized_start=1177 + _globals['_HISTORICALVOLUMES']._serialized_end=1224 + _globals['_PNLLEADERBOARDREQUEST']._serialized_start=1227 + _globals['_PNLLEADERBOARDREQUEST']._serialized_end=1356 + _globals['_PNLLEADERBOARDRESPONSE']._serialized_start=1359 + _globals['_PNLLEADERBOARDRESPONSE']._serialized_end=1582 + _globals['_LEADERBOARDROW']._serialized_start=1584 + _globals['_LEADERBOARDROW']._serialized_end=1688 + _globals['_VOLLEADERBOARDREQUEST']._serialized_start=1691 + _globals['_VOLLEADERBOARDREQUEST']._serialized_end=1820 + _globals['_VOLLEADERBOARDRESPONSE']._serialized_start=1823 + _globals['_VOLLEADERBOARDRESPONSE']._serialized_end=2046 + _globals['_PNLLEADERBOARDFIXEDRESOLUTIONREQUEST']._serialized_start=2048 + _globals['_PNLLEADERBOARDFIXEDRESOLUTIONREQUEST']._serialized_end=2166 + _globals['_PNLLEADERBOARDFIXEDRESOLUTIONRESPONSE']._serialized_start=2169 + _globals['_PNLLEADERBOARDFIXEDRESOLUTIONRESPONSE']._serialized_end=2407 + _globals['_VOLLEADERBOARDFIXEDRESOLUTIONREQUEST']._serialized_start=2409 + _globals['_VOLLEADERBOARDFIXEDRESOLUTIONREQUEST']._serialized_end=2527 + _globals['_VOLLEADERBOARDFIXEDRESOLUTIONRESPONSE']._serialized_start=2530 + _globals['_VOLLEADERBOARDFIXEDRESOLUTIONRESPONSE']._serialized_end=2768 + _globals['_DENOMHOLDERSREQUEST']._serialized_start=2770 + _globals['_DENOMHOLDERSREQUEST']._serialized_end=2857 + _globals['_DENOMHOLDERSRESPONSE']._serialized_start=2859 + _globals['_DENOMHOLDERSRESPONSE']._serialized_end=2981 + _globals['_HOLDER']._serialized_start=2983 + _globals['_HOLDER']._serialized_end=3058 + _globals['_HISTORICALTRADESREQUEST']._serialized_start=3061 + _globals['_HISTORICALTRADESREQUEST']._serialized_end=3318 + _globals['_HISTORICALTRADESRESPONSE']._serialized_start=3321 + _globals['_HISTORICALTRADESRESPONSE']._serialized_end=3494 + _globals['_HISTORICALTRADE']._serialized_start=3497 + _globals['_HISTORICALTRADE']._serialized_end=4076 + _globals['_PRICELEVEL']._serialized_start=4078 + _globals['_PRICELEVEL']._serialized_end=4170 + _globals['_STREAMSPOTAVERAGEENTRIESREQUEST']._serialized_start=4172 + _globals['_STREAMSPOTAVERAGEENTRIESREQUEST']._serialized_end=4231 + _globals['_STREAMSPOTAVERAGEENTRIESRESPONSE']._serialized_start=4234 + _globals['_STREAMSPOTAVERAGEENTRIESRESPONSE']._serialized_end=4377 + _globals['_SPOTAVERAGEENTRY']._serialized_start=4380 + _globals['_SPOTAVERAGEENTRY']._serialized_end=4532 + _globals['_INJECTIVEARCHIVERRPC']._serialized_start=4535 + _globals['_INJECTIVEARCHIVERRPC']._serialized_end=5847 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_archiver_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_archiver_rpc_pb2_grpc.py index 5e23e919..11bdf330 100644 --- a/pyinjective/proto/exchange/injective_archiver_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_archiver_rpc_pb2_grpc.py @@ -20,6 +20,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__archiver__rpc__pb2.BalanceRequest.SerializeToString, response_deserializer=exchange_dot_injective__archiver__rpc__pb2.BalanceResponse.FromString, _registered_method=True) + self.AccountStats = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/AccountStats', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.AccountStatsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.AccountStatsResponse.FromString, + _registered_method=True) self.Rpnl = channel.unary_unary( '/injective_archiver_rpc.InjectiveArchiverRPC/Rpnl', request_serializer=exchange_dot_injective__archiver__rpc__pb2.RpnlRequest.SerializeToString, @@ -30,6 +35,41 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__archiver__rpc__pb2.VolumesRequest.SerializeToString, response_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolumesResponse.FromString, _registered_method=True) + self.PnlLeaderboard = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/PnlLeaderboard', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardResponse.FromString, + _registered_method=True) + self.VolLeaderboard = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/VolLeaderboard', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardResponse.FromString, + _registered_method=True) + self.PnlLeaderboardFixedResolution = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/PnlLeaderboardFixedResolution', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionResponse.FromString, + _registered_method=True) + self.VolLeaderboardFixedResolution = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/VolLeaderboardFixedResolution', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionResponse.FromString, + _registered_method=True) + self.DenomHolders = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/DenomHolders', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.DenomHoldersRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.DenomHoldersResponse.FromString, + _registered_method=True) + self.HistoricalTrades = channel.unary_unary( + '/injective_archiver_rpc.InjectiveArchiverRPC/HistoricalTrades', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesResponse.FromString, + _registered_method=True) + self.StreamSpotAverageEntries = channel.unary_stream( + '/injective_archiver_rpc.InjectiveArchiverRPC/StreamSpotAverageEntries', + request_serializer=exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesRequest.SerializeToString, + response_deserializer=exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesResponse.FromString, + _registered_method=True) class InjectiveArchiverRPCServicer(object): @@ -43,6 +83,13 @@ def Balance(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AccountStats(self, request, context): + """Provide all-time stats for a given account address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def Rpnl(self, request, context): """Provide historical realized profit and loss data for a given account address. """ @@ -57,6 +104,55 @@ def Volumes(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def PnlLeaderboard(self, request, context): + """Provide pnl leaderboard data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VolLeaderboard(self, request, context): + """Provide volume leaderboard data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PnlLeaderboardFixedResolution(self, request, context): + """Provide pnl leaderboard data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VolLeaderboardFixedResolution(self, request, context): + """Provide volume leaderboard data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DenomHolders(self, request, context): + """Provide a list of addresses holding a specific denom + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def HistoricalTrades(self, request, context): + """Provide historical trades data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamSpotAverageEntries(self, request, context): + """Stream spot markets average entries for a given account address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveArchiverRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -65,6 +161,11 @@ def add_InjectiveArchiverRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__archiver__rpc__pb2.BalanceRequest.FromString, response_serializer=exchange_dot_injective__archiver__rpc__pb2.BalanceResponse.SerializeToString, ), + 'AccountStats': grpc.unary_unary_rpc_method_handler( + servicer.AccountStats, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.AccountStatsRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.AccountStatsResponse.SerializeToString, + ), 'Rpnl': grpc.unary_unary_rpc_method_handler( servicer.Rpnl, request_deserializer=exchange_dot_injective__archiver__rpc__pb2.RpnlRequest.FromString, @@ -75,6 +176,41 @@ def add_InjectiveArchiverRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolumesRequest.FromString, response_serializer=exchange_dot_injective__archiver__rpc__pb2.VolumesResponse.SerializeToString, ), + 'PnlLeaderboard': grpc.unary_unary_rpc_method_handler( + servicer.PnlLeaderboard, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardResponse.SerializeToString, + ), + 'VolLeaderboard': grpc.unary_unary_rpc_method_handler( + servicer.VolLeaderboard, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardResponse.SerializeToString, + ), + 'PnlLeaderboardFixedResolution': grpc.unary_unary_rpc_method_handler( + servicer.PnlLeaderboardFixedResolution, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionResponse.SerializeToString, + ), + 'VolLeaderboardFixedResolution': grpc.unary_unary_rpc_method_handler( + servicer.VolLeaderboardFixedResolution, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionResponse.SerializeToString, + ), + 'DenomHolders': grpc.unary_unary_rpc_method_handler( + servicer.DenomHolders, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.DenomHoldersRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.DenomHoldersResponse.SerializeToString, + ), + 'HistoricalTrades': grpc.unary_unary_rpc_method_handler( + servicer.HistoricalTrades, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesResponse.SerializeToString, + ), + 'StreamSpotAverageEntries': grpc.unary_stream_rpc_method_handler( + servicer.StreamSpotAverageEntries, + request_deserializer=exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesRequest.FromString, + response_serializer=exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_archiver_rpc.InjectiveArchiverRPC', rpc_method_handlers) @@ -114,6 +250,33 @@ def Balance(request, metadata, _registered_method=True) + @staticmethod + def AccountStats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/AccountStats', + exchange_dot_injective__archiver__rpc__pb2.AccountStatsRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.AccountStatsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def Rpnl(request, target, @@ -167,3 +330,192 @@ def Volumes(request, timeout, metadata, _registered_method=True) + + @staticmethod + def PnlLeaderboard(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/PnlLeaderboard', + exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def VolLeaderboard(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/VolLeaderboard', + exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PnlLeaderboardFixedResolution(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/PnlLeaderboardFixedResolution', + exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.PnlLeaderboardFixedResolutionResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def VolLeaderboardFixedResolution(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/VolLeaderboardFixedResolution', + exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.VolLeaderboardFixedResolutionResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DenomHolders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/DenomHolders', + exchange_dot_injective__archiver__rpc__pb2.DenomHoldersRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.DenomHoldersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def HistoricalTrades(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/HistoricalTrades', + exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.HistoricalTradesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamSpotAverageEntries(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_archiver_rpc.InjectiveArchiverRPC/StreamSpotAverageEntries', + exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesRequest.SerializeToString, + exchange_dot_injective__archiver__rpc__pb2.StreamSpotAverageEntriesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_auction_rpc_pb2.py b/pyinjective/proto/exchange/injective_auction_rpc_pb2.py index 0ec3dabb..d436e968 100644 --- a/pyinjective/proto/exchange/injective_auction_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_auction_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$exchange/injective_auction_rpc.proto\x12\x15injective_auction_rpc\".\n\x16\x41uctionEndpointRequest\x12\x14\n\x05round\x18\x01 \x01(\x12R\x05round\"\x83\x01\n\x17\x41uctionEndpointResponse\x12\x38\n\x07\x61uction\x18\x01 \x01(\x0b\x32\x1e.injective_auction_rpc.AuctionR\x07\x61uction\x12.\n\x04\x62ids\x18\x02 \x03(\x0b\x32\x1a.injective_auction_rpc.BidR\x04\x62ids\"\xde\x01\n\x07\x41uction\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x33\n\x06\x62\x61sket\x18\x02 \x03(\x0b\x32\x1b.injective_auction_rpc.CoinR\x06\x62\x61sket\x12,\n\x12winning_bid_amount\x18\x03 \x01(\tR\x10winningBidAmount\x12\x14\n\x05round\x18\x04 \x01(\x04R\x05round\x12#\n\rend_timestamp\x18\x05 \x01(\x12R\x0c\x65ndTimestamp\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"S\n\x03\x42id\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x11\n\x0f\x41uctionsRequest\"N\n\x10\x41uctionsResponse\x12:\n\x08\x61uctions\x18\x01 \x03(\x0b\x32\x1e.injective_auction_rpc.AuctionR\x08\x61uctions\"\x13\n\x11StreamBidsRequest\"\x7f\n\x12StreamBidsResponse\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x1d\n\nbid_amount\x18\x02 \x01(\tR\tbidAmount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp2\xc9\x02\n\x13InjectiveAuctionRPC\x12p\n\x0f\x41uctionEndpoint\x12-.injective_auction_rpc.AuctionEndpointRequest\x1a..injective_auction_rpc.AuctionEndpointResponse\x12[\n\x08\x41uctions\x12&.injective_auction_rpc.AuctionsRequest\x1a\'.injective_auction_rpc.AuctionsResponse\x12\x63\n\nStreamBids\x12(.injective_auction_rpc.StreamBidsRequest\x1a).injective_auction_rpc.StreamBidsResponse0\x01\x42\xbb\x01\n\x19\x63om.injective_auction_rpcB\x18InjectiveAuctionRpcProtoP\x01Z\x18/injective_auction_rpcpb\xa2\x02\x03IXX\xaa\x02\x13InjectiveAuctionRpc\xca\x02\x13InjectiveAuctionRpc\xe2\x02\x1fInjectiveAuctionRpc\\GPBMetadata\xea\x02\x13InjectiveAuctionRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$exchange/injective_auction_rpc.proto\x12\x15injective_auction_rpc\".\n\x16\x41uctionEndpointRequest\x12\x14\n\x05round\x18\x01 \x01(\x12R\x05round\"\x83\x01\n\x17\x41uctionEndpointResponse\x12\x38\n\x07\x61uction\x18\x01 \x01(\x0b\x32\x1e.injective_auction_rpc.AuctionR\x07\x61uction\x12.\n\x04\x62ids\x18\x02 \x03(\x0b\x32\x1a.injective_auction_rpc.BidR\x04\x62ids\"\xa2\x02\n\x07\x41uction\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x33\n\x06\x62\x61sket\x18\x02 \x03(\x0b\x32\x1b.injective_auction_rpc.CoinR\x06\x62\x61sket\x12,\n\x12winning_bid_amount\x18\x03 \x01(\tR\x10winningBidAmount\x12\x14\n\x05round\x18\x04 \x01(\x04R\x05round\x12#\n\rend_timestamp\x18\x05 \x01(\x12R\x0c\x65ndTimestamp\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\x12\x42\n\x08\x63ontract\x18\x07 \x01(\x0b\x32&.injective_auction_rpc.AuctionContractR\x08\x63ontract\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue\"\xb4\x03\n\x0f\x41uctionContract\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n\nbid_target\x18\x02 \x01(\tR\tbidTarget\x12#\n\rcurrent_slots\x18\x03 \x01(\x04R\x0c\x63urrentSlots\x12\x1f\n\x0btotal_slots\x18\x04 \x01(\x04R\ntotalSlots\x12.\n\x13max_user_allocation\x18\x05 \x01(\tR\x11maxUserAllocation\x12\'\n\x0ftotal_committed\x18\x06 \x01(\tR\x0etotalCommitted\x12/\n\x13whitelist_addresses\x18\x07 \x03(\tR\x12whitelistAddresses\x12\'\n\x0fstart_timestamp\x18\x08 \x01(\x04R\x0estartTimestamp\x12#\n\rend_timestamp\x18\t \x01(\x04R\x0c\x65ndTimestamp\x12\x30\n\x14max_round_allocation\x18\n \x01(\tR\x12maxRoundAllocation\x12\"\n\ris_bid_placed\x18\x0b \x01(\x08R\x0bisBidPlaced\"S\n\x03\x42id\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x11\n\x0f\x41uctionsRequest\"N\n\x10\x41uctionsResponse\x12:\n\x08\x61uctions\x18\x01 \x03(\x0b\x32\x1e.injective_auction_rpc.AuctionR\x08\x61uctions\"f\n\x18\x41uctionsHistoryV2Request\x12\x19\n\x08per_page\x18\x01 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12\x19\n\x08\x65nd_time\x18\x03 \x01(\x12R\x07\x65ndTime\"s\n\x19\x41uctionsHistoryV2Response\x12\x42\n\x08\x61uctions\x18\x01 \x03(\x0b\x32&.injective_auction_rpc.AuctionV2ResultR\x08\x61uctions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xe5\x02\n\x0f\x41uctionV2Result\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x39\n\x06\x62\x61sket\x18\x02 \x03(\x0b\x32!.injective_auction_rpc.CoinPricesR\x06\x62\x61sket\x12,\n\x12winning_bid_amount\x18\x03 \x01(\tR\x10winningBidAmount\x12\x14\n\x05round\x18\x04 \x01(\x04R\x05round\x12#\n\rend_timestamp\x18\x05 \x01(\x12R\x0c\x65ndTimestamp\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\x12\x42\n\x08\x63ontract\x18\x07 \x01(\x0b\x32&.injective_auction_rpc.AuctionContractR\x08\x63ontract\x12\x33\n\x16winning_bid_amount_usd\x18\x08 \x01(\tR\x13winningBidAmountUsd\"\xbc\x01\n\nCoinPrices\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x45\n\x06prices\x18\x03 \x03(\x0b\x32-.injective_auction_rpc.CoinPrices.PricesEntryR\x06prices\x1a\x39\n\x0bPricesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"(\n\x10\x41uctionV2Request\x12\x14\n\x05round\x18\x01 \x01(\x12R\x05round\"\xe7\x02\n\x11\x41uctionV2Response\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x39\n\x06\x62\x61sket\x18\x02 \x03(\x0b\x32!.injective_auction_rpc.CoinPricesR\x06\x62\x61sket\x12,\n\x12winning_bid_amount\x18\x03 \x01(\tR\x10winningBidAmount\x12\x14\n\x05round\x18\x04 \x01(\x04R\x05round\x12#\n\rend_timestamp\x18\x05 \x01(\x12R\x0c\x65ndTimestamp\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\x12\x42\n\x08\x63ontract\x18\x07 \x01(\x0b\x32&.injective_auction_rpc.AuctionContractR\x08\x63ontract\x12\x33\n\x16winning_bid_amount_usd\x18\x08 \x01(\tR\x13winningBidAmountUsd\"e\n\x18\x41\x63\x63ountAuctionsV2Request\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x19\n\x08per_page\x18\x02 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\"\x8a\x01\n\x19\x41\x63\x63ountAuctionsV2Response\x12\x43\n\x08\x61uctions\x18\x01 \x03(\x0b\x32\'.injective_auction_rpc.AccountAuctionV2R\x08\x61uctions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\x12\x14\n\x05total\x18\x03 \x01(\x12R\x05total\"\xd0\x01\n\x10\x41\x63\x63ountAuctionV2\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x14\n\x05round\x18\x02 \x01(\x04R\x05round\x12)\n\x10\x61mount_deposited\x18\x03 \x01(\tR\x0f\x61mountDeposited\x12!\n\x0cis_claimable\x18\x04 \x01(\x08R\x0bisClaimable\x12H\n\x0e\x63laimed_assets\x18\x05 \x03(\x0b\x32!.injective_auction_rpc.CoinPricesR\rclaimedAssets\"M\n\x1b\x41uctionAccountStatusRequest\x12\x14\n\x05round\x18\x01 \x01(\x12R\x05round\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"6\n\x1c\x41uctionAccountStatusResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"\x13\n\x11StreamBidsRequest\"\x7f\n\x12StreamBidsResponse\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x1d\n\nbid_amount\x18\x02 \x01(\tR\tbidAmount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\x19\n\x17InjBurntEndpointRequest\"B\n\x18InjBurntEndpointResponse\x12&\n\x0ftotal_inj_burnt\x18\x01 \x01(\tR\rtotalInjBurnt\"\x16\n\x14\x41uctionsStatsRequest\"`\n\x15\x41uctionsStatsResponse\x12\x1f\n\x0btotal_burnt\x18\x01 \x01(\tR\ntotalBurnt\x12&\n\x0ftotal_usd_value\x18\x02 \x01(\tR\rtotalUsdValue2\xfb\x07\n\x13InjectiveAuctionRPC\x12p\n\x0f\x41uctionEndpoint\x12-.injective_auction_rpc.AuctionEndpointRequest\x1a..injective_auction_rpc.AuctionEndpointResponse\x12[\n\x08\x41uctions\x12&.injective_auction_rpc.AuctionsRequest\x1a\'.injective_auction_rpc.AuctionsResponse\x12v\n\x11\x41uctionsHistoryV2\x12/.injective_auction_rpc.AuctionsHistoryV2Request\x1a\x30.injective_auction_rpc.AuctionsHistoryV2Response\x12^\n\tAuctionV2\x12\'.injective_auction_rpc.AuctionV2Request\x1a(.injective_auction_rpc.AuctionV2Response\x12v\n\x11\x41\x63\x63ountAuctionsV2\x12/.injective_auction_rpc.AccountAuctionsV2Request\x1a\x30.injective_auction_rpc.AccountAuctionsV2Response\x12\x7f\n\x14\x41uctionAccountStatus\x12\x32.injective_auction_rpc.AuctionAccountStatusRequest\x1a\x33.injective_auction_rpc.AuctionAccountStatusResponse\x12\x63\n\nStreamBids\x12(.injective_auction_rpc.StreamBidsRequest\x1a).injective_auction_rpc.StreamBidsResponse0\x01\x12s\n\x10InjBurntEndpoint\x12..injective_auction_rpc.InjBurntEndpointRequest\x1a/.injective_auction_rpc.InjBurntEndpointResponse\x12j\n\rAuctionsStats\x12+.injective_auction_rpc.AuctionsStatsRequest\x1a,.injective_auction_rpc.AuctionsStatsResponseB\xbb\x01\n\x19\x63om.injective_auction_rpcB\x18InjectiveAuctionRpcProtoP\x01Z\x18/injective_auction_rpcpb\xa2\x02\x03IXX\xaa\x02\x13InjectiveAuctionRpc\xca\x02\x13InjectiveAuctionRpc\xe2\x02\x1fInjectiveAuctionRpc\\GPBMetadata\xea\x02\x13InjectiveAuctionRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -22,24 +22,60 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective_auction_rpcB\030InjectiveAuctionRpcProtoP\001Z\030/injective_auction_rpcpb\242\002\003IXX\252\002\023InjectiveAuctionRpc\312\002\023InjectiveAuctionRpc\342\002\037InjectiveAuctionRpc\\GPBMetadata\352\002\023InjectiveAuctionRpc' + _globals['_COINPRICES_PRICESENTRY']._loaded_options = None + _globals['_COINPRICES_PRICESENTRY']._serialized_options = b'8\001' _globals['_AUCTIONENDPOINTREQUEST']._serialized_start=63 _globals['_AUCTIONENDPOINTREQUEST']._serialized_end=109 _globals['_AUCTIONENDPOINTRESPONSE']._serialized_start=112 _globals['_AUCTIONENDPOINTRESPONSE']._serialized_end=243 _globals['_AUCTION']._serialized_start=246 - _globals['_AUCTION']._serialized_end=468 - _globals['_COIN']._serialized_start=470 - _globals['_COIN']._serialized_end=522 - _globals['_BID']._serialized_start=524 - _globals['_BID']._serialized_end=607 - _globals['_AUCTIONSREQUEST']._serialized_start=609 - _globals['_AUCTIONSREQUEST']._serialized_end=626 - _globals['_AUCTIONSRESPONSE']._serialized_start=628 - _globals['_AUCTIONSRESPONSE']._serialized_end=706 - _globals['_STREAMBIDSREQUEST']._serialized_start=708 - _globals['_STREAMBIDSREQUEST']._serialized_end=727 - _globals['_STREAMBIDSRESPONSE']._serialized_start=729 - _globals['_STREAMBIDSRESPONSE']._serialized_end=856 - _globals['_INJECTIVEAUCTIONRPC']._serialized_start=859 - _globals['_INJECTIVEAUCTIONRPC']._serialized_end=1188 + _globals['_AUCTION']._serialized_end=536 + _globals['_COIN']._serialized_start=538 + _globals['_COIN']._serialized_end=619 + _globals['_AUCTIONCONTRACT']._serialized_start=622 + _globals['_AUCTIONCONTRACT']._serialized_end=1058 + _globals['_BID']._serialized_start=1060 + _globals['_BID']._serialized_end=1143 + _globals['_AUCTIONSREQUEST']._serialized_start=1145 + _globals['_AUCTIONSREQUEST']._serialized_end=1162 + _globals['_AUCTIONSRESPONSE']._serialized_start=1164 + _globals['_AUCTIONSRESPONSE']._serialized_end=1242 + _globals['_AUCTIONSHISTORYV2REQUEST']._serialized_start=1244 + _globals['_AUCTIONSHISTORYV2REQUEST']._serialized_end=1346 + _globals['_AUCTIONSHISTORYV2RESPONSE']._serialized_start=1348 + _globals['_AUCTIONSHISTORYV2RESPONSE']._serialized_end=1463 + _globals['_AUCTIONV2RESULT']._serialized_start=1466 + _globals['_AUCTIONV2RESULT']._serialized_end=1823 + _globals['_COINPRICES']._serialized_start=1826 + _globals['_COINPRICES']._serialized_end=2014 + _globals['_COINPRICES_PRICESENTRY']._serialized_start=1957 + _globals['_COINPRICES_PRICESENTRY']._serialized_end=2014 + _globals['_AUCTIONV2REQUEST']._serialized_start=2016 + _globals['_AUCTIONV2REQUEST']._serialized_end=2056 + _globals['_AUCTIONV2RESPONSE']._serialized_start=2059 + _globals['_AUCTIONV2RESPONSE']._serialized_end=2418 + _globals['_ACCOUNTAUCTIONSV2REQUEST']._serialized_start=2420 + _globals['_ACCOUNTAUCTIONSV2REQUEST']._serialized_end=2521 + _globals['_ACCOUNTAUCTIONSV2RESPONSE']._serialized_start=2524 + _globals['_ACCOUNTAUCTIONSV2RESPONSE']._serialized_end=2662 + _globals['_ACCOUNTAUCTIONV2']._serialized_start=2665 + _globals['_ACCOUNTAUCTIONV2']._serialized_end=2873 + _globals['_AUCTIONACCOUNTSTATUSREQUEST']._serialized_start=2875 + _globals['_AUCTIONACCOUNTSTATUSREQUEST']._serialized_end=2952 + _globals['_AUCTIONACCOUNTSTATUSRESPONSE']._serialized_start=2954 + _globals['_AUCTIONACCOUNTSTATUSRESPONSE']._serialized_end=3008 + _globals['_STREAMBIDSREQUEST']._serialized_start=3010 + _globals['_STREAMBIDSREQUEST']._serialized_end=3029 + _globals['_STREAMBIDSRESPONSE']._serialized_start=3031 + _globals['_STREAMBIDSRESPONSE']._serialized_end=3158 + _globals['_INJBURNTENDPOINTREQUEST']._serialized_start=3160 + _globals['_INJBURNTENDPOINTREQUEST']._serialized_end=3185 + _globals['_INJBURNTENDPOINTRESPONSE']._serialized_start=3187 + _globals['_INJBURNTENDPOINTRESPONSE']._serialized_end=3253 + _globals['_AUCTIONSSTATSREQUEST']._serialized_start=3255 + _globals['_AUCTIONSSTATSREQUEST']._serialized_end=3277 + _globals['_AUCTIONSSTATSRESPONSE']._serialized_start=3279 + _globals['_AUCTIONSSTATSRESPONSE']._serialized_end=3375 + _globals['_INJECTIVEAUCTIONRPC']._serialized_start=3378 + _globals['_INJECTIVEAUCTIONRPC']._serialized_end=4397 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_auction_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_auction_rpc_pb2_grpc.py index d2492e84..3f81fb37 100644 --- a/pyinjective/proto/exchange/injective_auction_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_auction_rpc_pb2_grpc.py @@ -25,11 +25,41 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsRequest.SerializeToString, response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsResponse.FromString, _registered_method=True) + self.AuctionsHistoryV2 = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionsHistoryV2', + request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Response.FromString, + _registered_method=True) + self.AuctionV2 = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionV2', + request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionV2Response.FromString, + _registered_method=True) + self.AccountAuctionsV2 = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/AccountAuctionsV2', + request_serializer=exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Response.FromString, + _registered_method=True) + self.AuctionAccountStatus = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionAccountStatus', + request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusRequest.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusResponse.FromString, + _registered_method=True) self.StreamBids = channel.unary_stream( '/injective_auction_rpc.InjectiveAuctionRPC/StreamBids', request_serializer=exchange_dot_injective__auction__rpc__pb2.StreamBidsRequest.SerializeToString, response_deserializer=exchange_dot_injective__auction__rpc__pb2.StreamBidsResponse.FromString, _registered_method=True) + self.InjBurntEndpoint = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/InjBurntEndpoint', + request_serializer=exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointRequest.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointResponse.FromString, + _registered_method=True) + self.AuctionsStats = channel.unary_unary( + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionsStats', + request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsStatsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsStatsResponse.FromString, + _registered_method=True) class InjectiveAuctionRPCServicer(object): @@ -50,6 +80,34 @@ def Auctions(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AuctionsHistoryV2(self, request, context): + """Provide the historical auctions info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuctionV2(self, request, context): + """Provide historical auction info for a given auction + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AccountAuctionsV2(self, request, context): + """Provide the historical auctions info for a given account + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuctionAccountStatus(self, request, context): + """Get the allowlist status for a specific account in an auction round + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StreamBids(self, request, context): """StreamBids streams new bids of an auction. """ @@ -57,6 +115,20 @@ def StreamBids(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def InjBurntEndpoint(self, request, context): + """InjBurntEndpoint returns the total amount of INJ burnt in auctions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuctionsStats(self, request, context): + """Returns total INJ burnt and its total USD value in auctions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveAuctionRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -70,11 +142,41 @@ def add_InjectiveAuctionRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsRequest.FromString, response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsResponse.SerializeToString, ), + 'AuctionsHistoryV2': grpc.unary_unary_rpc_method_handler( + servicer.AuctionsHistoryV2, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Request.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Response.SerializeToString, + ), + 'AuctionV2': grpc.unary_unary_rpc_method_handler( + servicer.AuctionV2, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionV2Request.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionV2Response.SerializeToString, + ), + 'AccountAuctionsV2': grpc.unary_unary_rpc_method_handler( + servicer.AccountAuctionsV2, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Request.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Response.SerializeToString, + ), + 'AuctionAccountStatus': grpc.unary_unary_rpc_method_handler( + servicer.AuctionAccountStatus, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusRequest.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusResponse.SerializeToString, + ), 'StreamBids': grpc.unary_stream_rpc_method_handler( servicer.StreamBids, request_deserializer=exchange_dot_injective__auction__rpc__pb2.StreamBidsRequest.FromString, response_serializer=exchange_dot_injective__auction__rpc__pb2.StreamBidsResponse.SerializeToString, ), + 'InjBurntEndpoint': grpc.unary_unary_rpc_method_handler( + servicer.InjBurntEndpoint, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointRequest.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointResponse.SerializeToString, + ), + 'AuctionsStats': grpc.unary_unary_rpc_method_handler( + servicer.AuctionsStats, + request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsStatsRequest.FromString, + response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsStatsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_auction_rpc.InjectiveAuctionRPC', rpc_method_handlers) @@ -141,6 +243,114 @@ def Auctions(request, metadata, _registered_method=True) + @staticmethod + def AuctionsHistoryV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionsHistoryV2', + exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Request.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.AuctionsHistoryV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuctionV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionV2', + exchange_dot_injective__auction__rpc__pb2.AuctionV2Request.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.AuctionV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AccountAuctionsV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/AccountAuctionsV2', + exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Request.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.AccountAuctionsV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuctionAccountStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionAccountStatus', + exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusRequest.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.AuctionAccountStatusResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamBids(request, target, @@ -167,3 +377,57 @@ def StreamBids(request, timeout, metadata, _registered_method=True) + + @staticmethod + def InjBurntEndpoint(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/InjBurntEndpoint', + exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointRequest.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.InjBurntEndpointResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuctionsStats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_auction_rpc.InjectiveAuctionRPC/AuctionsStats', + exchange_dot_injective__auction__rpc__pb2.AuctionsStatsRequest.SerializeToString, + exchange_dot_injective__auction__rpc__pb2.AuctionsStatsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_campaign_rpc_pb2.py b/pyinjective/proto/exchange/injective_campaign_rpc_pb2.py index 05bc4062..db68a320 100644 --- a/pyinjective/proto/exchange/injective_campaign_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_campaign_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_campaign_rpc.proto\x12\x16injective_campaign_rpc\"\xcc\x01\n\x0eRankingRequest\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12)\n\x10\x63ontract_address\x18\x06 \x01(\tR\x0f\x63ontractAddress\"\xc3\x01\n\x0fRankingResponse\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32 .injective_campaign_rpc.CampaignR\x08\x63\x61mpaign\x12:\n\x05users\x18\x02 \x03(\x0b\x32$.injective_campaign_rpc.CampaignUserR\x05users\x12\x36\n\x06paging\x18\x03 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\"\xb2\x04\n\x08\x43\x61mpaign\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0btotal_score\x18\x04 \x01(\tR\ntotalScore\x12!\n\x0clast_updated\x18\x05 \x01(\x12R\x0blastUpdated\x12\x1d\n\nstart_date\x18\x06 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x07 \x01(\x12R\x07\x65ndDate\x12!\n\x0cis_claimable\x18\x08 \x01(\x08R\x0bisClaimable\x12\x19\n\x08round_id\x18\t \x01(\x11R\x07roundId\x12)\n\x10manager_contract\x18\n \x01(\tR\x0fmanagerContract\x12\x36\n\x07rewards\x18\x0b \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x07rewards\x12\x1d\n\nuser_score\x18\x0c \x01(\tR\tuserScore\x12!\n\x0cuser_claimed\x18\r \x01(\x08R\x0buserClaimed\x12\x30\n\x14subaccount_id_suffix\x18\x0e \x01(\tR\x12subaccountIdSuffix\x12\'\n\x0freward_contract\x18\x0f \x01(\tR\x0erewardContract\x12\x18\n\x07version\x18\x10 \x01(\tR\x07version\x12\x12\n\x04type\x18\x11 \x01(\tR\x04type\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xef\x02\n\x0c\x43\x61mpaignUser\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05score\x18\x04 \x01(\tR\x05score\x12)\n\x10\x63ontract_updated\x18\x05 \x01(\x08R\x0f\x63ontractUpdated\x12!\n\x0c\x62lock_height\x18\x06 \x01(\x12R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x07 \x01(\x12R\tblockTime\x12)\n\x10purchased_amount\x18\x08 \x01(\tR\x0fpurchasedAmount\x12#\n\rgalxe_updated\x18\t \x01(\x08R\x0cgalxeUpdated\x12%\n\x0ereward_claimed\x18\n \x01(\x08R\rrewardClaimed\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\xb5\x01\n\x10\x43\x61mpaignsRequest\x12\x19\n\x08round_id\x18\x01 \x01(\x12R\x07roundId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1e\n\x0bto_round_id\x18\x03 \x01(\x11R\ttoRoundId\x12)\n\x10\x63ontract_address\x18\x04 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\"\xc5\x01\n\x11\x43\x61mpaignsResponse\x12>\n\tcampaigns\x18\x01 \x03(\x0b\x32 .injective_campaign_rpc.CampaignR\tcampaigns\x12M\n\x13\x61\x63\x63umulated_rewards\x18\x02 \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x12\x61\x63\x63umulatedRewards\x12!\n\x0creward_count\x18\x03 \x01(\x11R\x0brewardCount\"n\n\x12\x43\x61mpaignsV2Request\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x16\n\x06\x61\x63tive\x18\x02 \x01(\x08R\x06\x61\x63tive\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x16\n\x06\x63ursor\x18\x04 \x01(\tR\x06\x63ursor\"o\n\x13\x43\x61mpaignsV2Response\x12@\n\tcampaigns\x18\x01 \x03(\x0b\x32\".injective_campaign_rpc.CampaignV2R\tcampaigns\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\"\xc3\x04\n\nCampaignV2\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0btotal_score\x18\x04 \x01(\tR\ntotalScore\x12\x1d\n\ncreated_at\x18\x05 \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\x12\x1d\n\nstart_date\x18\x07 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x08 \x01(\x12R\x07\x65ndDate\x12!\n\x0cis_claimable\x18\t \x01(\x08R\x0bisClaimable\x12\x19\n\x08round_id\x18\n \x01(\x11R\x07roundId\x12)\n\x10manager_contract\x18\x0b \x01(\tR\x0fmanagerContract\x12\x36\n\x07rewards\x18\x0c \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x07rewards\x12\x30\n\x14subaccount_id_suffix\x18\r \x01(\tR\x12subaccountIdSuffix\x12\'\n\x0freward_contract\x18\x0e \x01(\tR\x0erewardContract\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12\x18\n\x07version\x18\x10 \x01(\tR\x07version\x12\x12\n\x04name\x18\x11 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x12 \x01(\tR\x0b\x64\x65scription\"\x83\x01\n\x11ListGuildsRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x03 \x01(\x11R\x04skip\x12\x17\n\x07sort_by\x18\x04 \x01(\tR\x06sortBy\"\xf6\x01\n\x12ListGuildsResponse\x12\x35\n\x06guilds\x18\x01 \x03(\x0b\x32\x1d.injective_campaign_rpc.GuildR\x06guilds\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\x12\x1d\n\nupdated_at\x18\x03 \x01(\x12R\tupdatedAt\x12R\n\x10\x63\x61mpaign_summary\x18\x04 \x01(\x0b\x32\'.injective_campaign_rpc.CampaignSummaryR\x0f\x63\x61mpaignSummary\"\xe5\x03\n\x05Guild\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12%\n\x0emaster_address\x18\x03 \x01(\tR\rmasterAddress\x12\x1d\n\ncreated_at\x18\x04 \x01(\x12R\tcreatedAt\x12\x1b\n\ttvl_score\x18\x05 \x01(\tR\x08tvlScore\x12!\n\x0cvolume_score\x18\x06 \x01(\tR\x0bvolumeScore\x12$\n\x0erank_by_volume\x18\x07 \x01(\x11R\x0crankByVolume\x12\x1e\n\x0brank_by_tvl\x18\x08 \x01(\x11R\trankByTvl\x12\x12\n\x04logo\x18\t \x01(\tR\x04logo\x12\x1b\n\ttotal_tvl\x18\n \x01(\tR\x08totalTvl\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x12\n\x04name\x18\x0e \x01(\tR\x04name\x12\x1b\n\tis_active\x18\r \x01(\x08R\x08isActive\x12%\n\x0emaster_balance\x18\x0f \x01(\tR\rmasterBalance\x12 \n\x0b\x64\x65scription\x18\x10 \x01(\tR\x0b\x64\x65scription\"\x82\x03\n\x0f\x43\x61mpaignSummary\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12+\n\x11\x63\x61mpaign_contract\x18\x02 \x01(\tR\x10\x63\x61mpaignContract\x12,\n\x12total_guilds_count\x18\x03 \x01(\x11R\x10totalGuildsCount\x12\x1b\n\ttotal_tvl\x18\x04 \x01(\tR\x08totalTvl\x12*\n\x11total_average_tvl\x18\x05 \x01(\tR\x0ftotalAverageTvl\x12!\n\x0ctotal_volume\x18\x06 \x01(\tR\x0btotalVolume\x12\x1d\n\nupdated_at\x18\x07 \x01(\x12R\tupdatedAt\x12.\n\x13total_members_count\x18\x08 \x01(\x11R\x11totalMembersCount\x12\x1d\n\nstart_time\x18\t \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\n \x01(\x12R\x07\x65ndTime\"\xd2\x01\n\x17ListGuildMembersRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x11R\x04skip\x12,\n\x12include_guild_info\x18\x05 \x01(\x08R\x10includeGuildInfo\x12\x17\n\x07sort_by\x18\x06 \x01(\tR\x06sortBy\"\xcf\x01\n\x18ListGuildMembersResponse\x12=\n\x07members\x18\x01 \x03(\x0b\x32#.injective_campaign_rpc.GuildMemberR\x07members\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\x12<\n\nguild_info\x18\x03 \x01(\x0b\x32\x1d.injective_campaign_rpc.GuildR\tguildInfo\"\xd3\x03\n\x0bGuildMember\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x1b\n\tjoined_at\x18\x04 \x01(\x12R\x08joinedAt\x12\x1b\n\ttvl_score\x18\x05 \x01(\tR\x08tvlScore\x12!\n\x0cvolume_score\x18\x06 \x01(\tR\x0bvolumeScore\x12\x1b\n\ttotal_tvl\x18\x07 \x01(\tR\x08totalTvl\x12\x36\n\x17volume_score_percentage\x18\x08 \x01(\x01R\x15volumeScorePercentage\x12\x30\n\x14tvl_score_percentage\x18\t \x01(\x01R\x12tvlScorePercentage\x12;\n\ntvl_reward\x18\n \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\ttvlReward\x12\x41\n\rvolume_reward\x18\x0b \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x0cvolumeReward\"^\n\x15GetGuildMemberRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"Q\n\x16GetGuildMemberResponse\x12\x37\n\x04info\x18\x01 \x01(\x0b\x32#.injective_campaign_rpc.GuildMemberR\x04info2\x89\x05\n\x14InjectiveCampaignRPC\x12Z\n\x07Ranking\x12&.injective_campaign_rpc.RankingRequest\x1a\'.injective_campaign_rpc.RankingResponse\x12`\n\tCampaigns\x12(.injective_campaign_rpc.CampaignsRequest\x1a).injective_campaign_rpc.CampaignsResponse\x12\x66\n\x0b\x43\x61mpaignsV2\x12*.injective_campaign_rpc.CampaignsV2Request\x1a+.injective_campaign_rpc.CampaignsV2Response\x12\x63\n\nListGuilds\x12).injective_campaign_rpc.ListGuildsRequest\x1a*.injective_campaign_rpc.ListGuildsResponse\x12u\n\x10ListGuildMembers\x12/.injective_campaign_rpc.ListGuildMembersRequest\x1a\x30.injective_campaign_rpc.ListGuildMembersResponse\x12o\n\x0eGetGuildMember\x12-.injective_campaign_rpc.GetGuildMemberRequest\x1a..injective_campaign_rpc.GetGuildMemberResponseB\xc2\x01\n\x1a\x63om.injective_campaign_rpcB\x19InjectiveCampaignRpcProtoP\x01Z\x19/injective_campaign_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveCampaignRpc\xca\x02\x14InjectiveCampaignRpc\xe2\x02 InjectiveCampaignRpc\\GPBMetadata\xea\x02\x14InjectiveCampaignRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_campaign_rpc.proto\x12\x16injective_campaign_rpc\"\xcc\x01\n\x0eRankingRequest\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12)\n\x10\x63ontract_address\x18\x06 \x01(\tR\x0f\x63ontractAddress\"\xc3\x01\n\x0fRankingResponse\x12<\n\x08\x63\x61mpaign\x18\x01 \x01(\x0b\x32 .injective_campaign_rpc.CampaignR\x08\x63\x61mpaign\x12:\n\x05users\x18\x02 \x03(\x0b\x32$.injective_campaign_rpc.CampaignUserR\x05users\x12\x36\n\x06paging\x18\x03 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\"\xb2\x04\n\x08\x43\x61mpaign\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0btotal_score\x18\x04 \x01(\tR\ntotalScore\x12!\n\x0clast_updated\x18\x05 \x01(\x12R\x0blastUpdated\x12\x1d\n\nstart_date\x18\x06 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x07 \x01(\x12R\x07\x65ndDate\x12!\n\x0cis_claimable\x18\x08 \x01(\x08R\x0bisClaimable\x12\x19\n\x08round_id\x18\t \x01(\x11R\x07roundId\x12)\n\x10manager_contract\x18\n \x01(\tR\x0fmanagerContract\x12\x36\n\x07rewards\x18\x0b \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x07rewards\x12\x1d\n\nuser_score\x18\x0c \x01(\tR\tuserScore\x12!\n\x0cuser_claimed\x18\r \x01(\x08R\x0buserClaimed\x12\x30\n\x14subaccount_id_suffix\x18\x0e \x01(\tR\x12subaccountIdSuffix\x12\'\n\x0freward_contract\x18\x0f \x01(\tR\x0erewardContract\x12\x18\n\x07version\x18\x10 \x01(\tR\x07version\x12\x12\n\x04type\x18\x11 \x01(\tR\x04type\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue\"\xef\x02\n\x0c\x43\x61mpaignUser\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x14\n\x05score\x18\x04 \x01(\tR\x05score\x12)\n\x10\x63ontract_updated\x18\x05 \x01(\x08R\x0f\x63ontractUpdated\x12!\n\x0c\x62lock_height\x18\x06 \x01(\x12R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x07 \x01(\x12R\tblockTime\x12)\n\x10purchased_amount\x18\x08 \x01(\tR\x0fpurchasedAmount\x12#\n\rgalxe_updated\x18\t \x01(\x08R\x0cgalxeUpdated\x12%\n\x0ereward_claimed\x18\n \x01(\x08R\rrewardClaimed\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\xb5\x01\n\x10\x43\x61mpaignsRequest\x12\x19\n\x08round_id\x18\x01 \x01(\x12R\x07roundId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1e\n\x0bto_round_id\x18\x03 \x01(\x11R\ttoRoundId\x12)\n\x10\x63ontract_address\x18\x04 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\"\xc5\x01\n\x11\x43\x61mpaignsResponse\x12>\n\tcampaigns\x18\x01 \x03(\x0b\x32 .injective_campaign_rpc.CampaignR\tcampaigns\x12M\n\x13\x61\x63\x63umulated_rewards\x18\x02 \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x12\x61\x63\x63umulatedRewards\x12!\n\x0creward_count\x18\x03 \x01(\x11R\x0brewardCount\"\x96\x02\n\x12\x43\x61mpaignsV2Request\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x16\n\x06\x61\x63tive\x18\x02 \x01(\x08R\x06\x61\x63tive\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x16\n\x06\x63ursor\x18\x04 \x01(\tR\x06\x63ursor\x12&\n\x0f\x66rom_start_date\x18\x05 \x01(\x12R\rfromStartDate\x12\"\n\rto_start_date\x18\x06 \x01(\x12R\x0btoStartDate\x12\"\n\rfrom_end_date\x18\x07 \x01(\x12R\x0b\x66romEndDate\x12\x1e\n\x0bto_end_date\x18\x08 \x01(\x12R\ttoEndDate\x12\x16\n\x06status\x18\t \x01(\tR\x06status\"o\n\x13\x43\x61mpaignsV2Response\x12@\n\tcampaigns\x18\x01 \x03(\x0b\x32\".injective_campaign_rpc.CampaignV2R\tcampaigns\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\"\xc3\x04\n\nCampaignV2\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0btotal_score\x18\x04 \x01(\tR\ntotalScore\x12\x1d\n\ncreated_at\x18\x05 \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\x12\x1d\n\nstart_date\x18\x07 \x01(\x12R\tstartDate\x12\x19\n\x08\x65nd_date\x18\x08 \x01(\x12R\x07\x65ndDate\x12!\n\x0cis_claimable\x18\t \x01(\x08R\x0bisClaimable\x12\x19\n\x08round_id\x18\n \x01(\x11R\x07roundId\x12)\n\x10manager_contract\x18\x0b \x01(\tR\x0fmanagerContract\x12\x36\n\x07rewards\x18\x0c \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x07rewards\x12\x30\n\x14subaccount_id_suffix\x18\r \x01(\tR\x12subaccountIdSuffix\x12\'\n\x0freward_contract\x18\x0e \x01(\tR\x0erewardContract\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12\x18\n\x07version\x18\x10 \x01(\tR\x07version\x12\x12\n\x04name\x18\x11 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x12 \x01(\tR\x0b\x64\x65scription\"\x83\x01\n\x11ListGuildsRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x03 \x01(\x11R\x04skip\x12\x17\n\x07sort_by\x18\x04 \x01(\tR\x06sortBy\"\xf6\x01\n\x12ListGuildsResponse\x12\x35\n\x06guilds\x18\x01 \x03(\x0b\x32\x1d.injective_campaign_rpc.GuildR\x06guilds\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\x12\x1d\n\nupdated_at\x18\x03 \x01(\x12R\tupdatedAt\x12R\n\x10\x63\x61mpaign_summary\x18\x04 \x01(\x0b\x32\'.injective_campaign_rpc.CampaignSummaryR\x0f\x63\x61mpaignSummary\"\xe5\x03\n\x05Guild\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12%\n\x0emaster_address\x18\x03 \x01(\tR\rmasterAddress\x12\x1d\n\ncreated_at\x18\x04 \x01(\x12R\tcreatedAt\x12\x1b\n\ttvl_score\x18\x05 \x01(\tR\x08tvlScore\x12!\n\x0cvolume_score\x18\x06 \x01(\tR\x0bvolumeScore\x12$\n\x0erank_by_volume\x18\x07 \x01(\x11R\x0crankByVolume\x12\x1e\n\x0brank_by_tvl\x18\x08 \x01(\x11R\trankByTvl\x12\x12\n\x04logo\x18\t \x01(\tR\x04logo\x12\x1b\n\ttotal_tvl\x18\n \x01(\tR\x08totalTvl\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x12\n\x04name\x18\x0e \x01(\tR\x04name\x12\x1b\n\tis_active\x18\r \x01(\x08R\x08isActive\x12%\n\x0emaster_balance\x18\x0f \x01(\tR\rmasterBalance\x12 \n\x0b\x64\x65scription\x18\x10 \x01(\tR\x0b\x64\x65scription\"\x82\x03\n\x0f\x43\x61mpaignSummary\x12\x1f\n\x0b\x63\x61mpaign_id\x18\x01 \x01(\tR\ncampaignId\x12+\n\x11\x63\x61mpaign_contract\x18\x02 \x01(\tR\x10\x63\x61mpaignContract\x12,\n\x12total_guilds_count\x18\x03 \x01(\x11R\x10totalGuildsCount\x12\x1b\n\ttotal_tvl\x18\x04 \x01(\tR\x08totalTvl\x12*\n\x11total_average_tvl\x18\x05 \x01(\tR\x0ftotalAverageTvl\x12!\n\x0ctotal_volume\x18\x06 \x01(\tR\x0btotalVolume\x12\x1d\n\nupdated_at\x18\x07 \x01(\x12R\tupdatedAt\x12.\n\x13total_members_count\x18\x08 \x01(\x11R\x11totalMembersCount\x12\x1d\n\nstart_time\x18\t \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\n \x01(\x12R\x07\x65ndTime\"\xd2\x01\n\x17ListGuildMembersRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x11R\x04skip\x12,\n\x12include_guild_info\x18\x05 \x01(\x08R\x10includeGuildInfo\x12\x17\n\x07sort_by\x18\x06 \x01(\tR\x06sortBy\"\xcf\x01\n\x18ListGuildMembersResponse\x12=\n\x07members\x18\x01 \x03(\x0b\x32#.injective_campaign_rpc.GuildMemberR\x07members\x12\x36\n\x06paging\x18\x02 \x01(\x0b\x32\x1e.injective_campaign_rpc.PagingR\x06paging\x12<\n\nguild_info\x18\x03 \x01(\x0b\x32\x1d.injective_campaign_rpc.GuildR\tguildInfo\"\xd3\x03\n\x0bGuildMember\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x19\n\x08guild_id\x18\x02 \x01(\tR\x07guildId\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x1b\n\tjoined_at\x18\x04 \x01(\x12R\x08joinedAt\x12\x1b\n\ttvl_score\x18\x05 \x01(\tR\x08tvlScore\x12!\n\x0cvolume_score\x18\x06 \x01(\tR\x0bvolumeScore\x12\x1b\n\ttotal_tvl\x18\x07 \x01(\tR\x08totalTvl\x12\x36\n\x17volume_score_percentage\x18\x08 \x01(\x01R\x15volumeScorePercentage\x12\x30\n\x14tvl_score_percentage\x18\t \x01(\x01R\x12tvlScorePercentage\x12;\n\ntvl_reward\x18\n \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\ttvlReward\x12\x41\n\rvolume_reward\x18\x0b \x03(\x0b\x32\x1c.injective_campaign_rpc.CoinR\x0cvolumeReward\"^\n\x15GetGuildMemberRequest\x12+\n\x11\x63\x61mpaign_contract\x18\x01 \x01(\tR\x10\x63\x61mpaignContract\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"Q\n\x16GetGuildMemberResponse\x12\x37\n\x04info\x18\x01 \x01(\x0b\x32#.injective_campaign_rpc.GuildMemberR\x04info2\x89\x05\n\x14InjectiveCampaignRPC\x12Z\n\x07Ranking\x12&.injective_campaign_rpc.RankingRequest\x1a\'.injective_campaign_rpc.RankingResponse\x12`\n\tCampaigns\x12(.injective_campaign_rpc.CampaignsRequest\x1a).injective_campaign_rpc.CampaignsResponse\x12\x66\n\x0b\x43\x61mpaignsV2\x12*.injective_campaign_rpc.CampaignsV2Request\x1a+.injective_campaign_rpc.CampaignsV2Response\x12\x63\n\nListGuilds\x12).injective_campaign_rpc.ListGuildsRequest\x1a*.injective_campaign_rpc.ListGuildsResponse\x12u\n\x10ListGuildMembers\x12/.injective_campaign_rpc.ListGuildMembersRequest\x1a\x30.injective_campaign_rpc.ListGuildMembersResponse\x12o\n\x0eGetGuildMember\x12-.injective_campaign_rpc.GetGuildMemberRequest\x1a..injective_campaign_rpc.GetGuildMemberResponseB\xc2\x01\n\x1a\x63om.injective_campaign_rpcB\x19InjectiveCampaignRpcProtoP\x01Z\x19/injective_campaign_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveCampaignRpc\xca\x02\x14InjectiveCampaignRpc\xe2\x02 InjectiveCampaignRpc\\GPBMetadata\xea\x02\x14InjectiveCampaignRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,39 +29,39 @@ _globals['_CAMPAIGN']._serialized_start=471 _globals['_CAMPAIGN']._serialized_end=1033 _globals['_COIN']._serialized_start=1035 - _globals['_COIN']._serialized_end=1087 - _globals['_CAMPAIGNUSER']._serialized_start=1090 - _globals['_CAMPAIGNUSER']._serialized_end=1457 - _globals['_PAGING']._serialized_start=1460 - _globals['_PAGING']._serialized_end=1594 - _globals['_CAMPAIGNSREQUEST']._serialized_start=1597 - _globals['_CAMPAIGNSREQUEST']._serialized_end=1778 - _globals['_CAMPAIGNSRESPONSE']._serialized_start=1781 - _globals['_CAMPAIGNSRESPONSE']._serialized_end=1978 - _globals['_CAMPAIGNSV2REQUEST']._serialized_start=1980 - _globals['_CAMPAIGNSV2REQUEST']._serialized_end=2090 - _globals['_CAMPAIGNSV2RESPONSE']._serialized_start=2092 - _globals['_CAMPAIGNSV2RESPONSE']._serialized_end=2203 - _globals['_CAMPAIGNV2']._serialized_start=2206 - _globals['_CAMPAIGNV2']._serialized_end=2785 - _globals['_LISTGUILDSREQUEST']._serialized_start=2788 - _globals['_LISTGUILDSREQUEST']._serialized_end=2919 - _globals['_LISTGUILDSRESPONSE']._serialized_start=2922 - _globals['_LISTGUILDSRESPONSE']._serialized_end=3168 - _globals['_GUILD']._serialized_start=3171 - _globals['_GUILD']._serialized_end=3656 - _globals['_CAMPAIGNSUMMARY']._serialized_start=3659 - _globals['_CAMPAIGNSUMMARY']._serialized_end=4045 - _globals['_LISTGUILDMEMBERSREQUEST']._serialized_start=4048 - _globals['_LISTGUILDMEMBERSREQUEST']._serialized_end=4258 - _globals['_LISTGUILDMEMBERSRESPONSE']._serialized_start=4261 - _globals['_LISTGUILDMEMBERSRESPONSE']._serialized_end=4468 - _globals['_GUILDMEMBER']._serialized_start=4471 - _globals['_GUILDMEMBER']._serialized_end=4938 - _globals['_GETGUILDMEMBERREQUEST']._serialized_start=4940 - _globals['_GETGUILDMEMBERREQUEST']._serialized_end=5034 - _globals['_GETGUILDMEMBERRESPONSE']._serialized_start=5036 - _globals['_GETGUILDMEMBERRESPONSE']._serialized_end=5117 - _globals['_INJECTIVECAMPAIGNRPC']._serialized_start=5120 - _globals['_INJECTIVECAMPAIGNRPC']._serialized_end=5769 + _globals['_COIN']._serialized_end=1116 + _globals['_CAMPAIGNUSER']._serialized_start=1119 + _globals['_CAMPAIGNUSER']._serialized_end=1486 + _globals['_PAGING']._serialized_start=1489 + _globals['_PAGING']._serialized_end=1623 + _globals['_CAMPAIGNSREQUEST']._serialized_start=1626 + _globals['_CAMPAIGNSREQUEST']._serialized_end=1807 + _globals['_CAMPAIGNSRESPONSE']._serialized_start=1810 + _globals['_CAMPAIGNSRESPONSE']._serialized_end=2007 + _globals['_CAMPAIGNSV2REQUEST']._serialized_start=2010 + _globals['_CAMPAIGNSV2REQUEST']._serialized_end=2288 + _globals['_CAMPAIGNSV2RESPONSE']._serialized_start=2290 + _globals['_CAMPAIGNSV2RESPONSE']._serialized_end=2401 + _globals['_CAMPAIGNV2']._serialized_start=2404 + _globals['_CAMPAIGNV2']._serialized_end=2983 + _globals['_LISTGUILDSREQUEST']._serialized_start=2986 + _globals['_LISTGUILDSREQUEST']._serialized_end=3117 + _globals['_LISTGUILDSRESPONSE']._serialized_start=3120 + _globals['_LISTGUILDSRESPONSE']._serialized_end=3366 + _globals['_GUILD']._serialized_start=3369 + _globals['_GUILD']._serialized_end=3854 + _globals['_CAMPAIGNSUMMARY']._serialized_start=3857 + _globals['_CAMPAIGNSUMMARY']._serialized_end=4243 + _globals['_LISTGUILDMEMBERSREQUEST']._serialized_start=4246 + _globals['_LISTGUILDMEMBERSREQUEST']._serialized_end=4456 + _globals['_LISTGUILDMEMBERSRESPONSE']._serialized_start=4459 + _globals['_LISTGUILDMEMBERSRESPONSE']._serialized_end=4666 + _globals['_GUILDMEMBER']._serialized_start=4669 + _globals['_GUILDMEMBER']._serialized_end=5136 + _globals['_GETGUILDMEMBERREQUEST']._serialized_start=5138 + _globals['_GETGUILDMEMBERREQUEST']._serialized_end=5232 + _globals['_GETGUILDMEMBERRESPONSE']._serialized_start=5234 + _globals['_GETGUILDMEMBERRESPONSE']._serialized_end=5315 + _globals['_INJECTIVECAMPAIGNRPC']._serialized_start=5318 + _globals['_INJECTIVECAMPAIGNRPC']._serialized_end=5967 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_chart_rpc_pb2.py b/pyinjective/proto/exchange/injective_chart_rpc_pb2.py new file mode 100644 index 00000000..ba9910d8 --- /dev/null +++ b/pyinjective/proto/exchange/injective_chart_rpc_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_chart_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"exchange/injective_chart_rpc.proto\x12\x13injective_chart_rpc\"\xce\x01\n\x18SpotMarketHistoryRequest\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1e\n\nresolution\x18\x03 \x01(\tR\nresolution\x12\x12\n\x04\x66rom\x18\x04 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x05 \x01(\x11R\x02to\x12\x1c\n\tcountback\x18\x06 \x01(\x11R\tcountback\x12\x1b\n\tfill_gaps\x18\x07 \x01(\x08R\x08\x66illGaps\"}\n\x19SpotMarketHistoryResponse\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01o\x18\x02 \x03(\x01R\x01o\x12\x0c\n\x01h\x18\x03 \x03(\x01R\x01h\x12\x0c\n\x01l\x18\x04 \x03(\x01R\x01l\x12\x0c\n\x01\x63\x18\x05 \x03(\x01R\x01\x63\x12\x0c\n\x01v\x18\x06 \x03(\x01R\x01v\x12\x0c\n\x01s\x18\x07 \x01(\tR\x01s\"\xa3\x02\n\x1e\x44\x65rivativeMarketHistoryRequest\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1e\n\nresolution\x18\x03 \x01(\tR\nresolution\x12\x12\n\x04\x66rom\x18\x04 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x05 \x01(\x11R\x02to\x12\x1c\n\tcountback\x18\x06 \x01(\x11R\tcountback\x12*\n\x11use_oracle_prices\x18\x07 \x01(\x08R\x0fuseOraclePrices\x12\x1b\n\tfill_gaps\x18\x08 \x01(\x08R\x08\x66illGaps\x12!\n\x0cindex_prices\x18\t \x01(\x08R\x0bindexPrices\"\x83\x01\n\x1f\x44\x65rivativeMarketHistoryResponse\x12\x0c\n\x01t\x18\x01 \x03(\x11R\x01t\x12\x0c\n\x01o\x18\x02 \x03(\x01R\x01o\x12\x0c\n\x01h\x18\x03 \x03(\x01R\x01h\x12\x0c\n\x01l\x18\x04 \x03(\x01R\x01l\x12\x0c\n\x01\x63\x18\x05 \x03(\x01R\x01\x63\x12\x0c\n\x01v\x18\x06 \x03(\x01R\x01v\x12\x0c\n\x01s\x18\x07 \x01(\tR\x01s\"W\n\x18SpotMarketSummaryRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\"\xb8\x01\n\x19SpotMarketSummaryResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04open\x18\x02 \x01(\x01R\x04open\x12\x12\n\x04high\x18\x03 \x01(\x01R\x04high\x12\x10\n\x03low\x18\x04 \x01(\x01R\x03low\x12\x16\n\x06volume\x18\x05 \x01(\x01R\x06volume\x12\x14\n\x05price\x18\x06 \x01(\x01R\x05price\x12\x16\n\x06\x63hange\x18\x07 \x01(\x01R\x06\x63hange\"=\n\x1b\x41llSpotMarketSummaryRequest\x12\x1e\n\nresolution\x18\x01 \x01(\tR\nresolution\"\\\n\x1c\x41llSpotMarketSummaryResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_chart_rpc.MarketSummaryRespR\x05\x66ield\"\xb0\x01\n\x11MarketSummaryResp\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04open\x18\x02 \x01(\x01R\x04open\x12\x12\n\x04high\x18\x03 \x01(\x01R\x04high\x12\x10\n\x03low\x18\x04 \x01(\x01R\x03low\x12\x16\n\x06volume\x18\x05 \x01(\x01R\x06volume\x12\x14\n\x05price\x18\x06 \x01(\x01R\x05price\x12\x16\n\x06\x63hange\x18\x07 \x01(\x01R\x06\x63hange\"~\n\x1e\x44\x65rivativeMarketSummaryRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1f\n\x0bindex_price\x18\x02 \x01(\x08R\nindexPrice\x12\x1e\n\nresolution\x18\x03 \x01(\tR\nresolution\"\xbe\x01\n\x1f\x44\x65rivativeMarketSummaryResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04open\x18\x02 \x01(\x01R\x04open\x12\x12\n\x04high\x18\x03 \x01(\x01R\x04high\x12\x10\n\x03low\x18\x04 \x01(\x01R\x03low\x12\x16\n\x06volume\x18\x05 \x01(\x01R\x06volume\x12\x14\n\x05price\x18\x06 \x01(\x01R\x05price\x12\x16\n\x06\x63hange\x18\x07 \x01(\x01R\x06\x63hange\"C\n!AllDerivativeMarketSummaryRequest\x12\x1e\n\nresolution\x18\x01 \x01(\tR\nresolution\"b\n\"AllDerivativeMarketSummaryResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_chart_rpc.MarketSummaryRespR\x05\x66ield\"u\n\x15MarketSnapshotRequest\x12\x1e\n\x0bmarket_i_ds\x18\x01 \x03(\tR\tmarketIDs\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\x12\x1c\n\tcountback\x18\x03 \x01(\x11R\tcountback\"b\n\x16MarketSnapshotResponse\x12H\n\x05\x66ield\x18\x01 \x03(\x0b\x32\x32.injective_chart_rpc.MarketSnapshotHistoryResponseR\x05\x66ield\"\xb0\x01\n\x1dMarketSnapshotHistoryResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1e\n\nresolution\x18\x02 \x01(\tR\nresolution\x12\x0c\n\x01t\x18\x03 \x03(\x11R\x01t\x12\x0c\n\x01o\x18\x04 \x03(\x01R\x01o\x12\x0c\n\x01h\x18\x05 \x03(\x01R\x01h\x12\x0c\n\x01l\x18\x06 \x03(\x01R\x01l\x12\x0c\n\x01\x63\x18\x07 \x03(\x01R\x01\x63\x12\x0c\n\x01v\x18\x08 \x03(\x01R\x01v2\x81\x07\n\x11InjectiveChartRPC\x12r\n\x11SpotMarketHistory\x12-.injective_chart_rpc.SpotMarketHistoryRequest\x1a..injective_chart_rpc.SpotMarketHistoryResponse\x12\x84\x01\n\x17\x44\x65rivativeMarketHistory\x12\x33.injective_chart_rpc.DerivativeMarketHistoryRequest\x1a\x34.injective_chart_rpc.DerivativeMarketHistoryResponse\x12r\n\x11SpotMarketSummary\x12-.injective_chart_rpc.SpotMarketSummaryRequest\x1a..injective_chart_rpc.SpotMarketSummaryResponse\x12{\n\x14\x41llSpotMarketSummary\x12\x30.injective_chart_rpc.AllSpotMarketSummaryRequest\x1a\x31.injective_chart_rpc.AllSpotMarketSummaryResponse\x12\x84\x01\n\x17\x44\x65rivativeMarketSummary\x12\x33.injective_chart_rpc.DerivativeMarketSummaryRequest\x1a\x34.injective_chart_rpc.DerivativeMarketSummaryResponse\x12\x8d\x01\n\x1a\x41llDerivativeMarketSummary\x12\x36.injective_chart_rpc.AllDerivativeMarketSummaryRequest\x1a\x37.injective_chart_rpc.AllDerivativeMarketSummaryResponse\x12i\n\x0eMarketSnapshot\x12*.injective_chart_rpc.MarketSnapshotRequest\x1a+.injective_chart_rpc.MarketSnapshotResponseB\xad\x01\n\x17\x63om.injective_chart_rpcB\x16InjectiveChartRpcProtoP\x01Z\x16/injective_chart_rpcpb\xa2\x02\x03IXX\xaa\x02\x11InjectiveChartRpc\xca\x02\x11InjectiveChartRpc\xe2\x02\x1dInjectiveChartRpc\\GPBMetadata\xea\x02\x11InjectiveChartRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_chart_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.injective_chart_rpcB\026InjectiveChartRpcProtoP\001Z\026/injective_chart_rpcpb\242\002\003IXX\252\002\021InjectiveChartRpc\312\002\021InjectiveChartRpc\342\002\035InjectiveChartRpc\\GPBMetadata\352\002\021InjectiveChartRpc' + _globals['_SPOTMARKETHISTORYREQUEST']._serialized_start=60 + _globals['_SPOTMARKETHISTORYREQUEST']._serialized_end=266 + _globals['_SPOTMARKETHISTORYRESPONSE']._serialized_start=268 + _globals['_SPOTMARKETHISTORYRESPONSE']._serialized_end=393 + _globals['_DERIVATIVEMARKETHISTORYREQUEST']._serialized_start=396 + _globals['_DERIVATIVEMARKETHISTORYREQUEST']._serialized_end=687 + _globals['_DERIVATIVEMARKETHISTORYRESPONSE']._serialized_start=690 + _globals['_DERIVATIVEMARKETHISTORYRESPONSE']._serialized_end=821 + _globals['_SPOTMARKETSUMMARYREQUEST']._serialized_start=823 + _globals['_SPOTMARKETSUMMARYREQUEST']._serialized_end=910 + _globals['_SPOTMARKETSUMMARYRESPONSE']._serialized_start=913 + _globals['_SPOTMARKETSUMMARYRESPONSE']._serialized_end=1097 + _globals['_ALLSPOTMARKETSUMMARYREQUEST']._serialized_start=1099 + _globals['_ALLSPOTMARKETSUMMARYREQUEST']._serialized_end=1160 + _globals['_ALLSPOTMARKETSUMMARYRESPONSE']._serialized_start=1162 + _globals['_ALLSPOTMARKETSUMMARYRESPONSE']._serialized_end=1254 + _globals['_MARKETSUMMARYRESP']._serialized_start=1257 + _globals['_MARKETSUMMARYRESP']._serialized_end=1433 + _globals['_DERIVATIVEMARKETSUMMARYREQUEST']._serialized_start=1435 + _globals['_DERIVATIVEMARKETSUMMARYREQUEST']._serialized_end=1561 + _globals['_DERIVATIVEMARKETSUMMARYRESPONSE']._serialized_start=1564 + _globals['_DERIVATIVEMARKETSUMMARYRESPONSE']._serialized_end=1754 + _globals['_ALLDERIVATIVEMARKETSUMMARYREQUEST']._serialized_start=1756 + _globals['_ALLDERIVATIVEMARKETSUMMARYREQUEST']._serialized_end=1823 + _globals['_ALLDERIVATIVEMARKETSUMMARYRESPONSE']._serialized_start=1825 + _globals['_ALLDERIVATIVEMARKETSUMMARYRESPONSE']._serialized_end=1923 + _globals['_MARKETSNAPSHOTREQUEST']._serialized_start=1925 + _globals['_MARKETSNAPSHOTREQUEST']._serialized_end=2042 + _globals['_MARKETSNAPSHOTRESPONSE']._serialized_start=2044 + _globals['_MARKETSNAPSHOTRESPONSE']._serialized_end=2142 + _globals['_MARKETSNAPSHOTHISTORYRESPONSE']._serialized_start=2145 + _globals['_MARKETSNAPSHOTHISTORYRESPONSE']._serialized_end=2321 + _globals['_INJECTIVECHARTRPC']._serialized_start=2324 + _globals['_INJECTIVECHARTRPC']._serialized_end=3221 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_chart_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_chart_rpc_pb2_grpc.py new file mode 100644 index 00000000..54724268 --- /dev/null +++ b/pyinjective/proto/exchange/injective_chart_rpc_pb2_grpc.py @@ -0,0 +1,347 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_chart_rpc_pb2 as exchange_dot_injective__chart__rpc__pb2 + + +class InjectiveChartRPCStub(object): + """InjectiveChartRPC implements historical chart data retrieval. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SpotMarketHistory = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/SpotMarketHistory', + request_serializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryResponse.FromString, + _registered_method=True) + self.DerivativeMarketHistory = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/DerivativeMarketHistory', + request_serializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryResponse.FromString, + _registered_method=True) + self.SpotMarketSummary = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/SpotMarketSummary', + request_serializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryResponse.FromString, + _registered_method=True) + self.AllSpotMarketSummary = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/AllSpotMarketSummary', + request_serializer=exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryResponse.FromString, + _registered_method=True) + self.DerivativeMarketSummary = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/DerivativeMarketSummary', + request_serializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryResponse.FromString, + _registered_method=True) + self.AllDerivativeMarketSummary = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/AllDerivativeMarketSummary', + request_serializer=exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryResponse.FromString, + _registered_method=True) + self.MarketSnapshot = channel.unary_unary( + '/injective_chart_rpc.InjectiveChartRPC/MarketSnapshot', + request_serializer=exchange_dot_injective__chart__rpc__pb2.MarketSnapshotRequest.SerializeToString, + response_deserializer=exchange_dot_injective__chart__rpc__pb2.MarketSnapshotResponse.FromString, + _registered_method=True) + + +class InjectiveChartRPCServicer(object): + """InjectiveChartRPC implements historical chart data retrieval. + """ + + def SpotMarketHistory(self, request, context): + """Request for history bars of spotMarket for TradingView. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarketHistory(self, request, context): + """Request for history bars of derivativeMarket for TradingView. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotMarketSummary(self, request, context): + """Gets spot market summary for the latest interval (hour, day, month) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AllSpotMarketSummary(self, request, context): + """Gets batch summary for all active markets, for the latest interval (hour, + day, month) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarketSummary(self, request, context): + """Gets derivative market summary for the latest interval (hour, day, month) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AllDerivativeMarketSummary(self, request, context): + """Gets batch summary for all active markets, for the latest interval (hour, + day, month) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketSnapshot(self, request, context): + """Request for cached markets history bars. Max age is 1h. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveChartRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SpotMarketHistory': grpc.unary_unary_rpc_method_handler( + servicer.SpotMarketHistory, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryResponse.SerializeToString, + ), + 'DerivativeMarketHistory': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarketHistory, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryResponse.SerializeToString, + ), + 'SpotMarketSummary': grpc.unary_unary_rpc_method_handler( + servicer.SpotMarketSummary, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryResponse.SerializeToString, + ), + 'AllSpotMarketSummary': grpc.unary_unary_rpc_method_handler( + servicer.AllSpotMarketSummary, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryResponse.SerializeToString, + ), + 'DerivativeMarketSummary': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarketSummary, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryResponse.SerializeToString, + ), + 'AllDerivativeMarketSummary': grpc.unary_unary_rpc_method_handler( + servicer.AllDerivativeMarketSummary, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryResponse.SerializeToString, + ), + 'MarketSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.MarketSnapshot, + request_deserializer=exchange_dot_injective__chart__rpc__pb2.MarketSnapshotRequest.FromString, + response_serializer=exchange_dot_injective__chart__rpc__pb2.MarketSnapshotResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_chart_rpc.InjectiveChartRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_chart_rpc.InjectiveChartRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveChartRPC(object): + """InjectiveChartRPC implements historical chart data retrieval. + """ + + @staticmethod + def SpotMarketHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/SpotMarketHistory', + exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.SpotMarketHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarketHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/DerivativeMarketHistory', + exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.DerivativeMarketHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotMarketSummary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/SpotMarketSummary', + exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.SpotMarketSummaryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AllSpotMarketSummary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/AllSpotMarketSummary', + exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.AllSpotMarketSummaryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarketSummary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/DerivativeMarketSummary', + exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.DerivativeMarketSummaryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AllDerivativeMarketSummary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/AllDerivativeMarketSummary', + exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.AllDerivativeMarketSummaryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_chart_rpc.InjectiveChartRPC/MarketSnapshot', + exchange_dot_injective__chart__rpc__pb2.MarketSnapshotRequest.SerializeToString, + exchange_dot_injective__chart__rpc__pb2.MarketSnapshotResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2.py b/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2.py index 9d4e58e9..40a44ef6 100644 --- a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0exchange/injective_derivative_exchange_rpc.proto\x12!injective_derivative_exchange_rpc\"\x7f\n\x0eMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12\'\n\x0fmarket_statuses\x18\x03 \x03(\tR\x0emarketStatuses\"d\n\x0fMarketsResponse\x12Q\n\x07markets\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x07markets\"\xec\x08\n\x14\x44\x65rivativeMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x1f\n\x0boracle_type\x18\x06 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x30\n\x14initial_margin_ratio\x18\x08 \x01(\tR\x12initialMarginRatio\x12\x38\n\x18maintenance_margin_ratio\x18\t \x01(\tR\x16maintenanceMarginRatio\x12\x1f\n\x0bquote_denom\x18\n \x01(\tR\nquoteDenom\x12V\n\x10quote_token_meta\x18\x0b \x01(\x0b\x32,.injective_derivative_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x0c \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\r \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\x0e \x01(\tR\x12serviceProviderFee\x12!\n\x0cis_perpetual\x18\x0f \x01(\x08R\x0bisPerpetual\x12-\n\x13min_price_tick_size\x18\x10 \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x11 \x01(\tR\x13minQuantityTickSize\x12j\n\x15perpetual_market_info\x18\x12 \x01(\x0b\x32\x36.injective_derivative_exchange_rpc.PerpetualMarketInfoR\x13perpetualMarketInfo\x12s\n\x18perpetual_market_funding\x18\x13 \x01(\x0b\x32\x39.injective_derivative_exchange_rpc.PerpetualMarketFundingR\x16perpetualMarketFunding\x12w\n\x1a\x65xpiry_futures_market_info\x18\x14 \x01(\x0b\x32:.injective_derivative_exchange_rpc.ExpiryFuturesMarketInfoR\x17\x65xpiryFuturesMarketInfo\x12!\n\x0cmin_notional\x18\x15 \x01(\tR\x0bminNotional\"\xa0\x01\n\tTokenMeta\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x12\n\x04logo\x18\x04 \x01(\tR\x04logo\x12\x1a\n\x08\x64\x65\x63imals\x18\x05 \x01(\x11R\x08\x64\x65\x63imals\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\"\xdf\x01\n\x13PerpetualMarketInfo\x12\x35\n\x17hourly_funding_rate_cap\x18\x01 \x01(\tR\x14hourlyFundingRateCap\x12\x30\n\x14hourly_interest_rate\x18\x02 \x01(\tR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x03 \x01(\x12R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x04 \x01(\x12R\x0f\x66undingInterval\"\x99\x01\n\x16PerpetualMarketFunding\x12-\n\x12\x63umulative_funding\x18\x01 \x01(\tR\x11\x63umulativeFunding\x12)\n\x10\x63umulative_price\x18\x02 \x01(\tR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x12R\rlastTimestamp\"w\n\x17\x45xpiryFuturesMarketInfo\x12\x31\n\x14\x65xpiration_timestamp\x18\x01 \x01(\x12R\x13\x65xpirationTimestamp\x12)\n\x10settlement_price\x18\x02 \x01(\tR\x0fsettlementPrice\",\n\rMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"a\n\x0eMarketResponse\x12O\n\x06market\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x06market\"4\n\x13StreamMarketRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xac\x01\n\x14StreamMarketResponse\x12O\n\x06market\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x06market\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x8d\x01\n\x1b\x42inaryOptionsMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xb7\x01\n\x1c\x42inaryOptionsMarketsResponse\x12T\n\x07markets\x18\x01 \x03(\x0b\x32:.injective_derivative_exchange_rpc.BinaryOptionsMarketInfoR\x07markets\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xa1\x06\n\x17\x42inaryOptionsMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x1f\n\x0boracle_type\x18\x06 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x12R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x12R\x13settlementTimestamp\x12\x1f\n\x0bquote_denom\x18\n \x01(\tR\nquoteDenom\x12V\n\x10quote_token_meta\x18\x0b \x01(\x0b\x32,.injective_derivative_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x0c \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\r \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\x0e \x01(\tR\x12serviceProviderFee\x12-\n\x13min_price_tick_size\x18\x0f \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x10 \x01(\tR\x13minQuantityTickSize\x12)\n\x10settlement_price\x18\x11 \x01(\tR\x0fsettlementPrice\x12!\n\x0cmin_notional\x18\x12 \x01(\tR\x0bminNotional\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"9\n\x1a\x42inaryOptionsMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"q\n\x1b\x42inaryOptionsMarketResponse\x12R\n\x06market\x18\x01 \x01(\x0b\x32:.injective_derivative_exchange_rpc.BinaryOptionsMarketInfoR\x06market\"1\n\x12OrderbookV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"r\n\x13OrderbookV2Response\x12[\n\torderbook\x18\x01 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\"\xde\x01\n\x1a\x44\x65rivativeLimitOrderbookV2\x12\x41\n\x04\x62uys\x18\x01 \x03(\x0b\x32-.injective_derivative_exchange_rpc.PriceLevelR\x04\x62uys\x12\x43\n\x05sells\x18\x02 \x03(\x0b\x32-.injective_derivative_exchange_rpc.PriceLevelR\x05sells\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"4\n\x13OrderbooksV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"{\n\x14OrderbooksV2Response\x12\x63\n\norderbooks\x18\x01 \x03(\x0b\x32\x43.injective_derivative_exchange_rpc.SingleDerivativeLimitOrderbookV2R\norderbooks\"\x9c\x01\n SingleDerivativeLimitOrderbookV2\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12[\n\torderbook\x18\x02 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\"9\n\x18StreamOrderbookV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xda\x01\n\x19StreamOrderbookV2Response\x12[\n\torderbook\x18\x01 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"=\n\x1cStreamOrderbookUpdateRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xf3\x01\n\x1dStreamOrderbookUpdateResponse\x12p\n\x17orderbook_level_updates\x18\x01 \x01(\x0b\x32\x38.injective_derivative_exchange_rpc.OrderbookLevelUpdatesR\x15orderbookLevelUpdates\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"\x83\x02\n\x15OrderbookLevelUpdates\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12G\n\x04\x62uys\x18\x03 \x03(\x0b\x32\x33.injective_derivative_exchange_rpc.PriceLevelUpdateR\x04\x62uys\x12I\n\x05sells\x18\x04 \x03(\x0b\x32\x33.injective_derivative_exchange_rpc.PriceLevelUpdateR\x05sells\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\"\x7f\n\x10PriceLevelUpdate\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\xc9\x03\n\rOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12)\n\x10include_inactive\x18\x0b \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\x0c \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\r \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xa4\x01\n\x0eOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xd7\x05\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\"\xdc\x02\n\x10PositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x05 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x07 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x08 \x01(\tR\tdirection\x12<\n\x1asubaccount_total_positions\x18\t \x01(\x08R\x18subaccountTotalPositions\x12\'\n\x0f\x61\x63\x63ount_address\x18\n \x01(\tR\x0e\x61\x63\x63ountAddress\"\xab\x01\n\x11PositionsResponse\x12S\n\tpositions\x18\x01 \x03(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\tpositions\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xb0\x03\n\x12\x44\x65rivativePosition\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x43\n\x1e\x61ggregate_reduce_only_quantity\x18\x0b \x01(\tR\x1b\x61ggregateReduceOnlyQuantity\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\"\xde\x02\n\x12PositionsV2Request\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x05 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x07 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x08 \x01(\tR\tdirection\x12<\n\x1asubaccount_total_positions\x18\t \x01(\x08R\x18subaccountTotalPositions\x12\'\n\x0f\x61\x63\x63ount_address\x18\n \x01(\tR\x0e\x61\x63\x63ountAddress\"\xaf\x01\n\x13PositionsV2Response\x12U\n\tpositions\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativePositionV2R\tpositions\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xe4\x02\n\x14\x44\x65rivativePositionV2\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x14\n\x05\x64\x65nom\x18\x0c \x01(\tR\x05\x64\x65nom\"c\n\x1aLiquidablePositionsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x02 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\"r\n\x1bLiquidablePositionsResponse\x12S\n\tpositions\x18\x01 \x03(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\tpositions\"\xbe\x01\n\x16\x46undingPaymentsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x05 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x06 \x03(\tR\tmarketIds\"\xab\x01\n\x17\x46undingPaymentsResponse\x12M\n\x08payments\x18\x01 \x03(\x0b\x32\x31.injective_derivative_exchange_rpc.FundingPaymentR\x08payments\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\x88\x01\n\x0e\x46undingPayment\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"w\n\x13\x46undingRatesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x02 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x04 \x01(\x12R\x07\x65ndTime\"\xae\x01\n\x14\x46undingRatesResponse\x12S\n\rfunding_rates\x18\x01 \x03(\x0b\x32..injective_derivative_exchange_rpc.FundingRateR\x0c\x66undingRates\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\\\n\x0b\x46undingRate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04rate\x18\x02 \x01(\tR\x04rate\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc9\x01\n\x16StreamPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nmarket_ids\x18\x03 \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\x04 \x03(\tR\rsubaccountIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x05 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x8a\x01\n\x17StreamPositionsResponse\x12Q\n\x08position\x18\x01 \x01(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xcf\x03\n\x13StreamOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12)\n\x10include_inactive\x18\x0b \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\x0c \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\r \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xaa\x01\n\x14StreamOrdersResponse\x12M\n\x05order\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xbf\x03\n\rTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x9f\x01\n\x0eTradesResponse\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xe8\x03\n\x0f\x44\x65rivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12W\n\x0eposition_delta\x18\x06 \x01(\x0b\x32\x30.injective_derivative_exchange_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"\xc1\x03\n\x0fTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xa1\x01\n\x10TradesV2Response\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xc5\x03\n\x13StreamTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xa5\x01\n\x14StreamTradesResponse\x12H\n\x05trade\x18\x01 \x01(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc7\x03\n\x15StreamTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xa7\x01\n\x16StreamTradesV2Response\x12H\n\x05trade\x18\x01 \x01(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x89\x01\n\x1bSubaccountOrdersListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xb2\x01\n\x1cSubaccountOrdersListResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xce\x01\n\x1bSubaccountTradesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_type\x18\x03 \x01(\tR\rexecutionType\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\"j\n\x1cSubaccountTradesListResponse\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\"\xfc\x03\n\x14OrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0border_types\x18\x05 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x06 \x01(\tR\tdirection\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x0c \x03(\tR\x0e\x65xecutionTypes\x12\x1d\n\nmarket_ids\x18\r \x03(\tR\tmarketIds\x12\x19\n\x08trade_id\x18\x0e \x01(\tR\x07tradeId\x12.\n\x13\x61\x63tive_markets_only\x18\x0f \x01(\x08R\x11\x61\x63tiveMarketsOnly\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xad\x01\n\x15OrdersHistoryResponse\x12Q\n\x06orders\x18\x01 \x03(\x0b\x32\x39.injective_derivative_exchange_rpc.DerivativeOrderHistoryR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xa9\x05\n\x16\x44\x65rivativeOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"\xdc\x01\n\x1aStreamOrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0border_types\x18\x03 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x14\n\x05state\x18\x05 \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x06 \x03(\tR\x0e\x65xecutionTypes\"\xb3\x01\n\x1bStreamOrdersHistoryResponse\x12O\n\x05order\x18\x01 \x01(\x0b\x32\x39.injective_derivative_exchange_rpc.DerivativeOrderHistoryR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp2\xc4\x1a\n\x1eInjectiveDerivativeExchangeRPC\x12p\n\x07Markets\x12\x31.injective_derivative_exchange_rpc.MarketsRequest\x1a\x32.injective_derivative_exchange_rpc.MarketsResponse\x12m\n\x06Market\x12\x30.injective_derivative_exchange_rpc.MarketRequest\x1a\x31.injective_derivative_exchange_rpc.MarketResponse\x12\x81\x01\n\x0cStreamMarket\x12\x36.injective_derivative_exchange_rpc.StreamMarketRequest\x1a\x37.injective_derivative_exchange_rpc.StreamMarketResponse0\x01\x12\x97\x01\n\x14\x42inaryOptionsMarkets\x12>.injective_derivative_exchange_rpc.BinaryOptionsMarketsRequest\x1a?.injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse\x12\x94\x01\n\x13\x42inaryOptionsMarket\x12=.injective_derivative_exchange_rpc.BinaryOptionsMarketRequest\x1a>.injective_derivative_exchange_rpc.BinaryOptionsMarketResponse\x12|\n\x0bOrderbookV2\x12\x35.injective_derivative_exchange_rpc.OrderbookV2Request\x1a\x36.injective_derivative_exchange_rpc.OrderbookV2Response\x12\x7f\n\x0cOrderbooksV2\x12\x36.injective_derivative_exchange_rpc.OrderbooksV2Request\x1a\x37.injective_derivative_exchange_rpc.OrderbooksV2Response\x12\x90\x01\n\x11StreamOrderbookV2\x12;.injective_derivative_exchange_rpc.StreamOrderbookV2Request\x1a<.injective_derivative_exchange_rpc.StreamOrderbookV2Response0\x01\x12\x9c\x01\n\x15StreamOrderbookUpdate\x12?.injective_derivative_exchange_rpc.StreamOrderbookUpdateRequest\x1a@.injective_derivative_exchange_rpc.StreamOrderbookUpdateResponse0\x01\x12m\n\x06Orders\x12\x30.injective_derivative_exchange_rpc.OrdersRequest\x1a\x31.injective_derivative_exchange_rpc.OrdersResponse\x12v\n\tPositions\x12\x33.injective_derivative_exchange_rpc.PositionsRequest\x1a\x34.injective_derivative_exchange_rpc.PositionsResponse\x12|\n\x0bPositionsV2\x12\x35.injective_derivative_exchange_rpc.PositionsV2Request\x1a\x36.injective_derivative_exchange_rpc.PositionsV2Response\x12\x94\x01\n\x13LiquidablePositions\x12=.injective_derivative_exchange_rpc.LiquidablePositionsRequest\x1a>.injective_derivative_exchange_rpc.LiquidablePositionsResponse\x12\x88\x01\n\x0f\x46undingPayments\x12\x39.injective_derivative_exchange_rpc.FundingPaymentsRequest\x1a:.injective_derivative_exchange_rpc.FundingPaymentsResponse\x12\x7f\n\x0c\x46undingRates\x12\x36.injective_derivative_exchange_rpc.FundingRatesRequest\x1a\x37.injective_derivative_exchange_rpc.FundingRatesResponse\x12\x8a\x01\n\x0fStreamPositions\x12\x39.injective_derivative_exchange_rpc.StreamPositionsRequest\x1a:.injective_derivative_exchange_rpc.StreamPositionsResponse0\x01\x12\x81\x01\n\x0cStreamOrders\x12\x36.injective_derivative_exchange_rpc.StreamOrdersRequest\x1a\x37.injective_derivative_exchange_rpc.StreamOrdersResponse0\x01\x12m\n\x06Trades\x12\x30.injective_derivative_exchange_rpc.TradesRequest\x1a\x31.injective_derivative_exchange_rpc.TradesResponse\x12s\n\x08TradesV2\x12\x32.injective_derivative_exchange_rpc.TradesV2Request\x1a\x33.injective_derivative_exchange_rpc.TradesV2Response\x12\x81\x01\n\x0cStreamTrades\x12\x36.injective_derivative_exchange_rpc.StreamTradesRequest\x1a\x37.injective_derivative_exchange_rpc.StreamTradesResponse0\x01\x12\x87\x01\n\x0eStreamTradesV2\x12\x38.injective_derivative_exchange_rpc.StreamTradesV2Request\x1a\x39.injective_derivative_exchange_rpc.StreamTradesV2Response0\x01\x12\x97\x01\n\x14SubaccountOrdersList\x12>.injective_derivative_exchange_rpc.SubaccountOrdersListRequest\x1a?.injective_derivative_exchange_rpc.SubaccountOrdersListResponse\x12\x97\x01\n\x14SubaccountTradesList\x12>.injective_derivative_exchange_rpc.SubaccountTradesListRequest\x1a?.injective_derivative_exchange_rpc.SubaccountTradesListResponse\x12\x82\x01\n\rOrdersHistory\x12\x37.injective_derivative_exchange_rpc.OrdersHistoryRequest\x1a\x38.injective_derivative_exchange_rpc.OrdersHistoryResponse\x12\x96\x01\n\x13StreamOrdersHistory\x12=.injective_derivative_exchange_rpc.StreamOrdersHistoryRequest\x1a>.injective_derivative_exchange_rpc.StreamOrdersHistoryResponse0\x01\x42\x8a\x02\n%com.injective_derivative_exchange_rpcB#InjectiveDerivativeExchangeRpcProtoP\x01Z$/injective_derivative_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x1eInjectiveDerivativeExchangeRpc\xca\x02\x1eInjectiveDerivativeExchangeRpc\xe2\x02*InjectiveDerivativeExchangeRpc\\GPBMetadata\xea\x02\x1eInjectiveDerivativeExchangeRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0exchange/injective_derivative_exchange_rpc.proto\x12!injective_derivative_exchange_rpc\"\x7f\n\x0eMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12\'\n\x0fmarket_statuses\x18\x03 \x03(\tR\x0emarketStatuses\"d\n\x0fMarketsResponse\x12Q\n\x07markets\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x07markets\"\xfc\t\n\x14\x44\x65rivativeMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x1f\n\x0boracle_type\x18\x06 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x30\n\x14initial_margin_ratio\x18\x08 \x01(\tR\x12initialMarginRatio\x12\x38\n\x18maintenance_margin_ratio\x18\t \x01(\tR\x16maintenanceMarginRatio\x12\x1f\n\x0bquote_denom\x18\n \x01(\tR\nquoteDenom\x12V\n\x10quote_token_meta\x18\x0b \x01(\x0b\x32,.injective_derivative_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x0c \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\r \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\x0e \x01(\tR\x12serviceProviderFee\x12!\n\x0cis_perpetual\x18\x0f \x01(\x08R\x0bisPerpetual\x12-\n\x13min_price_tick_size\x18\x10 \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x11 \x01(\tR\x13minQuantityTickSize\x12j\n\x15perpetual_market_info\x18\x12 \x01(\x0b\x32\x36.injective_derivative_exchange_rpc.PerpetualMarketInfoR\x13perpetualMarketInfo\x12s\n\x18perpetual_market_funding\x18\x13 \x01(\x0b\x32\x39.injective_derivative_exchange_rpc.PerpetualMarketFundingR\x16perpetualMarketFunding\x12w\n\x1a\x65xpiry_futures_market_info\x18\x14 \x01(\x0b\x32:.injective_derivative_exchange_rpc.ExpiryFuturesMarketInfoR\x17\x65xpiryFuturesMarketInfo\x12!\n\x0cmin_notional\x18\x15 \x01(\tR\x0bminNotional\x12.\n\x13reduce_margin_ratio\x18\x16 \x01(\tR\x11reduceMarginRatio\x12^\n\x11open_notional_cap\x18\x17 \x01(\x0b\x32\x32.injective_derivative_exchange_rpc.OpenNotionalCapR\x0fopenNotionalCap\"\xa0\x01\n\tTokenMeta\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x12\n\x04logo\x18\x04 \x01(\tR\x04logo\x12\x1a\n\x08\x64\x65\x63imals\x18\x05 \x01(\x11R\x08\x64\x65\x63imals\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\"\xdf\x01\n\x13PerpetualMarketInfo\x12\x35\n\x17hourly_funding_rate_cap\x18\x01 \x01(\tR\x14hourlyFundingRateCap\x12\x30\n\x14hourly_interest_rate\x18\x02 \x01(\tR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x03 \x01(\x12R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x04 \x01(\x12R\x0f\x66undingInterval\"\xc5\x01\n\x16PerpetualMarketFunding\x12-\n\x12\x63umulative_funding\x18\x01 \x01(\tR\x11\x63umulativeFunding\x12)\n\x10\x63umulative_price\x18\x02 \x01(\tR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x12R\rlastTimestamp\x12*\n\x11last_funding_rate\x18\x04 \x01(\tR\x0flastFundingRate\"w\n\x17\x45xpiryFuturesMarketInfo\x12\x31\n\x14\x65xpiration_timestamp\x18\x01 \x01(\x12R\x13\x65xpirationTimestamp\x12)\n\x10settlement_price\x18\x02 \x01(\tR\x0fsettlementPrice\"#\n\x0fOpenNotionalCap\x12\x10\n\x03\x63\x61p\x18\x01 \x01(\tR\x03\x63\x61p\",\n\rMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"a\n\x0eMarketResponse\x12O\n\x06market\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x06market\"4\n\x13StreamMarketRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xac\x01\n\x14StreamMarketResponse\x12O\n\x06market\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeMarketInfoR\x06market\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x8d\x01\n\x1b\x42inaryOptionsMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xb7\x01\n\x1c\x42inaryOptionsMarketsResponse\x12T\n\x07markets\x18\x01 \x03(\x0b\x32:.injective_derivative_exchange_rpc.BinaryOptionsMarketInfoR\x07markets\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xa1\x06\n\x17\x42inaryOptionsMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x1f\n\x0boracle_type\x18\x06 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x12R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x12R\x13settlementTimestamp\x12\x1f\n\x0bquote_denom\x18\n \x01(\tR\nquoteDenom\x12V\n\x10quote_token_meta\x18\x0b \x01(\x0b\x32,.injective_derivative_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x0c \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\r \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\x0e \x01(\tR\x12serviceProviderFee\x12-\n\x13min_price_tick_size\x18\x0f \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x10 \x01(\tR\x13minQuantityTickSize\x12)\n\x10settlement_price\x18\x11 \x01(\tR\x0fsettlementPrice\x12!\n\x0cmin_notional\x18\x12 \x01(\tR\x0bminNotional\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"9\n\x1a\x42inaryOptionsMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"q\n\x1b\x42inaryOptionsMarketResponse\x12R\n\x06market\x18\x01 \x01(\x0b\x32:.injective_derivative_exchange_rpc.BinaryOptionsMarketInfoR\x06market\"G\n\x12OrderbookV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x11R\x05\x64\x65pth\"r\n\x13OrderbookV2Response\x12[\n\torderbook\x18\x01 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\"\xf6\x01\n\x1a\x44\x65rivativeLimitOrderbookV2\x12\x41\n\x04\x62uys\x18\x01 \x03(\x0b\x32-.injective_derivative_exchange_rpc.PriceLevelR\x04\x62uys\x12\x43\n\x05sells\x18\x02 \x03(\x0b\x32-.injective_derivative_exchange_rpc.PriceLevelR\x05sells\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\x12\x16\n\x06height\x18\x05 \x01(\x12R\x06height\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"J\n\x13OrderbooksV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x11R\x05\x64\x65pth\"{\n\x14OrderbooksV2Response\x12\x63\n\norderbooks\x18\x01 \x03(\x0b\x32\x43.injective_derivative_exchange_rpc.SingleDerivativeLimitOrderbookV2R\norderbooks\"\x9c\x01\n SingleDerivativeLimitOrderbookV2\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12[\n\torderbook\x18\x02 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\"9\n\x18StreamOrderbookV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xda\x01\n\x19StreamOrderbookV2Response\x12[\n\torderbook\x18\x01 \x01(\x0b\x32=.injective_derivative_exchange_rpc.DerivativeLimitOrderbookV2R\torderbook\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"=\n\x1cStreamOrderbookUpdateRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xf3\x01\n\x1dStreamOrderbookUpdateResponse\x12p\n\x17orderbook_level_updates\x18\x01 \x01(\x0b\x32\x38.injective_derivative_exchange_rpc.OrderbookLevelUpdatesR\x15orderbookLevelUpdates\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"\x83\x02\n\x15OrderbookLevelUpdates\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12G\n\x04\x62uys\x18\x03 \x03(\x0b\x32\x33.injective_derivative_exchange_rpc.PriceLevelUpdateR\x04\x62uys\x12I\n\x05sells\x18\x04 \x03(\x0b\x32\x33.injective_derivative_exchange_rpc.PriceLevelUpdateR\x05sells\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\"\x7f\n\x10PriceLevelUpdate\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\xc9\x03\n\rOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12)\n\x10include_inactive\x18\x0b \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\x0c \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\r \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xa4\x01\n\x0eOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\x80\x06\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\x12\'\n\x0f\x61\x63\x63ount_address\x18\x17 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xdc\x02\n\x10PositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x05 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x07 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x08 \x01(\tR\tdirection\x12<\n\x1asubaccount_total_positions\x18\t \x01(\x08R\x18subaccountTotalPositions\x12\'\n\x0f\x61\x63\x63ount_address\x18\n \x01(\tR\x0e\x61\x63\x63ountAddress\"\xab\x01\n\x11PositionsResponse\x12S\n\tpositions\x18\x01 \x03(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\tpositions\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xfb\x04\n\x12\x44\x65rivativePosition\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x43\n\x1e\x61ggregate_reduce_only_quantity\x18\x0b \x01(\tR\x1b\x61ggregateReduceOnlyQuantity\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12!\n\x0c\x66unding_last\x18\x0e \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0f \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x10 \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x11 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\"\xde\x02\n\x12PositionsV2Request\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x05 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x06 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x07 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x08 \x01(\tR\tdirection\x12<\n\x1asubaccount_total_positions\x18\t \x01(\x08R\x18subaccountTotalPositions\x12\'\n\x0f\x61\x63\x63ount_address\x18\n \x01(\tR\x0e\x61\x63\x63ountAddress\"\xaf\x01\n\x13PositionsV2Response\x12U\n\tpositions\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativePositionV2R\tpositions\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xf0\x05\n\x14\x44\x65rivativePositionV2\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x14\n\x05\x64\x65nom\x18\x0c \x01(\tR\x05\x64\x65nom\x12!\n\x0c\x66unding_last\x18\r \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0e \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x0f \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x10 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\x12\x12\n\x04upnl\x18\x11 \x01(\tR\x04upnl\x12)\n\x10initial_leverage\x18\x12 \x01(\tR\x0finitialLeverage\x12%\n\x0einitial_margin\x18\x13 \x01(\tR\rinitialMargin\x12.\n\x13initial_entry_price\x18\x14 \x01(\tR\x11initialEntryPrice\x12)\n\x10initial_quantity\x18\x15 \x01(\tR\x0finitialQuantity\"c\n\x1aLiquidablePositionsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x02 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\"r\n\x1bLiquidablePositionsResponse\x12S\n\tpositions\x18\x01 \x03(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\tpositions\"\xbe\x01\n\x16\x46undingPaymentsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x05 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x06 \x03(\tR\tmarketIds\"\xab\x01\n\x17\x46undingPaymentsResponse\x12M\n\x08payments\x18\x01 \x03(\x0b\x32\x31.injective_derivative_exchange_rpc.FundingPaymentR\x08payments\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\x88\x01\n\x0e\x46undingPayment\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"w\n\x13\x46undingRatesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x02 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x19\n\x08\x65nd_time\x18\x04 \x01(\x12R\x07\x65ndTime\"\xae\x01\n\x14\x46undingRatesResponse\x12S\n\rfunding_rates\x18\x01 \x03(\x0b\x32..injective_derivative_exchange_rpc.FundingRateR\x0c\x66undingRates\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\\\n\x0b\x46undingRate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x12\n\x04rate\x18\x02 \x01(\tR\x04rate\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc9\x01\n\x16StreamPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nmarket_ids\x18\x03 \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\x04 \x03(\tR\rsubaccountIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x05 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x8a\x01\n\x17StreamPositionsResponse\x12Q\n\x08position\x18\x01 \x01(\x0b\x32\x35.injective_derivative_exchange_rpc.DerivativePositionR\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"\xcb\x01\n\x18StreamPositionsV2Request\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nmarket_ids\x18\x03 \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\x04 \x03(\tR\rsubaccountIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x05 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xb5\x01\n\x19StreamPositionsV2Response\x12S\n\x08position\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativePositionV2R\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\"\xcf\x03\n\x13StreamOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12)\n\x10include_inactive\x18\x0b \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\x0c \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\r \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\xaa\x01\n\x14StreamOrdersResponse\x12M\n\x05order\x18\x01 \x01(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe4\x03\n\rTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\x9f\x01\n\x0eTradesResponse\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xfa\x03\n\x0f\x44\x65rivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12W\n\x0eposition_delta\x18\x06 \x01(\x0b\x32\x30.injective_derivative_exchange_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\x12\x10\n\x03pnl\x18\x0e \x01(\tR\x03pnl\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"\xe6\x03\n\x0fTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\xa1\x01\n\x10TradesV2Response\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xea\x03\n\x13StreamTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\xa5\x01\n\x14StreamTradesResponse\x12H\n\x05trade\x18\x01 \x01(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xec\x03\n\x15StreamTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\xa7\x01\n\x16StreamTradesV2Response\x12H\n\x05trade\x18\x01 \x01(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x89\x01\n\x1bSubaccountOrdersListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xb2\x01\n\x1cSubaccountOrdersListResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective_derivative_exchange_rpc.DerivativeLimitOrderR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xce\x01\n\x1bSubaccountTradesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_type\x18\x03 \x01(\tR\rexecutionType\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\"j\n\x1cSubaccountTradesListResponse\x12J\n\x06trades\x18\x01 \x03(\x0b\x32\x32.injective_derivative_exchange_rpc.DerivativeTradeR\x06trades\"\xfc\x03\n\x14OrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0border_types\x18\x05 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x06 \x01(\tR\tdirection\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12%\n\x0eis_conditional\x18\t \x01(\tR\risConditional\x12\x1d\n\norder_type\x18\n \x01(\tR\torderType\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x0c \x03(\tR\x0e\x65xecutionTypes\x12\x1d\n\nmarket_ids\x18\r \x03(\tR\tmarketIds\x12\x19\n\x08trade_id\x18\x0e \x01(\tR\x07tradeId\x12.\n\x13\x61\x63tive_markets_only\x18\x0f \x01(\x08R\x11\x61\x63tiveMarketsOnly\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xad\x01\n\x15OrdersHistoryResponse\x12Q\n\x06orders\x18\x01 \x03(\x0b\x32\x39.injective_derivative_exchange_rpc.DerivativeOrderHistoryR\x06orders\x12\x41\n\x06paging\x18\x02 \x01(\x0b\x32).injective_derivative_exchange_rpc.PagingR\x06paging\"\xa9\x05\n\x16\x44\x65rivativeOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"\xdc\x01\n\x1aStreamOrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0border_types\x18\x03 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x14\n\x05state\x18\x05 \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x06 \x03(\tR\x0e\x65xecutionTypes\"\xb3\x01\n\x1bStreamOrdersHistoryResponse\x12O\n\x05order\x18\x01 \x01(\x0b\x32\x39.injective_derivative_exchange_rpc.DerivativeOrderHistoryR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"5\n\x13OpenInterestRequest\x12\x1e\n\x0bmarket_i_ds\x18\x01 \x03(\tR\tmarketIDs\"t\n\x14OpenInterestResponse\x12\\\n\x0eopen_interests\x18\x01 \x03(\x0b\x32\x35.injective_derivative_exchange_rpc.MarketOpenInterestR\ropenInterests\"V\n\x12MarketOpenInterest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\ropen_interest\x18\x02 \x01(\tR\x0copenInterest2\xd8\x1c\n\x1eInjectiveDerivativeExchangeRPC\x12p\n\x07Markets\x12\x31.injective_derivative_exchange_rpc.MarketsRequest\x1a\x32.injective_derivative_exchange_rpc.MarketsResponse\x12m\n\x06Market\x12\x30.injective_derivative_exchange_rpc.MarketRequest\x1a\x31.injective_derivative_exchange_rpc.MarketResponse\x12\x81\x01\n\x0cStreamMarket\x12\x36.injective_derivative_exchange_rpc.StreamMarketRequest\x1a\x37.injective_derivative_exchange_rpc.StreamMarketResponse0\x01\x12\x97\x01\n\x14\x42inaryOptionsMarkets\x12>.injective_derivative_exchange_rpc.BinaryOptionsMarketsRequest\x1a?.injective_derivative_exchange_rpc.BinaryOptionsMarketsResponse\x12\x94\x01\n\x13\x42inaryOptionsMarket\x12=.injective_derivative_exchange_rpc.BinaryOptionsMarketRequest\x1a>.injective_derivative_exchange_rpc.BinaryOptionsMarketResponse\x12|\n\x0bOrderbookV2\x12\x35.injective_derivative_exchange_rpc.OrderbookV2Request\x1a\x36.injective_derivative_exchange_rpc.OrderbookV2Response\x12\x7f\n\x0cOrderbooksV2\x12\x36.injective_derivative_exchange_rpc.OrderbooksV2Request\x1a\x37.injective_derivative_exchange_rpc.OrderbooksV2Response\x12\x90\x01\n\x11StreamOrderbookV2\x12;.injective_derivative_exchange_rpc.StreamOrderbookV2Request\x1a<.injective_derivative_exchange_rpc.StreamOrderbookV2Response0\x01\x12\x9c\x01\n\x15StreamOrderbookUpdate\x12?.injective_derivative_exchange_rpc.StreamOrderbookUpdateRequest\x1a@.injective_derivative_exchange_rpc.StreamOrderbookUpdateResponse0\x01\x12m\n\x06Orders\x12\x30.injective_derivative_exchange_rpc.OrdersRequest\x1a\x31.injective_derivative_exchange_rpc.OrdersResponse\x12v\n\tPositions\x12\x33.injective_derivative_exchange_rpc.PositionsRequest\x1a\x34.injective_derivative_exchange_rpc.PositionsResponse\x12|\n\x0bPositionsV2\x12\x35.injective_derivative_exchange_rpc.PositionsV2Request\x1a\x36.injective_derivative_exchange_rpc.PositionsV2Response\x12\x94\x01\n\x13LiquidablePositions\x12=.injective_derivative_exchange_rpc.LiquidablePositionsRequest\x1a>.injective_derivative_exchange_rpc.LiquidablePositionsResponse\x12\x88\x01\n\x0f\x46undingPayments\x12\x39.injective_derivative_exchange_rpc.FundingPaymentsRequest\x1a:.injective_derivative_exchange_rpc.FundingPaymentsResponse\x12\x7f\n\x0c\x46undingRates\x12\x36.injective_derivative_exchange_rpc.FundingRatesRequest\x1a\x37.injective_derivative_exchange_rpc.FundingRatesResponse\x12\x8a\x01\n\x0fStreamPositions\x12\x39.injective_derivative_exchange_rpc.StreamPositionsRequest\x1a:.injective_derivative_exchange_rpc.StreamPositionsResponse0\x01\x12\x90\x01\n\x11StreamPositionsV2\x12;.injective_derivative_exchange_rpc.StreamPositionsV2Request\x1a<.injective_derivative_exchange_rpc.StreamPositionsV2Response0\x01\x12\x81\x01\n\x0cStreamOrders\x12\x36.injective_derivative_exchange_rpc.StreamOrdersRequest\x1a\x37.injective_derivative_exchange_rpc.StreamOrdersResponse0\x01\x12m\n\x06Trades\x12\x30.injective_derivative_exchange_rpc.TradesRequest\x1a\x31.injective_derivative_exchange_rpc.TradesResponse\x12s\n\x08TradesV2\x12\x32.injective_derivative_exchange_rpc.TradesV2Request\x1a\x33.injective_derivative_exchange_rpc.TradesV2Response\x12\x81\x01\n\x0cStreamTrades\x12\x36.injective_derivative_exchange_rpc.StreamTradesRequest\x1a\x37.injective_derivative_exchange_rpc.StreamTradesResponse0\x01\x12\x87\x01\n\x0eStreamTradesV2\x12\x38.injective_derivative_exchange_rpc.StreamTradesV2Request\x1a\x39.injective_derivative_exchange_rpc.StreamTradesV2Response0\x01\x12\x97\x01\n\x14SubaccountOrdersList\x12>.injective_derivative_exchange_rpc.SubaccountOrdersListRequest\x1a?.injective_derivative_exchange_rpc.SubaccountOrdersListResponse\x12\x97\x01\n\x14SubaccountTradesList\x12>.injective_derivative_exchange_rpc.SubaccountTradesListRequest\x1a?.injective_derivative_exchange_rpc.SubaccountTradesListResponse\x12\x82\x01\n\rOrdersHistory\x12\x37.injective_derivative_exchange_rpc.OrdersHistoryRequest\x1a\x38.injective_derivative_exchange_rpc.OrdersHistoryResponse\x12\x96\x01\n\x13StreamOrdersHistory\x12=.injective_derivative_exchange_rpc.StreamOrdersHistoryRequest\x1a>.injective_derivative_exchange_rpc.StreamOrdersHistoryResponse0\x01\x12\x7f\n\x0cOpenInterest\x12\x36.injective_derivative_exchange_rpc.OpenInterestRequest\x1a\x37.injective_derivative_exchange_rpc.OpenInterestResponseB\x8a\x02\n%com.injective_derivative_exchange_rpcB#InjectiveDerivativeExchangeRpcProtoP\x01Z$/injective_derivative_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x1eInjectiveDerivativeExchangeRpc\xca\x02\x1eInjectiveDerivativeExchangeRpc\xe2\x02*InjectiveDerivativeExchangeRpc\\GPBMetadata\xea\x02\x1eInjectiveDerivativeExchangeRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,141 +27,153 @@ _globals['_MARKETSRESPONSE']._serialized_start=216 _globals['_MARKETSRESPONSE']._serialized_end=316 _globals['_DERIVATIVEMARKETINFO']._serialized_start=319 - _globals['_DERIVATIVEMARKETINFO']._serialized_end=1451 - _globals['_TOKENMETA']._serialized_start=1454 - _globals['_TOKENMETA']._serialized_end=1614 - _globals['_PERPETUALMARKETINFO']._serialized_start=1617 - _globals['_PERPETUALMARKETINFO']._serialized_end=1840 - _globals['_PERPETUALMARKETFUNDING']._serialized_start=1843 - _globals['_PERPETUALMARKETFUNDING']._serialized_end=1996 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=1998 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=2117 - _globals['_MARKETREQUEST']._serialized_start=2119 - _globals['_MARKETREQUEST']._serialized_end=2163 - _globals['_MARKETRESPONSE']._serialized_start=2165 - _globals['_MARKETRESPONSE']._serialized_end=2262 - _globals['_STREAMMARKETREQUEST']._serialized_start=2264 - _globals['_STREAMMARKETREQUEST']._serialized_end=2316 - _globals['_STREAMMARKETRESPONSE']._serialized_start=2319 - _globals['_STREAMMARKETRESPONSE']._serialized_end=2491 - _globals['_BINARYOPTIONSMARKETSREQUEST']._serialized_start=2494 - _globals['_BINARYOPTIONSMARKETSREQUEST']._serialized_end=2635 - _globals['_BINARYOPTIONSMARKETSRESPONSE']._serialized_start=2638 - _globals['_BINARYOPTIONSMARKETSRESPONSE']._serialized_end=2821 - _globals['_BINARYOPTIONSMARKETINFO']._serialized_start=2824 - _globals['_BINARYOPTIONSMARKETINFO']._serialized_end=3625 - _globals['_PAGING']._serialized_start=3628 - _globals['_PAGING']._serialized_end=3762 - _globals['_BINARYOPTIONSMARKETREQUEST']._serialized_start=3764 - _globals['_BINARYOPTIONSMARKETREQUEST']._serialized_end=3821 - _globals['_BINARYOPTIONSMARKETRESPONSE']._serialized_start=3823 - _globals['_BINARYOPTIONSMARKETRESPONSE']._serialized_end=3936 - _globals['_ORDERBOOKV2REQUEST']._serialized_start=3938 - _globals['_ORDERBOOKV2REQUEST']._serialized_end=3987 - _globals['_ORDERBOOKV2RESPONSE']._serialized_start=3989 - _globals['_ORDERBOOKV2RESPONSE']._serialized_end=4103 - _globals['_DERIVATIVELIMITORDERBOOKV2']._serialized_start=4106 - _globals['_DERIVATIVELIMITORDERBOOKV2']._serialized_end=4328 - _globals['_PRICELEVEL']._serialized_start=4330 - _globals['_PRICELEVEL']._serialized_end=4422 - _globals['_ORDERBOOKSV2REQUEST']._serialized_start=4424 - _globals['_ORDERBOOKSV2REQUEST']._serialized_end=4476 - _globals['_ORDERBOOKSV2RESPONSE']._serialized_start=4478 - _globals['_ORDERBOOKSV2RESPONSE']._serialized_end=4601 - _globals['_SINGLEDERIVATIVELIMITORDERBOOKV2']._serialized_start=4604 - _globals['_SINGLEDERIVATIVELIMITORDERBOOKV2']._serialized_end=4760 - _globals['_STREAMORDERBOOKV2REQUEST']._serialized_start=4762 - _globals['_STREAMORDERBOOKV2REQUEST']._serialized_end=4819 - _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_start=4822 - _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_end=5040 - _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_start=5042 - _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_end=5103 - _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_start=5106 - _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_end=5349 - _globals['_ORDERBOOKLEVELUPDATES']._serialized_start=5352 - _globals['_ORDERBOOKLEVELUPDATES']._serialized_end=5611 - _globals['_PRICELEVELUPDATE']._serialized_start=5613 - _globals['_PRICELEVELUPDATE']._serialized_end=5740 - _globals['_ORDERSREQUEST']._serialized_start=5743 - _globals['_ORDERSREQUEST']._serialized_end=6200 - _globals['_ORDERSRESPONSE']._serialized_start=6203 - _globals['_ORDERSRESPONSE']._serialized_end=6367 - _globals['_DERIVATIVELIMITORDER']._serialized_start=6370 - _globals['_DERIVATIVELIMITORDER']._serialized_end=7097 - _globals['_POSITIONSREQUEST']._serialized_start=7100 - _globals['_POSITIONSREQUEST']._serialized_end=7448 - _globals['_POSITIONSRESPONSE']._serialized_start=7451 - _globals['_POSITIONSRESPONSE']._serialized_end=7622 - _globals['_DERIVATIVEPOSITION']._serialized_start=7625 - _globals['_DERIVATIVEPOSITION']._serialized_end=8057 - _globals['_POSITIONSV2REQUEST']._serialized_start=8060 - _globals['_POSITIONSV2REQUEST']._serialized_end=8410 - _globals['_POSITIONSV2RESPONSE']._serialized_start=8413 - _globals['_POSITIONSV2RESPONSE']._serialized_end=8588 - _globals['_DERIVATIVEPOSITIONV2']._serialized_start=8591 - _globals['_DERIVATIVEPOSITIONV2']._serialized_end=8947 - _globals['_LIQUIDABLEPOSITIONSREQUEST']._serialized_start=8949 - _globals['_LIQUIDABLEPOSITIONSREQUEST']._serialized_end=9048 - _globals['_LIQUIDABLEPOSITIONSRESPONSE']._serialized_start=9050 - _globals['_LIQUIDABLEPOSITIONSRESPONSE']._serialized_end=9164 - _globals['_FUNDINGPAYMENTSREQUEST']._serialized_start=9167 - _globals['_FUNDINGPAYMENTSREQUEST']._serialized_end=9357 - _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_start=9360 - _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_end=9531 - _globals['_FUNDINGPAYMENT']._serialized_start=9534 - _globals['_FUNDINGPAYMENT']._serialized_end=9670 - _globals['_FUNDINGRATESREQUEST']._serialized_start=9672 - _globals['_FUNDINGRATESREQUEST']._serialized_end=9791 - _globals['_FUNDINGRATESRESPONSE']._serialized_start=9794 - _globals['_FUNDINGRATESRESPONSE']._serialized_end=9968 - _globals['_FUNDINGRATE']._serialized_start=9970 - _globals['_FUNDINGRATE']._serialized_end=10062 - _globals['_STREAMPOSITIONSREQUEST']._serialized_start=10065 - _globals['_STREAMPOSITIONSREQUEST']._serialized_end=10266 - _globals['_STREAMPOSITIONSRESPONSE']._serialized_start=10269 - _globals['_STREAMPOSITIONSRESPONSE']._serialized_end=10407 - _globals['_STREAMORDERSREQUEST']._serialized_start=10410 - _globals['_STREAMORDERSREQUEST']._serialized_end=10873 - _globals['_STREAMORDERSRESPONSE']._serialized_start=10876 - _globals['_STREAMORDERSRESPONSE']._serialized_end=11046 - _globals['_TRADESREQUEST']._serialized_start=11049 - _globals['_TRADESREQUEST']._serialized_end=11496 - _globals['_TRADESRESPONSE']._serialized_start=11499 - _globals['_TRADESRESPONSE']._serialized_end=11658 - _globals['_DERIVATIVETRADE']._serialized_start=11661 - _globals['_DERIVATIVETRADE']._serialized_end=12149 - _globals['_POSITIONDELTA']._serialized_start=12152 - _globals['_POSITIONDELTA']._serialized_end=12339 - _globals['_TRADESV2REQUEST']._serialized_start=12342 - _globals['_TRADESV2REQUEST']._serialized_end=12791 - _globals['_TRADESV2RESPONSE']._serialized_start=12794 - _globals['_TRADESV2RESPONSE']._serialized_end=12955 - _globals['_STREAMTRADESREQUEST']._serialized_start=12958 - _globals['_STREAMTRADESREQUEST']._serialized_end=13411 - _globals['_STREAMTRADESRESPONSE']._serialized_start=13414 - _globals['_STREAMTRADESRESPONSE']._serialized_end=13579 - _globals['_STREAMTRADESV2REQUEST']._serialized_start=13582 - _globals['_STREAMTRADESV2REQUEST']._serialized_end=14037 - _globals['_STREAMTRADESV2RESPONSE']._serialized_start=14040 - _globals['_STREAMTRADESV2RESPONSE']._serialized_end=14207 - _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_start=14210 - _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_end=14347 - _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_start=14350 - _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_end=14528 - _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_start=14531 - _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_end=14737 - _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_start=14739 - _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_end=14845 - _globals['_ORDERSHISTORYREQUEST']._serialized_start=14848 - _globals['_ORDERSHISTORYREQUEST']._serialized_end=15356 - _globals['_ORDERSHISTORYRESPONSE']._serialized_start=15359 - _globals['_ORDERSHISTORYRESPONSE']._serialized_end=15532 - _globals['_DERIVATIVEORDERHISTORY']._serialized_start=15535 - _globals['_DERIVATIVEORDERHISTORY']._serialized_end=16216 - _globals['_STREAMORDERSHISTORYREQUEST']._serialized_start=16219 - _globals['_STREAMORDERSHISTORYREQUEST']._serialized_end=16439 - _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_start=16442 - _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_end=16621 - _globals['_INJECTIVEDERIVATIVEEXCHANGERPC']._serialized_start=16624 - _globals['_INJECTIVEDERIVATIVEEXCHANGERPC']._serialized_end=20020 + _globals['_DERIVATIVEMARKETINFO']._serialized_end=1595 + _globals['_TOKENMETA']._serialized_start=1598 + _globals['_TOKENMETA']._serialized_end=1758 + _globals['_PERPETUALMARKETINFO']._serialized_start=1761 + _globals['_PERPETUALMARKETINFO']._serialized_end=1984 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=1987 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=2184 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=2186 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=2305 + _globals['_OPENNOTIONALCAP']._serialized_start=2307 + _globals['_OPENNOTIONALCAP']._serialized_end=2342 + _globals['_MARKETREQUEST']._serialized_start=2344 + _globals['_MARKETREQUEST']._serialized_end=2388 + _globals['_MARKETRESPONSE']._serialized_start=2390 + _globals['_MARKETRESPONSE']._serialized_end=2487 + _globals['_STREAMMARKETREQUEST']._serialized_start=2489 + _globals['_STREAMMARKETREQUEST']._serialized_end=2541 + _globals['_STREAMMARKETRESPONSE']._serialized_start=2544 + _globals['_STREAMMARKETRESPONSE']._serialized_end=2716 + _globals['_BINARYOPTIONSMARKETSREQUEST']._serialized_start=2719 + _globals['_BINARYOPTIONSMARKETSREQUEST']._serialized_end=2860 + _globals['_BINARYOPTIONSMARKETSRESPONSE']._serialized_start=2863 + _globals['_BINARYOPTIONSMARKETSRESPONSE']._serialized_end=3046 + _globals['_BINARYOPTIONSMARKETINFO']._serialized_start=3049 + _globals['_BINARYOPTIONSMARKETINFO']._serialized_end=3850 + _globals['_PAGING']._serialized_start=3853 + _globals['_PAGING']._serialized_end=3987 + _globals['_BINARYOPTIONSMARKETREQUEST']._serialized_start=3989 + _globals['_BINARYOPTIONSMARKETREQUEST']._serialized_end=4046 + _globals['_BINARYOPTIONSMARKETRESPONSE']._serialized_start=4048 + _globals['_BINARYOPTIONSMARKETRESPONSE']._serialized_end=4161 + _globals['_ORDERBOOKV2REQUEST']._serialized_start=4163 + _globals['_ORDERBOOKV2REQUEST']._serialized_end=4234 + _globals['_ORDERBOOKV2RESPONSE']._serialized_start=4236 + _globals['_ORDERBOOKV2RESPONSE']._serialized_end=4350 + _globals['_DERIVATIVELIMITORDERBOOKV2']._serialized_start=4353 + _globals['_DERIVATIVELIMITORDERBOOKV2']._serialized_end=4599 + _globals['_PRICELEVEL']._serialized_start=4601 + _globals['_PRICELEVEL']._serialized_end=4693 + _globals['_ORDERBOOKSV2REQUEST']._serialized_start=4695 + _globals['_ORDERBOOKSV2REQUEST']._serialized_end=4769 + _globals['_ORDERBOOKSV2RESPONSE']._serialized_start=4771 + _globals['_ORDERBOOKSV2RESPONSE']._serialized_end=4894 + _globals['_SINGLEDERIVATIVELIMITORDERBOOKV2']._serialized_start=4897 + _globals['_SINGLEDERIVATIVELIMITORDERBOOKV2']._serialized_end=5053 + _globals['_STREAMORDERBOOKV2REQUEST']._serialized_start=5055 + _globals['_STREAMORDERBOOKV2REQUEST']._serialized_end=5112 + _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_start=5115 + _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_end=5333 + _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_start=5335 + _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_end=5396 + _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_start=5399 + _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_end=5642 + _globals['_ORDERBOOKLEVELUPDATES']._serialized_start=5645 + _globals['_ORDERBOOKLEVELUPDATES']._serialized_end=5904 + _globals['_PRICELEVELUPDATE']._serialized_start=5906 + _globals['_PRICELEVELUPDATE']._serialized_end=6033 + _globals['_ORDERSREQUEST']._serialized_start=6036 + _globals['_ORDERSREQUEST']._serialized_end=6493 + _globals['_ORDERSRESPONSE']._serialized_start=6496 + _globals['_ORDERSRESPONSE']._serialized_end=6660 + _globals['_DERIVATIVELIMITORDER']._serialized_start=6663 + _globals['_DERIVATIVELIMITORDER']._serialized_end=7431 + _globals['_POSITIONSREQUEST']._serialized_start=7434 + _globals['_POSITIONSREQUEST']._serialized_end=7782 + _globals['_POSITIONSRESPONSE']._serialized_start=7785 + _globals['_POSITIONSRESPONSE']._serialized_end=7956 + _globals['_DERIVATIVEPOSITION']._serialized_start=7959 + _globals['_DERIVATIVEPOSITION']._serialized_end=8594 + _globals['_POSITIONSV2REQUEST']._serialized_start=8597 + _globals['_POSITIONSV2REQUEST']._serialized_end=8947 + _globals['_POSITIONSV2RESPONSE']._serialized_start=8950 + _globals['_POSITIONSV2RESPONSE']._serialized_end=9125 + _globals['_DERIVATIVEPOSITIONV2']._serialized_start=9128 + _globals['_DERIVATIVEPOSITIONV2']._serialized_end=9880 + _globals['_LIQUIDABLEPOSITIONSREQUEST']._serialized_start=9882 + _globals['_LIQUIDABLEPOSITIONSREQUEST']._serialized_end=9981 + _globals['_LIQUIDABLEPOSITIONSRESPONSE']._serialized_start=9983 + _globals['_LIQUIDABLEPOSITIONSRESPONSE']._serialized_end=10097 + _globals['_FUNDINGPAYMENTSREQUEST']._serialized_start=10100 + _globals['_FUNDINGPAYMENTSREQUEST']._serialized_end=10290 + _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_start=10293 + _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_end=10464 + _globals['_FUNDINGPAYMENT']._serialized_start=10467 + _globals['_FUNDINGPAYMENT']._serialized_end=10603 + _globals['_FUNDINGRATESREQUEST']._serialized_start=10605 + _globals['_FUNDINGRATESREQUEST']._serialized_end=10724 + _globals['_FUNDINGRATESRESPONSE']._serialized_start=10727 + _globals['_FUNDINGRATESRESPONSE']._serialized_end=10901 + _globals['_FUNDINGRATE']._serialized_start=10903 + _globals['_FUNDINGRATE']._serialized_end=10995 + _globals['_STREAMPOSITIONSREQUEST']._serialized_start=10998 + _globals['_STREAMPOSITIONSREQUEST']._serialized_end=11199 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_start=11202 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_end=11340 + _globals['_STREAMPOSITIONSV2REQUEST']._serialized_start=11343 + _globals['_STREAMPOSITIONSV2REQUEST']._serialized_end=11546 + _globals['_STREAMPOSITIONSV2RESPONSE']._serialized_start=11549 + _globals['_STREAMPOSITIONSV2RESPONSE']._serialized_end=11730 + _globals['_STREAMORDERSREQUEST']._serialized_start=11733 + _globals['_STREAMORDERSREQUEST']._serialized_end=12196 + _globals['_STREAMORDERSRESPONSE']._serialized_start=12199 + _globals['_STREAMORDERSRESPONSE']._serialized_end=12369 + _globals['_TRADESREQUEST']._serialized_start=12372 + _globals['_TRADESREQUEST']._serialized_end=12856 + _globals['_TRADESRESPONSE']._serialized_start=12859 + _globals['_TRADESRESPONSE']._serialized_end=13018 + _globals['_DERIVATIVETRADE']._serialized_start=13021 + _globals['_DERIVATIVETRADE']._serialized_end=13527 + _globals['_POSITIONDELTA']._serialized_start=13530 + _globals['_POSITIONDELTA']._serialized_end=13717 + _globals['_TRADESV2REQUEST']._serialized_start=13720 + _globals['_TRADESV2REQUEST']._serialized_end=14206 + _globals['_TRADESV2RESPONSE']._serialized_start=14209 + _globals['_TRADESV2RESPONSE']._serialized_end=14370 + _globals['_STREAMTRADESREQUEST']._serialized_start=14373 + _globals['_STREAMTRADESREQUEST']._serialized_end=14863 + _globals['_STREAMTRADESRESPONSE']._serialized_start=14866 + _globals['_STREAMTRADESRESPONSE']._serialized_end=15031 + _globals['_STREAMTRADESV2REQUEST']._serialized_start=15034 + _globals['_STREAMTRADESV2REQUEST']._serialized_end=15526 + _globals['_STREAMTRADESV2RESPONSE']._serialized_start=15529 + _globals['_STREAMTRADESV2RESPONSE']._serialized_end=15696 + _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_start=15699 + _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_end=15836 + _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_start=15839 + _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_end=16017 + _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_start=16020 + _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_end=16226 + _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_start=16228 + _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_end=16334 + _globals['_ORDERSHISTORYREQUEST']._serialized_start=16337 + _globals['_ORDERSHISTORYREQUEST']._serialized_end=16845 + _globals['_ORDERSHISTORYRESPONSE']._serialized_start=16848 + _globals['_ORDERSHISTORYRESPONSE']._serialized_end=17021 + _globals['_DERIVATIVEORDERHISTORY']._serialized_start=17024 + _globals['_DERIVATIVEORDERHISTORY']._serialized_end=17705 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_start=17708 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_end=17928 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_start=17931 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_end=18110 + _globals['_OPENINTERESTREQUEST']._serialized_start=18112 + _globals['_OPENINTERESTREQUEST']._serialized_end=18165 + _globals['_OPENINTERESTRESPONSE']._serialized_start=18167 + _globals['_OPENINTERESTRESPONSE']._serialized_end=18283 + _globals['_MARKETOPENINTEREST']._serialized_start=18285 + _globals['_MARKETOPENINTEREST']._serialized_end=18371 + _globals['_INJECTIVEDERIVATIVEEXCHANGERPC']._serialized_start=18374 + _globals['_INJECTIVEDERIVATIVEEXCHANGERPC']._serialized_end=22046 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2_grpc.py index fd5d2b43..e3d0a809 100644 --- a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2_grpc.py @@ -96,6 +96,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.SerializeToString, response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.FromString, _registered_method=True) + self.StreamPositionsV2 = channel.unary_stream( + '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositionsV2', + request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Response.FromString, + _registered_method=True) self.StreamOrders = channel.unary_stream( '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders', request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString, @@ -141,6 +146,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.FromString, _registered_method=True) + self.OpenInterest = channel.unary_unary( + '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OpenInterest', + request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestRequest.SerializeToString, + response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestResponse.FromString, + _registered_method=True) class InjectiveDerivativeExchangeRPCServicer(object): @@ -255,7 +265,15 @@ def FundingRates(self, request, context): raise NotImplementedError('Method not implemented!') def StreamPositions(self, request, context): - """StreamPositions streams derivatives position updates. + """StreamPositions streams derivatives position updates. This is the legacy + version of the streamPositionsV2 endpoint. Use streamPositionsV2 instead. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamPositionsV2(self, request, context): + """StreamPositionsV2 streams derivatives position updates. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -325,6 +343,13 @@ def StreamOrdersHistory(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def OpenInterest(self, request, context): + """OpenInterest gets the open interest for a derivative market. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveDerivativeExchangeRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -408,6 +433,11 @@ def add_InjectiveDerivativeExchangeRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.FromString, response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.SerializeToString, ), + 'StreamPositionsV2': grpc.unary_stream_rpc_method_handler( + servicer.StreamPositionsV2, + request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Request.FromString, + response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Response.SerializeToString, + ), 'StreamOrders': grpc.unary_stream_rpc_method_handler( servicer.StreamOrders, request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.FromString, @@ -453,6 +483,11 @@ def add_InjectiveDerivativeExchangeRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.FromString, response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.SerializeToString, ), + 'OpenInterest': grpc.unary_unary_rpc_method_handler( + servicer.OpenInterest, + request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestRequest.FromString, + response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC', rpc_method_handlers) @@ -898,6 +933,33 @@ def StreamPositions(request, metadata, _registered_method=True) + @staticmethod + def StreamPositionsV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositionsV2', + exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Request.SerializeToString, + exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamOrders(request, target, @@ -1140,3 +1202,30 @@ def StreamOrdersHistory(request, timeout, metadata, _registered_method=True) + + @staticmethod + def OpenInterest(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OpenInterest', + exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestRequest.SerializeToString, + exchange_dot_injective__derivative__exchange__rpc__pb2.OpenInterestResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_exchange_rpc_pb2.py b/pyinjective/proto/exchange/injective_exchange_rpc_pb2.py index 8d515faa..e5f7f12e 100644 --- a/pyinjective/proto/exchange/injective_exchange_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_exchange_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_exchange_rpc.proto\x12\x16injective_exchange_rpc\"\"\n\x0cGetTxRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\"\xd3\x01\n\rGetTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\x9d\x02\n\x10PrepareTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12%\n\x0esigner_address\x18\x02 \x01(\tR\rsignerAddress\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x12\n\x04memo\x18\x04 \x01(\tR\x04memo\x12%\n\x0etimeout_height\x18\x05 \x01(\x04R\rtimeoutHeight\x12\x35\n\x03\x66\x65\x65\x18\x06 \x01(\x0b\x32#.injective_exchange_rpc.CosmosTxFeeR\x03\x66\x65\x65\x12\x12\n\x04msgs\x18\x07 \x03(\x0cR\x04msgs\x12%\n\x0e\x65ip712_wrapper\x18\x08 \x01(\tR\reip712Wrapper\"|\n\x0b\x43osmosTxFee\x12\x38\n\x05price\x18\x01 \x03(\x0b\x32\".injective_exchange_rpc.CosmosCoinR\x05price\x12\x10\n\x03gas\x18\x02 \x01(\x04R\x03gas\x12!\n\x0c\x64\x65legate_fee\x18\x03 \x01(\x08R\x0b\x64\x65legateFee\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xc3\x01\n\x11PrepareTxResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12\x1b\n\tsign_mode\x18\x03 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x04 \x01(\tR\npubKeyType\x12\x1b\n\tfee_payer\x18\x05 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x06 \x01(\tR\x0b\x66\x65\x65PayerSig\"\x85\x02\n\x12\x42roadcastTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12\x0e\n\x02tx\x18\x02 \x01(\x0cR\x02tx\x12\x12\n\x04msgs\x18\x03 \x03(\x0cR\x04msgs\x12=\n\x07pub_key\x18\x04 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x06pubKey\x12\x1c\n\tsignature\x18\x05 \x01(\tR\tsignature\x12\x1b\n\tfee_payer\x18\x06 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x07 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x12\n\x04mode\x18\x08 \x01(\tR\x04mode\"4\n\x0c\x43osmosPubKey\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\"\xd9\x01\n\x13\x42roadcastTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\xe0\x01\n\x16PrepareCosmosTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12%\n\x0esender_address\x18\x02 \x01(\tR\rsenderAddress\x12\x12\n\x04memo\x18\x03 \x01(\tR\x04memo\x12%\n\x0etimeout_height\x18\x04 \x01(\x04R\rtimeoutHeight\x12\x35\n\x03\x66\x65\x65\x18\x05 \x01(\x0b\x32#.injective_exchange_rpc.CosmosTxFeeR\x03\x66\x65\x65\x12\x12\n\x04msgs\x18\x06 \x03(\x0cR\x04msgs\"\xfa\x01\n\x17PrepareCosmosTxResponse\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12\x1b\n\tsign_mode\x18\x02 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x03 \x01(\tR\npubKeyType\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x05 \x01(\tR\x0b\x66\x65\x65PayerSig\x12O\n\x11\x66\x65\x65_payer_pub_key\x18\x06 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\"\xae\x01\n\x18\x42roadcastCosmosTxRequest\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12=\n\x07pub_key\x18\x02 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x06pubKey\x12\x1c\n\tsignature\x18\x03 \x01(\tR\tsignature\x12%\n\x0esender_address\x18\x04 \x01(\tR\rsenderAddress\"\xdf\x01\n\x19\x42roadcastCosmosTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\x14\n\x12GetFeePayerRequest\"\x83\x01\n\x13GetFeePayerResponse\x12\x1b\n\tfee_payer\x18\x01 \x01(\tR\x08\x66\x65\x65Payer\x12O\n\x11\x66\x65\x65_payer_pub_key\x18\x02 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey2\x8c\x05\n\x14InjectiveExchangeRPC\x12T\n\x05GetTx\x12$.injective_exchange_rpc.GetTxRequest\x1a%.injective_exchange_rpc.GetTxResponse\x12`\n\tPrepareTx\x12(.injective_exchange_rpc.PrepareTxRequest\x1a).injective_exchange_rpc.PrepareTxResponse\x12\x66\n\x0b\x42roadcastTx\x12*.injective_exchange_rpc.BroadcastTxRequest\x1a+.injective_exchange_rpc.BroadcastTxResponse\x12r\n\x0fPrepareCosmosTx\x12..injective_exchange_rpc.PrepareCosmosTxRequest\x1a/.injective_exchange_rpc.PrepareCosmosTxResponse\x12x\n\x11\x42roadcastCosmosTx\x12\x30.injective_exchange_rpc.BroadcastCosmosTxRequest\x1a\x31.injective_exchange_rpc.BroadcastCosmosTxResponse\x12\x66\n\x0bGetFeePayer\x12*.injective_exchange_rpc.GetFeePayerRequest\x1a+.injective_exchange_rpc.GetFeePayerResponseB\xc2\x01\n\x1a\x63om.injective_exchange_rpcB\x19InjectiveExchangeRpcProtoP\x01Z\x19/injective_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveExchangeRpc\xca\x02\x14InjectiveExchangeRpc\xe2\x02 InjectiveExchangeRpc\\GPBMetadata\xea\x02\x14InjectiveExchangeRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_exchange_rpc.proto\x12\x16injective_exchange_rpc\"\"\n\x0cGetTxRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\"\xd3\x01\n\rGetTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\x9d\x02\n\x10PrepareTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12%\n\x0esigner_address\x18\x02 \x01(\tR\rsignerAddress\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x12\n\x04memo\x18\x04 \x01(\tR\x04memo\x12%\n\x0etimeout_height\x18\x05 \x01(\x04R\rtimeoutHeight\x12\x35\n\x03\x66\x65\x65\x18\x06 \x01(\x0b\x32#.injective_exchange_rpc.CosmosTxFeeR\x03\x66\x65\x65\x12\x12\n\x04msgs\x18\x07 \x03(\x0cR\x04msgs\x12%\n\x0e\x65ip712_wrapper\x18\x08 \x01(\tR\reip712Wrapper\"|\n\x0b\x43osmosTxFee\x12\x38\n\x05price\x18\x01 \x03(\x0b\x32\".injective_exchange_rpc.CosmosCoinR\x05price\x12\x10\n\x03gas\x18\x02 \x01(\x04R\x03gas\x12!\n\x0c\x64\x65legate_fee\x18\x03 \x01(\x08R\x0b\x64\x65legateFee\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xc3\x01\n\x11PrepareTxResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12\x1b\n\tsign_mode\x18\x03 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x04 \x01(\tR\npubKeyType\x12\x1b\n\tfee_payer\x18\x05 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x06 \x01(\tR\x0b\x66\x65\x65PayerSig\"\xc8\x02\n\x14PrepareEip712Request\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12%\n\x0esigner_address\x18\x02 \x01(\tR\rsignerAddress\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12%\n\x0e\x61\x63\x63ount_number\x18\x04 \x01(\x04R\raccountNumber\x12\x12\n\x04memo\x18\x05 \x01(\tR\x04memo\x12%\n\x0etimeout_height\x18\x06 \x01(\x04R\rtimeoutHeight\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\x0b\x32#.injective_exchange_rpc.CosmosTxFeeR\x03\x66\x65\x65\x12\x12\n\x04msgs\x18\x08 \x03(\x0cR\x04msgs\x12%\n\x0e\x65ip712_wrapper\x18\t \x01(\tR\reip712Wrapper\"+\n\x15PrepareEip712Response\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\"\x85\x02\n\x12\x42roadcastTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12\x0e\n\x02tx\x18\x02 \x01(\x0cR\x02tx\x12\x12\n\x04msgs\x18\x03 \x03(\x0cR\x04msgs\x12=\n\x07pub_key\x18\x04 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x06pubKey\x12\x1c\n\tsignature\x18\x05 \x01(\tR\tsignature\x12\x1b\n\tfee_payer\x18\x06 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x07 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x12\n\x04mode\x18\x08 \x01(\tR\x04mode\"4\n\x0c\x43osmosPubKey\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\"\xd9\x01\n\x13\x42roadcastTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\xe0\x01\n\x16PrepareCosmosTxRequest\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\x04R\x07\x63hainId\x12%\n\x0esender_address\x18\x02 \x01(\tR\rsenderAddress\x12\x12\n\x04memo\x18\x03 \x01(\tR\x04memo\x12%\n\x0etimeout_height\x18\x04 \x01(\x04R\rtimeoutHeight\x12\x35\n\x03\x66\x65\x65\x18\x05 \x01(\x0b\x32#.injective_exchange_rpc.CosmosTxFeeR\x03\x66\x65\x65\x12\x12\n\x04msgs\x18\x06 \x03(\x0cR\x04msgs\"\xfa\x01\n\x17PrepareCosmosTxResponse\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12\x1b\n\tsign_mode\x18\x02 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x03 \x01(\tR\npubKeyType\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\"\n\rfee_payer_sig\x18\x05 \x01(\tR\x0b\x66\x65\x65PayerSig\x12O\n\x11\x66\x65\x65_payer_pub_key\x18\x06 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\"\xae\x01\n\x18\x42roadcastCosmosTxRequest\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12=\n\x07pub_key\x18\x02 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x06pubKey\x12\x1c\n\tsignature\x18\x03 \x01(\tR\tsignature\x12%\n\x0esender_address\x18\x04 \x01(\tR\rsenderAddress\"\xdf\x01\n\x19\x42roadcastCosmosTxResponse\x12\x17\n\x07tx_hash\x18\x01 \x01(\tR\x06txHash\x12\x16\n\x06height\x18\x02 \x01(\x12R\x06height\x12\x14\n\x05index\x18\x03 \x01(\rR\x05index\x12\x1c\n\tcodespace\x18\x04 \x01(\tR\tcodespace\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x17\n\x07raw_log\x18\x07 \x01(\tR\x06rawLog\x12\x1c\n\ttimestamp\x18\x08 \x01(\tR\ttimestamp\"\x14\n\x12GetFeePayerRequest\"\x83\x01\n\x13GetFeePayerResponse\x12\x1b\n\tfee_payer\x18\x01 \x01(\tR\x08\x66\x65\x65Payer\x12O\n\x11\x66\x65\x65_payer_pub_key\x18\x02 \x01(\x0b\x32$.injective_exchange_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\"A\n\x16PrepareFeeGrantRequest\x12\'\n\x0fgrantee_address\x18\x01 \x01(\tR\x0egranteeAddress\"\x94\x02\n\x17PrepareFeeGrantResponse\x12\'\n\x0fgranter_address\x18\x01 \x01(\tR\x0egranterAddress\x12\'\n\x0fgrantee_address\x18\x02 \x01(\tR\x0egranteeAddress\x12\x17\n\x07tx_hash\x18\x03 \x01(\tR\x06txHash\x12\x1e\n\nexpiration\x18\x04 \x01(\x04R\nexpiration\x12\x43\n\x0bspend_limit\x18\x05 \x01(\x0b\x32\".injective_exchange_rpc.CosmosCoinR\nspendLimit\x12)\n\x10\x61llowed_messages\x18\x06 \x03(\tR\x0f\x61llowedMessages2\xee\x06\n\x14InjectiveExchangeRPC\x12T\n\x05GetTx\x12$.injective_exchange_rpc.GetTxRequest\x1a%.injective_exchange_rpc.GetTxResponse\x12`\n\tPrepareTx\x12(.injective_exchange_rpc.PrepareTxRequest\x1a).injective_exchange_rpc.PrepareTxResponse\x12l\n\rPrepareEip712\x12,.injective_exchange_rpc.PrepareEip712Request\x1a-.injective_exchange_rpc.PrepareEip712Response\x12\x66\n\x0b\x42roadcastTx\x12*.injective_exchange_rpc.BroadcastTxRequest\x1a+.injective_exchange_rpc.BroadcastTxResponse\x12r\n\x0fPrepareCosmosTx\x12..injective_exchange_rpc.PrepareCosmosTxRequest\x1a/.injective_exchange_rpc.PrepareCosmosTxResponse\x12x\n\x11\x42roadcastCosmosTx\x12\x30.injective_exchange_rpc.BroadcastCosmosTxRequest\x1a\x31.injective_exchange_rpc.BroadcastCosmosTxResponse\x12\x66\n\x0bGetFeePayer\x12*.injective_exchange_rpc.GetFeePayerRequest\x1a+.injective_exchange_rpc.GetFeePayerResponse\x12r\n\x0fPrepareFeeGrant\x12..injective_exchange_rpc.PrepareFeeGrantRequest\x1a/.injective_exchange_rpc.PrepareFeeGrantResponseB\xc2\x01\n\x1a\x63om.injective_exchange_rpcB\x19InjectiveExchangeRpcProtoP\x01Z\x19/injective_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveExchangeRpc\xca\x02\x14InjectiveExchangeRpc\xe2\x02 InjectiveExchangeRpc\\GPBMetadata\xea\x02\x14InjectiveExchangeRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,24 +34,32 @@ _globals['_COSMOSCOIN']._serialized_end=787 _globals['_PREPARETXRESPONSE']._serialized_start=790 _globals['_PREPARETXRESPONSE']._serialized_end=985 - _globals['_BROADCASTTXREQUEST']._serialized_start=988 - _globals['_BROADCASTTXREQUEST']._serialized_end=1249 - _globals['_COSMOSPUBKEY']._serialized_start=1251 - _globals['_COSMOSPUBKEY']._serialized_end=1303 - _globals['_BROADCASTTXRESPONSE']._serialized_start=1306 - _globals['_BROADCASTTXRESPONSE']._serialized_end=1523 - _globals['_PREPARECOSMOSTXREQUEST']._serialized_start=1526 - _globals['_PREPARECOSMOSTXREQUEST']._serialized_end=1750 - _globals['_PREPARECOSMOSTXRESPONSE']._serialized_start=1753 - _globals['_PREPARECOSMOSTXRESPONSE']._serialized_end=2003 - _globals['_BROADCASTCOSMOSTXREQUEST']._serialized_start=2006 - _globals['_BROADCASTCOSMOSTXREQUEST']._serialized_end=2180 - _globals['_BROADCASTCOSMOSTXRESPONSE']._serialized_start=2183 - _globals['_BROADCASTCOSMOSTXRESPONSE']._serialized_end=2406 - _globals['_GETFEEPAYERREQUEST']._serialized_start=2408 - _globals['_GETFEEPAYERREQUEST']._serialized_end=2428 - _globals['_GETFEEPAYERRESPONSE']._serialized_start=2431 - _globals['_GETFEEPAYERRESPONSE']._serialized_end=2562 - _globals['_INJECTIVEEXCHANGERPC']._serialized_start=2565 - _globals['_INJECTIVEEXCHANGERPC']._serialized_end=3217 + _globals['_PREPAREEIP712REQUEST']._serialized_start=988 + _globals['_PREPAREEIP712REQUEST']._serialized_end=1316 + _globals['_PREPAREEIP712RESPONSE']._serialized_start=1318 + _globals['_PREPAREEIP712RESPONSE']._serialized_end=1361 + _globals['_BROADCASTTXREQUEST']._serialized_start=1364 + _globals['_BROADCASTTXREQUEST']._serialized_end=1625 + _globals['_COSMOSPUBKEY']._serialized_start=1627 + _globals['_COSMOSPUBKEY']._serialized_end=1679 + _globals['_BROADCASTTXRESPONSE']._serialized_start=1682 + _globals['_BROADCASTTXRESPONSE']._serialized_end=1899 + _globals['_PREPARECOSMOSTXREQUEST']._serialized_start=1902 + _globals['_PREPARECOSMOSTXREQUEST']._serialized_end=2126 + _globals['_PREPARECOSMOSTXRESPONSE']._serialized_start=2129 + _globals['_PREPARECOSMOSTXRESPONSE']._serialized_end=2379 + _globals['_BROADCASTCOSMOSTXREQUEST']._serialized_start=2382 + _globals['_BROADCASTCOSMOSTXREQUEST']._serialized_end=2556 + _globals['_BROADCASTCOSMOSTXRESPONSE']._serialized_start=2559 + _globals['_BROADCASTCOSMOSTXRESPONSE']._serialized_end=2782 + _globals['_GETFEEPAYERREQUEST']._serialized_start=2784 + _globals['_GETFEEPAYERREQUEST']._serialized_end=2804 + _globals['_GETFEEPAYERRESPONSE']._serialized_start=2807 + _globals['_GETFEEPAYERRESPONSE']._serialized_end=2938 + _globals['_PREPAREFEEGRANTREQUEST']._serialized_start=2940 + _globals['_PREPAREFEEGRANTREQUEST']._serialized_end=3005 + _globals['_PREPAREFEEGRANTRESPONSE']._serialized_start=3008 + _globals['_PREPAREFEEGRANTRESPONSE']._serialized_end=3284 + _globals['_INJECTIVEEXCHANGERPC']._serialized_start=3287 + _globals['_INJECTIVEEXCHANGERPC']._serialized_end=4165 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_exchange_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_exchange_rpc_pb2_grpc.py index cddca5ba..902d466e 100644 --- a/pyinjective/proto/exchange/injective_exchange_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_exchange_rpc_pb2_grpc.py @@ -25,6 +25,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxRequest.SerializeToString, response_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxResponse.FromString, _registered_method=True) + self.PrepareEip712 = channel.unary_unary( + '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareEip712', + request_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Request.SerializeToString, + response_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Response.FromString, + _registered_method=True) self.BroadcastTx = channel.unary_unary( '/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx', request_serializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxRequest.SerializeToString, @@ -45,6 +50,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerRequest.SerializeToString, response_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerResponse.FromString, _registered_method=True) + self.PrepareFeeGrant = channel.unary_unary( + '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareFeeGrant', + request_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantRequest.SerializeToString, + response_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantResponse.FromString, + _registered_method=True) class InjectiveExchangeRPCServicer(object): @@ -65,6 +75,13 @@ def PrepareTx(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def PrepareEip712(self, request, context): + """prepareEip712 generates EIP712 for an Injective Message + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def BroadcastTx(self, request, context): """BroadcastTx broadcasts a signed Web3 transaction """ @@ -93,6 +110,13 @@ def GetFeePayer(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def PrepareFeeGrant(self, request, context): + """PrepareFeeGrant creates or refreshes a feegrant for a grantee address + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveExchangeRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -106,6 +130,11 @@ def add_InjectiveExchangeRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxRequest.FromString, response_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxResponse.SerializeToString, ), + 'PrepareEip712': grpc.unary_unary_rpc_method_handler( + servicer.PrepareEip712, + request_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Request.FromString, + response_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Response.SerializeToString, + ), 'BroadcastTx': grpc.unary_unary_rpc_method_handler( servicer.BroadcastTx, request_deserializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxRequest.FromString, @@ -126,6 +155,11 @@ def add_InjectiveExchangeRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerRequest.FromString, response_serializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerResponse.SerializeToString, ), + 'PrepareFeeGrant': grpc.unary_unary_rpc_method_handler( + servicer.PrepareFeeGrant, + request_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantRequest.FromString, + response_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_exchange_rpc.InjectiveExchangeRPC', rpc_method_handlers) @@ -192,6 +226,33 @@ def PrepareTx(request, metadata, _registered_method=True) + @staticmethod + def PrepareEip712(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareEip712', + exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Request.SerializeToString, + exchange_dot_injective__exchange__rpc__pb2.PrepareEip712Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def BroadcastTx(request, target, @@ -299,3 +360,30 @@ def GetFeePayer(request, timeout, metadata, _registered_method=True) + + @staticmethod + def PrepareFeeGrant(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareFeeGrant', + exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantRequest.SerializeToString, + exchange_dot_injective__exchange__rpc__pb2.PrepareFeeGrantResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_explorer_rpc_pb2.py b/pyinjective/proto/exchange/injective_explorer_rpc_pb2.py index 7066998d..0aac7632 100644 --- a/pyinjective/proto/exchange/injective_explorer_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_explorer_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_explorer_rpc.proto\x12\x16injective_explorer_rpc\"\xc4\x02\n\x14GetAccountTxsRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06\x62\x65\x66ore\x18\x02 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x03 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x12\n\x04type\x18\x06 \x01(\tR\x04type\x12\x16\n\x06module\x18\x07 \x01(\tR\x06module\x12\x1f\n\x0b\x66rom_number\x18\x08 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\t \x01(\x12R\x08toNumber\x12\x1d\n\nstart_time\x18\n \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x0b \x01(\x12R\x07\x65ndTime\x12\x16\n\x06status\x18\x0c \x01(\tR\x06status\"\x89\x01\n\x15GetAccountTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\xab\x05\n\x0cTxDetailData\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04info\x18\x08 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\t \x01(\x12R\tgasWanted\x12\x19\n\x08gas_used\x18\n \x01(\x12R\x07gasUsed\x12\x37\n\x07gas_fee\x18\x0b \x01(\x0b\x32\x1e.injective_explorer_rpc.GasFeeR\x06gasFee\x12\x1c\n\tcodespace\x18\x0c \x01(\tR\tcodespace\x12\x35\n\x06\x65vents\x18\r \x03(\x0b\x32\x1d.injective_explorer_rpc.EventR\x06\x65vents\x12\x17\n\x07tx_type\x18\x0e \x01(\tR\x06txType\x12\x1a\n\x08messages\x18\x0f \x01(\x0cR\x08messages\x12\x41\n\nsignatures\x18\x10 \x03(\x0b\x32!.injective_explorer_rpc.SignatureR\nsignatures\x12\x12\n\x04memo\x18\x11 \x01(\tR\x04memo\x12\x1b\n\ttx_number\x18\x12 \x01(\x04R\x08txNumber\x12\x30\n\x14\x62lock_unix_timestamp\x18\x13 \x01(\x04R\x12\x62lockUnixTimestamp\x12\x1b\n\terror_log\x18\x14 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04logs\x18\x15 \x01(\x0cR\x04logs\x12\x1b\n\tclaim_ids\x18\x16 \x03(\x12R\x08\x63laimIds\"\x91\x01\n\x06GasFee\x12:\n\x06\x61mount\x18\x01 \x03(\x0b\x32\".injective_explorer_rpc.CosmosCoinR\x06\x61mount\x12\x1b\n\tgas_limit\x18\x02 \x01(\x04R\x08gasLimit\x12\x14\n\x05payer\x18\x03 \x01(\tR\x05payer\x12\x18\n\x07granter\x18\x04 \x01(\tR\x07granter\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xa9\x01\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12M\n\nattributes\x18\x02 \x03(\x0b\x32-.injective_explorer_rpc.Event.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"w\n\tSignature\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\tsignature\x18\x04 \x01(\tR\tsignature\"\x99\x01\n\x15GetContractTxsRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x1f\n\x0b\x66rom_number\x18\x04 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x05 \x01(\x12R\x08toNumber\"\x8a\x01\n\x16GetContractTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"\x9b\x01\n\x17GetContractTxsV2Request\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x12\n\x04\x66rom\x18\x03 \x01(\x12R\x04\x66rom\x12\x0e\n\x02to\x18\x04 \x01(\x12R\x02to\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\"h\n\x18GetContractTxsV2Response\x12\x12\n\x04next\x18\x01 \x03(\tR\x04next\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"z\n\x10GetBlocksRequest\x12\x16\n\x06\x62\x65\x66ore\x18\x01 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x02 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04\x66rom\x18\x04 \x01(\x04R\x04\x66rom\x12\x0e\n\x02to\x18\x05 \x01(\x04R\x02to\"\x82\x01\n\x11GetBlocksResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x35\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32!.injective_explorer_rpc.BlockInfoR\x04\x64\x61ta\"\xad\x02\n\tBlockInfo\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x33\n\x03txs\x18\x08 \x03(\x0b\x32!.injective_explorer_rpc.TxDataRPCR\x03txs\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp\"\xa0\x02\n\tTxDataRPC\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\tR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12\x1b\n\tclaim_ids\x18\n \x03(\x12R\x08\x63laimIds\"!\n\x0fGetBlockRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\"u\n\x10GetBlockResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12;\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\'.injective_explorer_rpc.BlockDetailInfoR\x04\x64\x61ta\"\xcd\x02\n\x0f\x42lockDetailInfo\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x1b\n\ttotal_txs\x18\x08 \x01(\x12R\x08totalTxs\x12\x30\n\x03txs\x18\t \x03(\x0b\x32\x1e.injective_explorer_rpc.TxDataR\x03txs\x12\x1c\n\ttimestamp\x18\n \x01(\tR\ttimestamp\"\xd3\x02\n\x06TxData\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\x0cR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12 \n\x0ctx_msg_types\x18\n \x01(\x0cR\ntxMsgTypes\x12\x12\n\x04logs\x18\x0b \x01(\x0cR\x04logs\x12\x1b\n\tclaim_ids\x18\x0c \x03(\x12R\x08\x63laimIds\"\x16\n\x14GetValidatorsRequest\"t\n\x15GetValidatorsResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x35\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32!.injective_explorer_rpc.ValidatorR\x04\x64\x61ta\"\xb5\x07\n\tValidator\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07moniker\x18\x02 \x01(\tR\x07moniker\x12)\n\x10operator_address\x18\x03 \x01(\tR\x0foperatorAddress\x12+\n\x11\x63onsensus_address\x18\x04 \x01(\tR\x10\x63onsensusAddress\x12\x16\n\x06jailed\x18\x05 \x01(\x08R\x06jailed\x12\x16\n\x06status\x18\x06 \x01(\x11R\x06status\x12\x16\n\x06tokens\x18\x07 \x01(\tR\x06tokens\x12)\n\x10\x64\x65legator_shares\x18\x08 \x01(\tR\x0f\x64\x65legatorShares\x12N\n\x0b\x64\x65scription\x18\t \x01(\x0b\x32,.injective_explorer_rpc.ValidatorDescriptionR\x0b\x64\x65scription\x12)\n\x10unbonding_height\x18\n \x01(\x12R\x0funbondingHeight\x12%\n\x0eunbonding_time\x18\x0b \x01(\tR\runbondingTime\x12\'\n\x0f\x63ommission_rate\x18\x0c \x01(\tR\x0e\x63ommissionRate\x12.\n\x13\x63ommission_max_rate\x18\r \x01(\tR\x11\x63ommissionMaxRate\x12;\n\x1a\x63ommission_max_change_rate\x18\x0e \x01(\tR\x17\x63ommissionMaxChangeRate\x12\x34\n\x16\x63ommission_update_time\x18\x0f \x01(\tR\x14\x63ommissionUpdateTime\x12\x1a\n\x08proposed\x18\x10 \x01(\x04R\x08proposed\x12\x16\n\x06signed\x18\x11 \x01(\x04R\x06signed\x12\x16\n\x06missed\x18\x12 \x01(\x04R\x06missed\x12\x1c\n\ttimestamp\x18\x13 \x01(\tR\ttimestamp\x12\x41\n\x07uptimes\x18\x14 \x03(\x0b\x32\'.injective_explorer_rpc.ValidatorUptimeR\x07uptimes\x12N\n\x0fslashing_events\x18\x15 \x03(\x0b\x32%.injective_explorer_rpc.SlashingEventR\x0eslashingEvents\x12+\n\x11uptime_percentage\x18\x16 \x01(\x01R\x10uptimePercentage\x12\x1b\n\timage_url\x18\x17 \x01(\tR\x08imageUrl\"\xc8\x01\n\x14ValidatorDescription\x12\x18\n\x07moniker\x18\x01 \x01(\tR\x07moniker\x12\x1a\n\x08identity\x18\x02 \x01(\tR\x08identity\x12\x18\n\x07website\x18\x03 \x01(\tR\x07website\x12)\n\x10security_contact\x18\x04 \x01(\tR\x0fsecurityContact\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails\x12\x1b\n\timage_url\x18\x06 \x01(\tR\x08imageUrl\"L\n\x0fValidatorUptime\x12!\n\x0c\x62lock_number\x18\x01 \x01(\x04R\x0b\x62lockNumber\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\"\xe0\x01\n\rSlashingEvent\x12!\n\x0c\x62lock_number\x18\x01 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x02 \x01(\tR\x0e\x62lockTimestamp\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x04 \x01(\x04R\x05power\x12\x16\n\x06reason\x18\x05 \x01(\tR\x06reason\x12\x16\n\x06jailed\x18\x06 \x01(\tR\x06jailed\x12#\n\rmissed_blocks\x18\x07 \x01(\x04R\x0cmissedBlocks\"/\n\x13GetValidatorRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"s\n\x14GetValidatorResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x35\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32!.injective_explorer_rpc.ValidatorR\x04\x64\x61ta\"5\n\x19GetValidatorUptimeRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"\x7f\n\x1aGetValidatorUptimeResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12;\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\'.injective_explorer_rpc.ValidatorUptimeR\x04\x64\x61ta\"\xa3\x02\n\rGetTxsRequest\x12\x16\n\x06\x62\x65\x66ore\x18\x01 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x02 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\x12\x16\n\x06module\x18\x06 \x01(\tR\x06module\x12\x1f\n\x0b\x66rom_number\x18\x07 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x08 \x01(\x12R\x08toNumber\x12\x1d\n\nstart_time\x18\t \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\n \x01(\x12R\x07\x65ndTime\x12\x16\n\x06status\x18\x0b \x01(\tR\x06status\"|\n\x0eGetTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x32\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x1e.injective_explorer_rpc.TxDataR\x04\x64\x61ta\"*\n\x14GetTxByTxHashRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\"w\n\x15GetTxByTxHashResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x38\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"y\n\x19GetPeggyDepositTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\"Z\n\x1aGetPeggyDepositTxsResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_explorer_rpc.PeggyDepositTxR\x05\x66ield\"\xf9\x02\n\x0ePeggyDepositTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0b\x65vent_nonce\x18\x03 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x04 \x01(\x04R\x0b\x65ventHeight\x12\x16\n\x06\x61mount\x18\x05 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x06 \x01(\tR\x05\x64\x65nom\x12\x31\n\x14orchestrator_address\x18\x07 \x01(\tR\x13orchestratorAddress\x12\x14\n\x05state\x18\x08 \x01(\tR\x05state\x12\x1d\n\nclaim_type\x18\t \x01(\x11R\tclaimType\x12\x1b\n\ttx_hashes\x18\n \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0b \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\tR\tupdatedAt\"|\n\x1cGetPeggyWithdrawalTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\"`\n\x1dGetPeggyWithdrawalTxsResponse\x12?\n\x05\x66ield\x18\x01 \x03(\x0b\x32).injective_explorer_rpc.PeggyWithdrawalTxR\x05\x66ield\"\x87\x04\n\x11PeggyWithdrawalTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x04 \x01(\tR\x05\x64\x65nom\x12\x1d\n\nbridge_fee\x18\x05 \x01(\tR\tbridgeFee\x12$\n\x0eoutgoing_tx_id\x18\x06 \x01(\x04R\x0coutgoingTxId\x12#\n\rbatch_timeout\x18\x07 \x01(\x04R\x0c\x62\x61tchTimeout\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x08 \x01(\x04R\nbatchNonce\x12\x31\n\x14orchestrator_address\x18\t \x01(\tR\x13orchestratorAddress\x12\x1f\n\x0b\x65vent_nonce\x18\n \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x0b \x01(\x04R\x0b\x65ventHeight\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\nclaim_type\x18\r \x01(\x11R\tclaimType\x12\x1b\n\ttx_hashes\x18\x0e \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0f \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\tR\tupdatedAt\"\xf4\x01\n\x18GetIBCTransferTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0bsrc_channel\x18\x03 \x01(\tR\nsrcChannel\x12\x19\n\x08src_port\x18\x04 \x01(\tR\x07srcPort\x12!\n\x0c\x64\x65st_channel\x18\x05 \x01(\tR\x0b\x64\x65stChannel\x12\x1b\n\tdest_port\x18\x06 \x01(\tR\x08\x64\x65stPort\x12\x14\n\x05limit\x18\x07 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x08 \x01(\x04R\x04skip\"X\n\x19GetIBCTransferTxsResponse\x12;\n\x05\x66ield\x18\x01 \x03(\x0b\x32%.injective_explorer_rpc.IBCTransferTxR\x05\x66ield\"\x9e\x04\n\rIBCTransferTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0bsource_port\x18\x03 \x01(\tR\nsourcePort\x12%\n\x0esource_channel\x18\x04 \x01(\tR\rsourceChannel\x12)\n\x10\x64\x65stination_port\x18\x05 \x01(\tR\x0f\x64\x65stinationPort\x12/\n\x13\x64\x65stination_channel\x18\x06 \x01(\tR\x12\x64\x65stinationChannel\x12\x16\n\x06\x61mount\x18\x07 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x08 \x01(\tR\x05\x64\x65nom\x12%\n\x0etimeout_height\x18\t \x01(\tR\rtimeoutHeight\x12+\n\x11timeout_timestamp\x18\n \x01(\x04R\x10timeoutTimestamp\x12\'\n\x0fpacket_sequence\x18\x0b \x01(\x04R\x0epacketSequence\x12\x19\n\x08\x64\x61ta_hex\x18\x0c \x01(\x0cR\x07\x64\x61taHex\x12\x14\n\x05state\x18\r \x01(\tR\x05state\x12\x1b\n\ttx_hashes\x18\x0e \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0f \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\tR\tupdatedAt\"i\n\x13GetWasmCodesRequest\x12\x14\n\x05limit\x18\x01 \x01(\x11R\x05limit\x12\x1f\n\x0b\x66rom_number\x18\x02 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x03 \x01(\x12R\x08toNumber\"\x84\x01\n\x14GetWasmCodesResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x34\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32 .injective_explorer_rpc.WasmCodeR\x04\x64\x61ta\"\xe2\x03\n\x08WasmCode\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x17\n\x07tx_hash\x18\x02 \x01(\tR\x06txHash\x12<\n\x08\x63hecksum\x18\x03 \x01(\x0b\x32 .injective_explorer_rpc.ChecksumR\x08\x63hecksum\x12\x1d\n\ncreated_at\x18\x04 \x01(\x04R\tcreatedAt\x12#\n\rcontract_type\x18\x05 \x01(\tR\x0c\x63ontractType\x12\x18\n\x07version\x18\x06 \x01(\tR\x07version\x12J\n\npermission\x18\x07 \x01(\x0b\x32*.injective_explorer_rpc.ContractPermissionR\npermission\x12\x1f\n\x0b\x63ode_schema\x18\x08 \x01(\tR\ncodeSchema\x12\x1b\n\tcode_view\x18\t \x01(\tR\x08\x63odeView\x12\"\n\x0cinstantiates\x18\n \x01(\x04R\x0cinstantiates\x12\x18\n\x07\x63reator\x18\x0b \x01(\tR\x07\x63reator\x12\x1f\n\x0b\x63ode_number\x18\x0c \x01(\x12R\ncodeNumber\x12\x1f\n\x0bproposal_id\x18\r \x01(\x12R\nproposalId\"<\n\x08\x43hecksum\x12\x1c\n\talgorithm\x18\x01 \x01(\tR\talgorithm\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\"O\n\x12\x43ontractPermission\x12\x1f\n\x0b\x61\x63\x63\x65ss_type\x18\x01 \x01(\x11R\naccessType\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"1\n\x16GetWasmCodeByIDRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x12R\x06\x63odeId\"\xf1\x03\n\x17GetWasmCodeByIDResponse\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x17\n\x07tx_hash\x18\x02 \x01(\tR\x06txHash\x12<\n\x08\x63hecksum\x18\x03 \x01(\x0b\x32 .injective_explorer_rpc.ChecksumR\x08\x63hecksum\x12\x1d\n\ncreated_at\x18\x04 \x01(\x04R\tcreatedAt\x12#\n\rcontract_type\x18\x05 \x01(\tR\x0c\x63ontractType\x12\x18\n\x07version\x18\x06 \x01(\tR\x07version\x12J\n\npermission\x18\x07 \x01(\x0b\x32*.injective_explorer_rpc.ContractPermissionR\npermission\x12\x1f\n\x0b\x63ode_schema\x18\x08 \x01(\tR\ncodeSchema\x12\x1b\n\tcode_view\x18\t \x01(\tR\x08\x63odeView\x12\"\n\x0cinstantiates\x18\n \x01(\x04R\x0cinstantiates\x12\x18\n\x07\x63reator\x18\x0b \x01(\tR\x07\x63reator\x12\x1f\n\x0b\x63ode_number\x18\x0c \x01(\x12R\ncodeNumber\x12\x1f\n\x0bproposal_id\x18\r \x01(\x12R\nproposalId\"\xd1\x01\n\x17GetWasmContractsRequest\x12\x14\n\x05limit\x18\x01 \x01(\x11R\x05limit\x12\x17\n\x07\x63ode_id\x18\x02 \x01(\x12R\x06\x63odeId\x12\x1f\n\x0b\x66rom_number\x18\x03 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x04 \x01(\x12R\x08toNumber\x12\x1f\n\x0b\x61ssets_only\x18\x05 \x01(\x08R\nassetsOnly\x12\x12\n\x04skip\x18\x06 \x01(\x12R\x04skip\x12\x14\n\x05label\x18\x07 \x01(\tR\x05label\"\x8c\x01\n\x18GetWasmContractsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.WasmContractR\x04\x64\x61ta\"\xe9\x04\n\x0cWasmContract\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x17\n\x07tx_hash\x18\x03 \x01(\tR\x06txHash\x12\x18\n\x07\x63reator\x18\x04 \x01(\tR\x07\x63reator\x12\x1a\n\x08\x65xecutes\x18\x05 \x01(\x04R\x08\x65xecutes\x12\'\n\x0finstantiated_at\x18\x06 \x01(\x04R\x0einstantiatedAt\x12!\n\x0cinit_message\x18\x07 \x01(\tR\x0binitMessage\x12(\n\x10last_executed_at\x18\x08 \x01(\x04R\x0elastExecutedAt\x12:\n\x05\x66unds\x18\t \x03(\x0b\x32$.injective_explorer_rpc.ContractFundR\x05\x66unds\x12\x17\n\x07\x63ode_id\x18\n \x01(\x04R\x06\x63odeId\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x36\n\x17\x63urrent_migrate_message\x18\x0c \x01(\tR\x15\x63urrentMigrateMessage\x12\'\n\x0f\x63ontract_number\x18\r \x01(\x12R\x0e\x63ontractNumber\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12I\n\rcw20_metadata\x18\x10 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\x12\x1f\n\x0bproposal_id\x18\x11 \x01(\x12R\nproposalId\"<\n\x0c\x43ontractFund\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xa6\x01\n\x0c\x43w20Metadata\x12\x44\n\ntoken_info\x18\x01 \x01(\x0b\x32%.injective_explorer_rpc.Cw20TokenInfoR\ttokenInfo\x12P\n\x0emarketing_info\x18\x02 \x01(\x0b\x32).injective_explorer_rpc.Cw20MarketingInfoR\rmarketingInfo\"z\n\rCw20TokenInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x03 \x01(\x12R\x08\x64\x65\x63imals\x12!\n\x0ctotal_supply\x18\x04 \x01(\tR\x0btotalSupply\"\x81\x01\n\x11\x43w20MarketingInfo\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04logo\x18\x03 \x01(\tR\x04logo\x12\x1c\n\tmarketing\x18\x04 \x01(\x0cR\tmarketing\"L\n\x1fGetWasmContractByAddressRequest\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\"\xfd\x04\n GetWasmContractByAddressResponse\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x17\n\x07tx_hash\x18\x03 \x01(\tR\x06txHash\x12\x18\n\x07\x63reator\x18\x04 \x01(\tR\x07\x63reator\x12\x1a\n\x08\x65xecutes\x18\x05 \x01(\x04R\x08\x65xecutes\x12\'\n\x0finstantiated_at\x18\x06 \x01(\x04R\x0einstantiatedAt\x12!\n\x0cinit_message\x18\x07 \x01(\tR\x0binitMessage\x12(\n\x10last_executed_at\x18\x08 \x01(\x04R\x0elastExecutedAt\x12:\n\x05\x66unds\x18\t \x03(\x0b\x32$.injective_explorer_rpc.ContractFundR\x05\x66unds\x12\x17\n\x07\x63ode_id\x18\n \x01(\x04R\x06\x63odeId\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x36\n\x17\x63urrent_migrate_message\x18\x0c \x01(\tR\x15\x63urrentMigrateMessage\x12\'\n\x0f\x63ontract_number\x18\r \x01(\x12R\x0e\x63ontractNumber\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12I\n\rcw20_metadata\x18\x10 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\x12\x1f\n\x0bproposal_id\x18\x11 \x01(\x12R\nproposalId\"G\n\x15GetCw20BalanceRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\"W\n\x16GetCw20BalanceResponse\x12=\n\x05\x66ield\x18\x01 \x03(\x0b\x32\'.injective_explorer_rpc.WasmCw20BalanceR\x05\x66ield\"\xda\x01\n\x0fWasmCw20Balance\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\x12\x18\n\x07\x61\x63\x63ount\x18\x02 \x01(\tR\x07\x61\x63\x63ount\x12\x18\n\x07\x62\x61lance\x18\x03 \x01(\tR\x07\x62\x61lance\x12\x1d\n\nupdated_at\x18\x04 \x01(\x12R\tupdatedAt\x12I\n\rcw20_metadata\x18\x05 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\"1\n\x0fRelayersRequest\x12\x1e\n\x0bmarket_i_ds\x18\x01 \x03(\tR\tmarketIDs\"P\n\x10RelayersResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_explorer_rpc.RelayerMarketsR\x05\x66ield\"j\n\x0eRelayerMarkets\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12;\n\x08relayers\x18\x02 \x03(\x0b\x32\x1f.injective_explorer_rpc.RelayerR\x08relayers\"/\n\x07Relayer\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03\x63ta\x18\x02 \x01(\tR\x03\x63ta\"\xbd\x02\n\x17GetBankTransfersRequest\x12\x18\n\x07senders\x18\x01 \x03(\tR\x07senders\x12\x1e\n\nrecipients\x18\x02 \x03(\tR\nrecipients\x12\x39\n\x19is_community_pool_related\x18\x03 \x01(\x08R\x16isCommunityPoolRelated\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x18\n\x07\x61\x64\x64ress\x18\x08 \x03(\tR\x07\x61\x64\x64ress\x12\x19\n\x08per_page\x18\t \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\n \x01(\tR\x05token\"\x8c\x01\n\x18GetBankTransfersResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.BankTransferR\x04\x64\x61ta\"\xc8\x01\n\x0c\x42\x61nkTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1c\n\trecipient\x18\x02 \x01(\tR\trecipient\x12\x36\n\x07\x61mounts\x18\x03 \x03(\x0b\x32\x1c.injective_explorer_rpc.CoinR\x07\x61mounts\x12!\n\x0c\x62lock_number\x18\x04 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x05 \x01(\tR\x0e\x62lockTimestamp\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x12\n\x10StreamTxsRequest\"\xa8\x02\n\x11StreamTxsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\tR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12\x1b\n\tclaim_ids\x18\n \x03(\x12R\x08\x63laimIds\"\x15\n\x13StreamBlocksRequest\"\xb8\x02\n\x14StreamBlocksResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x33\n\x03txs\x18\x08 \x03(\x0b\x32!.injective_explorer_rpc.TxDataRPCR\x03txs\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp2\xc6\x13\n\x14InjectiveExplorerRPC\x12l\n\rGetAccountTxs\x12,.injective_explorer_rpc.GetAccountTxsRequest\x1a-.injective_explorer_rpc.GetAccountTxsResponse\x12o\n\x0eGetContractTxs\x12-.injective_explorer_rpc.GetContractTxsRequest\x1a..injective_explorer_rpc.GetContractTxsResponse\x12u\n\x10GetContractTxsV2\x12/.injective_explorer_rpc.GetContractTxsV2Request\x1a\x30.injective_explorer_rpc.GetContractTxsV2Response\x12`\n\tGetBlocks\x12(.injective_explorer_rpc.GetBlocksRequest\x1a).injective_explorer_rpc.GetBlocksResponse\x12]\n\x08GetBlock\x12\'.injective_explorer_rpc.GetBlockRequest\x1a(.injective_explorer_rpc.GetBlockResponse\x12l\n\rGetValidators\x12,.injective_explorer_rpc.GetValidatorsRequest\x1a-.injective_explorer_rpc.GetValidatorsResponse\x12i\n\x0cGetValidator\x12+.injective_explorer_rpc.GetValidatorRequest\x1a,.injective_explorer_rpc.GetValidatorResponse\x12{\n\x12GetValidatorUptime\x12\x31.injective_explorer_rpc.GetValidatorUptimeRequest\x1a\x32.injective_explorer_rpc.GetValidatorUptimeResponse\x12W\n\x06GetTxs\x12%.injective_explorer_rpc.GetTxsRequest\x1a&.injective_explorer_rpc.GetTxsResponse\x12l\n\rGetTxByTxHash\x12,.injective_explorer_rpc.GetTxByTxHashRequest\x1a-.injective_explorer_rpc.GetTxByTxHashResponse\x12{\n\x12GetPeggyDepositTxs\x12\x31.injective_explorer_rpc.GetPeggyDepositTxsRequest\x1a\x32.injective_explorer_rpc.GetPeggyDepositTxsResponse\x12\x84\x01\n\x15GetPeggyWithdrawalTxs\x12\x34.injective_explorer_rpc.GetPeggyWithdrawalTxsRequest\x1a\x35.injective_explorer_rpc.GetPeggyWithdrawalTxsResponse\x12x\n\x11GetIBCTransferTxs\x12\x30.injective_explorer_rpc.GetIBCTransferTxsRequest\x1a\x31.injective_explorer_rpc.GetIBCTransferTxsResponse\x12i\n\x0cGetWasmCodes\x12+.injective_explorer_rpc.GetWasmCodesRequest\x1a,.injective_explorer_rpc.GetWasmCodesResponse\x12r\n\x0fGetWasmCodeByID\x12..injective_explorer_rpc.GetWasmCodeByIDRequest\x1a/.injective_explorer_rpc.GetWasmCodeByIDResponse\x12u\n\x10GetWasmContracts\x12/.injective_explorer_rpc.GetWasmContractsRequest\x1a\x30.injective_explorer_rpc.GetWasmContractsResponse\x12\x8d\x01\n\x18GetWasmContractByAddress\x12\x37.injective_explorer_rpc.GetWasmContractByAddressRequest\x1a\x38.injective_explorer_rpc.GetWasmContractByAddressResponse\x12o\n\x0eGetCw20Balance\x12-.injective_explorer_rpc.GetCw20BalanceRequest\x1a..injective_explorer_rpc.GetCw20BalanceResponse\x12]\n\x08Relayers\x12\'.injective_explorer_rpc.RelayersRequest\x1a(.injective_explorer_rpc.RelayersResponse\x12u\n\x10GetBankTransfers\x12/.injective_explorer_rpc.GetBankTransfersRequest\x1a\x30.injective_explorer_rpc.GetBankTransfersResponse\x12\x62\n\tStreamTxs\x12(.injective_explorer_rpc.StreamTxsRequest\x1a).injective_explorer_rpc.StreamTxsResponse0\x01\x12k\n\x0cStreamBlocks\x12+.injective_explorer_rpc.StreamBlocksRequest\x1a,.injective_explorer_rpc.StreamBlocksResponse0\x01\x42\xc2\x01\n\x1a\x63om.injective_explorer_rpcB\x19InjectiveExplorerRpcProtoP\x01Z\x19/injective_explorer_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveExplorerRpc\xca\x02\x14InjectiveExplorerRpc\xe2\x02 InjectiveExplorerRpc\\GPBMetadata\xea\x02\x14InjectiveExplorerRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_explorer_rpc.proto\x12\x16injective_explorer_rpc\"\xc4\x02\n\x14GetAccountTxsRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06\x62\x65\x66ore\x18\x02 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x03 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x12\n\x04type\x18\x06 \x01(\tR\x04type\x12\x16\n\x06module\x18\x07 \x01(\tR\x06module\x12\x1f\n\x0b\x66rom_number\x18\x08 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\t \x01(\x12R\x08toNumber\x12\x1d\n\nstart_time\x18\n \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x0b \x01(\x12R\x07\x65ndTime\x12\x16\n\x06status\x18\x0c \x01(\tR\x06status\"\x89\x01\n\x15GetAccountTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\xab\x05\n\x0cTxDetailData\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x12\n\x04\x63ode\x18\x05 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04info\x18\x08 \x01(\tR\x04info\x12\x1d\n\ngas_wanted\x18\t \x01(\x12R\tgasWanted\x12\x19\n\x08gas_used\x18\n \x01(\x12R\x07gasUsed\x12\x37\n\x07gas_fee\x18\x0b \x01(\x0b\x32\x1e.injective_explorer_rpc.GasFeeR\x06gasFee\x12\x1c\n\tcodespace\x18\x0c \x01(\tR\tcodespace\x12\x35\n\x06\x65vents\x18\r \x03(\x0b\x32\x1d.injective_explorer_rpc.EventR\x06\x65vents\x12\x17\n\x07tx_type\x18\x0e \x01(\tR\x06txType\x12\x1a\n\x08messages\x18\x0f \x01(\x0cR\x08messages\x12\x41\n\nsignatures\x18\x10 \x03(\x0b\x32!.injective_explorer_rpc.SignatureR\nsignatures\x12\x12\n\x04memo\x18\x11 \x01(\tR\x04memo\x12\x1b\n\ttx_number\x18\x12 \x01(\x04R\x08txNumber\x12\x30\n\x14\x62lock_unix_timestamp\x18\x13 \x01(\x04R\x12\x62lockUnixTimestamp\x12\x1b\n\terror_log\x18\x14 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04logs\x18\x15 \x01(\x0cR\x04logs\x12\x1b\n\tclaim_ids\x18\x16 \x03(\x12R\x08\x63laimIds\"\x91\x01\n\x06GasFee\x12:\n\x06\x61mount\x18\x01 \x03(\x0b\x32\".injective_explorer_rpc.CosmosCoinR\x06\x61mount\x12\x1b\n\tgas_limit\x18\x02 \x01(\x04R\x08gasLimit\x12\x14\n\x05payer\x18\x03 \x01(\tR\x05payer\x12\x18\n\x07granter\x18\x04 \x01(\tR\x07granter\":\n\nCosmosCoin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xa9\x01\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12M\n\nattributes\x18\x02 \x03(\x0b\x32-.injective_explorer_rpc.Event.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"w\n\tSignature\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\tsignature\x18\x04 \x01(\tR\tsignature\"\xb1\x01\n\x16GetAccountTxsV2Request\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x1d\n\nstart_time\x18\x03 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x04 \x01(\x12R\x07\x65ndTime\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\"\x8b\x01\n\x17GetAccountTxsV2Response\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.CursorR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"\x1c\n\x06\x43ursor\x12\x12\n\x04next\x18\x01 \x03(\tR\x04next\"\x99\x01\n\x15GetContractTxsRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x1f\n\x0b\x66rom_number\x18\x04 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x05 \x01(\x12R\x08toNumber\"\x8a\x01\n\x16GetContractTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"\xb8\x01\n\x17GetContractTxsV2Request\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x12\n\x04\x66rom\x18\x03 \x01(\x12R\x04\x66rom\x12\x0e\n\x02to\x18\x04 \x01(\x12R\x02to\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x16\n\x06status\x18\x07 \x01(\tR\x06status\"\x8c\x01\n\x18GetContractTxsV2Response\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.CursorR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"z\n\x10GetBlocksRequest\x12\x16\n\x06\x62\x65\x66ore\x18\x01 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x02 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04\x66rom\x18\x04 \x01(\x04R\x04\x66rom\x12\x0e\n\x02to\x18\x05 \x01(\x04R\x02to\"\x82\x01\n\x11GetBlocksResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x35\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32!.injective_explorer_rpc.BlockInfoR\x04\x64\x61ta\"\xdf\x02\n\tBlockInfo\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x33\n\x03txs\x18\x08 \x03(\x0b\x32!.injective_explorer_rpc.TxDataRPCR\x03txs\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp\x12\x30\n\x14\x62lock_unix_timestamp\x18\n \x01(\x04R\x12\x62lockUnixTimestamp\"\xa0\x02\n\tTxDataRPC\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\tR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12\x1b\n\tclaim_ids\x18\n \x03(\x12R\x08\x63laimIds\"E\n\x12GetBlocksV2Request\x12\x19\n\x08per_page\x18\x01 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"\x84\x01\n\x13GetBlocksV2Response\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.CursorR\x06paging\x12\x35\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32!.injective_explorer_rpc.BlockInfoR\x04\x64\x61ta\"!\n\x0fGetBlockRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\"u\n\x10GetBlockResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12;\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\'.injective_explorer_rpc.BlockDetailInfoR\x04\x64\x61ta\"\xff\x02\n\x0f\x42lockDetailInfo\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x1b\n\ttotal_txs\x18\x08 \x01(\x12R\x08totalTxs\x12\x30\n\x03txs\x18\t \x03(\x0b\x32\x1e.injective_explorer_rpc.TxDataR\x03txs\x12\x1c\n\ttimestamp\x18\n \x01(\tR\ttimestamp\x12\x30\n\x14\x62lock_unix_timestamp\x18\x0b \x01(\x04R\x12\x62lockUnixTimestamp\"\x8d\x04\n\x06TxData\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\x0cR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12 \n\x0ctx_msg_types\x18\n \x01(\x0cR\ntxMsgTypes\x12\x12\n\x04logs\x18\x0b \x01(\x0cR\x04logs\x12\x1b\n\tclaim_ids\x18\x0c \x03(\x12R\x08\x63laimIds\x12\x41\n\nsignatures\x18\r \x03(\x0b\x32!.injective_explorer_rpc.SignatureR\nsignatures\x12\x30\n\x14\x62lock_unix_timestamp\x18\x0e \x01(\x04R\x12\x62lockUnixTimestamp\x12/\n\x14\x65thereum_tx_hash_hex\x18\x0f \x01(\tR\x11\x65thereumTxHashHex\x12\x12\n\x04memo\x18\x10 \x01(\tR\x04memo\"\x16\n\x14GetValidatorsRequest\"t\n\x15GetValidatorsResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x35\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32!.injective_explorer_rpc.ValidatorR\x04\x64\x61ta\"\xb5\x07\n\tValidator\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07moniker\x18\x02 \x01(\tR\x07moniker\x12)\n\x10operator_address\x18\x03 \x01(\tR\x0foperatorAddress\x12+\n\x11\x63onsensus_address\x18\x04 \x01(\tR\x10\x63onsensusAddress\x12\x16\n\x06jailed\x18\x05 \x01(\x08R\x06jailed\x12\x16\n\x06status\x18\x06 \x01(\x11R\x06status\x12\x16\n\x06tokens\x18\x07 \x01(\tR\x06tokens\x12)\n\x10\x64\x65legator_shares\x18\x08 \x01(\tR\x0f\x64\x65legatorShares\x12N\n\x0b\x64\x65scription\x18\t \x01(\x0b\x32,.injective_explorer_rpc.ValidatorDescriptionR\x0b\x64\x65scription\x12)\n\x10unbonding_height\x18\n \x01(\x12R\x0funbondingHeight\x12%\n\x0eunbonding_time\x18\x0b \x01(\tR\runbondingTime\x12\'\n\x0f\x63ommission_rate\x18\x0c \x01(\tR\x0e\x63ommissionRate\x12.\n\x13\x63ommission_max_rate\x18\r \x01(\tR\x11\x63ommissionMaxRate\x12;\n\x1a\x63ommission_max_change_rate\x18\x0e \x01(\tR\x17\x63ommissionMaxChangeRate\x12\x34\n\x16\x63ommission_update_time\x18\x0f \x01(\tR\x14\x63ommissionUpdateTime\x12\x1a\n\x08proposed\x18\x10 \x01(\x04R\x08proposed\x12\x16\n\x06signed\x18\x11 \x01(\x04R\x06signed\x12\x16\n\x06missed\x18\x12 \x01(\x04R\x06missed\x12\x1c\n\ttimestamp\x18\x13 \x01(\tR\ttimestamp\x12\x41\n\x07uptimes\x18\x14 \x03(\x0b\x32\'.injective_explorer_rpc.ValidatorUptimeR\x07uptimes\x12N\n\x0fslashing_events\x18\x15 \x03(\x0b\x32%.injective_explorer_rpc.SlashingEventR\x0eslashingEvents\x12+\n\x11uptime_percentage\x18\x16 \x01(\x01R\x10uptimePercentage\x12\x1b\n\timage_url\x18\x17 \x01(\tR\x08imageUrl\"\xc8\x01\n\x14ValidatorDescription\x12\x18\n\x07moniker\x18\x01 \x01(\tR\x07moniker\x12\x1a\n\x08identity\x18\x02 \x01(\tR\x08identity\x12\x18\n\x07website\x18\x03 \x01(\tR\x07website\x12)\n\x10security_contact\x18\x04 \x01(\tR\x0fsecurityContact\x12\x18\n\x07\x64\x65tails\x18\x05 \x01(\tR\x07\x64\x65tails\x12\x1b\n\timage_url\x18\x06 \x01(\tR\x08imageUrl\"L\n\x0fValidatorUptime\x12!\n\x0c\x62lock_number\x18\x01 \x01(\x04R\x0b\x62lockNumber\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\"\xe0\x01\n\rSlashingEvent\x12!\n\x0c\x62lock_number\x18\x01 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x02 \x01(\tR\x0e\x62lockTimestamp\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x04 \x01(\x04R\x05power\x12\x16\n\x06reason\x18\x05 \x01(\tR\x06reason\x12\x16\n\x06jailed\x18\x06 \x01(\tR\x06jailed\x12#\n\rmissed_blocks\x18\x07 \x01(\x04R\x0cmissedBlocks\"/\n\x13GetValidatorRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"s\n\x14GetValidatorResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x35\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32!.injective_explorer_rpc.ValidatorR\x04\x64\x61ta\"5\n\x19GetValidatorUptimeRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"\x7f\n\x1aGetValidatorUptimeResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12;\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\'.injective_explorer_rpc.ValidatorUptimeR\x04\x64\x61ta\"\xa3\x02\n\rGetTxsRequest\x12\x16\n\x06\x62\x65\x66ore\x18\x01 \x01(\x04R\x06\x62\x65\x66ore\x12\x14\n\x05\x61\x66ter\x18\x02 \x01(\x04R\x05\x61\x66ter\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\x12\x16\n\x06module\x18\x06 \x01(\tR\x06module\x12\x1f\n\x0b\x66rom_number\x18\x07 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x08 \x01(\x12R\x08toNumber\x12\x1d\n\nstart_time\x18\t \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\n \x01(\x12R\x07\x65ndTime\x12\x16\n\x06status\x18\x0b \x01(\tR\x06status\"|\n\x0eGetTxsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x32\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x1e.injective_explorer_rpc.TxDataR\x04\x64\x61ta\"\xcb\x01\n\x0fGetTxsV2Request\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x1d\n\nstart_time\x18\x02 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x03 \x01(\x12R\x07\x65ndTime\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12!\n\x0c\x62lock_number\x18\x07 \x01(\x04R\x0b\x62lockNumber\"~\n\x10GetTxsV2Response\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.CursorR\x06paging\x12\x32\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x1e.injective_explorer_rpc.TxDataR\x04\x64\x61ta\"J\n\x14GetTxByTxHashRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x1e\n\x0bis_evm_hash\x18\x02 \x01(\x08R\tisEvmHash\"w\n\x15GetTxByTxHashResponse\x12\x0c\n\x01s\x18\x01 \x01(\tR\x01s\x12\x16\n\x06\x65rrmsg\x18\x02 \x01(\tR\x06\x65rrmsg\x12\x38\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32$.injective_explorer_rpc.TxDetailDataR\x04\x64\x61ta\"y\n\x19GetPeggyDepositTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\"Z\n\x1aGetPeggyDepositTxsResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_explorer_rpc.PeggyDepositTxR\x05\x66ield\"\xf9\x02\n\x0ePeggyDepositTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0b\x65vent_nonce\x18\x03 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x04 \x01(\x04R\x0b\x65ventHeight\x12\x16\n\x06\x61mount\x18\x05 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x06 \x01(\tR\x05\x64\x65nom\x12\x31\n\x14orchestrator_address\x18\x07 \x01(\tR\x13orchestratorAddress\x12\x14\n\x05state\x18\x08 \x01(\tR\x05state\x12\x1d\n\nclaim_type\x18\t \x01(\x11R\tclaimType\x12\x1b\n\ttx_hashes\x18\n \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0b \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\tR\tupdatedAt\"|\n\x1cGetPeggyWithdrawalTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\"`\n\x1dGetPeggyWithdrawalTxsResponse\x12?\n\x05\x66ield\x18\x01 \x03(\x0b\x32).injective_explorer_rpc.PeggyWithdrawalTxR\x05\x66ield\"\x87\x04\n\x11PeggyWithdrawalTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x04 \x01(\tR\x05\x64\x65nom\x12\x1d\n\nbridge_fee\x18\x05 \x01(\tR\tbridgeFee\x12$\n\x0eoutgoing_tx_id\x18\x06 \x01(\x04R\x0coutgoingTxId\x12#\n\rbatch_timeout\x18\x07 \x01(\x04R\x0c\x62\x61tchTimeout\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x08 \x01(\x04R\nbatchNonce\x12\x31\n\x14orchestrator_address\x18\t \x01(\tR\x13orchestratorAddress\x12\x1f\n\x0b\x65vent_nonce\x18\n \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x0b \x01(\x04R\x0b\x65ventHeight\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\nclaim_type\x18\r \x01(\x11R\tclaimType\x12\x1b\n\ttx_hashes\x18\x0e \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0f \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\tR\tupdatedAt\"\xf4\x01\n\x18GetIBCTransferTxsRequest\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0bsrc_channel\x18\x03 \x01(\tR\nsrcChannel\x12\x19\n\x08src_port\x18\x04 \x01(\tR\x07srcPort\x12!\n\x0c\x64\x65st_channel\x18\x05 \x01(\tR\x0b\x64\x65stChannel\x12\x1b\n\tdest_port\x18\x06 \x01(\tR\x08\x64\x65stPort\x12\x14\n\x05limit\x18\x07 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x08 \x01(\x04R\x04skip\"X\n\x19GetIBCTransferTxsResponse\x12;\n\x05\x66ield\x18\x01 \x03(\x0b\x32%.injective_explorer_rpc.IBCTransferTxR\x05\x66ield\"\x9e\x04\n\rIBCTransferTx\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x1f\n\x0bsource_port\x18\x03 \x01(\tR\nsourcePort\x12%\n\x0esource_channel\x18\x04 \x01(\tR\rsourceChannel\x12)\n\x10\x64\x65stination_port\x18\x05 \x01(\tR\x0f\x64\x65stinationPort\x12/\n\x13\x64\x65stination_channel\x18\x06 \x01(\tR\x12\x64\x65stinationChannel\x12\x16\n\x06\x61mount\x18\x07 \x01(\tR\x06\x61mount\x12\x14\n\x05\x64\x65nom\x18\x08 \x01(\tR\x05\x64\x65nom\x12%\n\x0etimeout_height\x18\t \x01(\tR\rtimeoutHeight\x12+\n\x11timeout_timestamp\x18\n \x01(\x04R\x10timeoutTimestamp\x12\'\n\x0fpacket_sequence\x18\x0b \x01(\x04R\x0epacketSequence\x12\x19\n\x08\x64\x61ta_hex\x18\x0c \x01(\x0cR\x07\x64\x61taHex\x12\x14\n\x05state\x18\r \x01(\tR\x05state\x12\x1b\n\ttx_hashes\x18\x0e \x03(\tR\x08txHashes\x12\x1d\n\ncreated_at\x18\x0f \x01(\tR\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\tR\tupdatedAt\"i\n\x13GetWasmCodesRequest\x12\x14\n\x05limit\x18\x01 \x01(\x11R\x05limit\x12\x1f\n\x0b\x66rom_number\x18\x02 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x03 \x01(\x12R\x08toNumber\"\x84\x01\n\x14GetWasmCodesResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x34\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32 .injective_explorer_rpc.WasmCodeR\x04\x64\x61ta\"\xe2\x03\n\x08WasmCode\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x17\n\x07tx_hash\x18\x02 \x01(\tR\x06txHash\x12<\n\x08\x63hecksum\x18\x03 \x01(\x0b\x32 .injective_explorer_rpc.ChecksumR\x08\x63hecksum\x12\x1d\n\ncreated_at\x18\x04 \x01(\x04R\tcreatedAt\x12#\n\rcontract_type\x18\x05 \x01(\tR\x0c\x63ontractType\x12\x18\n\x07version\x18\x06 \x01(\tR\x07version\x12J\n\npermission\x18\x07 \x01(\x0b\x32*.injective_explorer_rpc.ContractPermissionR\npermission\x12\x1f\n\x0b\x63ode_schema\x18\x08 \x01(\tR\ncodeSchema\x12\x1b\n\tcode_view\x18\t \x01(\tR\x08\x63odeView\x12\"\n\x0cinstantiates\x18\n \x01(\x04R\x0cinstantiates\x12\x18\n\x07\x63reator\x18\x0b \x01(\tR\x07\x63reator\x12\x1f\n\x0b\x63ode_number\x18\x0c \x01(\x12R\ncodeNumber\x12\x1f\n\x0bproposal_id\x18\r \x01(\x12R\nproposalId\"<\n\x08\x43hecksum\x12\x1c\n\talgorithm\x18\x01 \x01(\tR\talgorithm\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\"O\n\x12\x43ontractPermission\x12\x1f\n\x0b\x61\x63\x63\x65ss_type\x18\x01 \x01(\x11R\naccessType\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"1\n\x16GetWasmCodeByIDRequest\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x12R\x06\x63odeId\"\xf1\x03\n\x17GetWasmCodeByIDResponse\x12\x17\n\x07\x63ode_id\x18\x01 \x01(\x04R\x06\x63odeId\x12\x17\n\x07tx_hash\x18\x02 \x01(\tR\x06txHash\x12<\n\x08\x63hecksum\x18\x03 \x01(\x0b\x32 .injective_explorer_rpc.ChecksumR\x08\x63hecksum\x12\x1d\n\ncreated_at\x18\x04 \x01(\x04R\tcreatedAt\x12#\n\rcontract_type\x18\x05 \x01(\tR\x0c\x63ontractType\x12\x18\n\x07version\x18\x06 \x01(\tR\x07version\x12J\n\npermission\x18\x07 \x01(\x0b\x32*.injective_explorer_rpc.ContractPermissionR\npermission\x12\x1f\n\x0b\x63ode_schema\x18\x08 \x01(\tR\ncodeSchema\x12\x1b\n\tcode_view\x18\t \x01(\tR\x08\x63odeView\x12\"\n\x0cinstantiates\x18\n \x01(\x04R\x0cinstantiates\x12\x18\n\x07\x63reator\x18\x0b \x01(\tR\x07\x63reator\x12\x1f\n\x0b\x63ode_number\x18\x0c \x01(\x12R\ncodeNumber\x12\x1f\n\x0bproposal_id\x18\r \x01(\x12R\nproposalId\"\xff\x01\n\x17GetWasmContractsRequest\x12\x14\n\x05limit\x18\x01 \x01(\x11R\x05limit\x12\x17\n\x07\x63ode_id\x18\x02 \x01(\x12R\x06\x63odeId\x12\x1f\n\x0b\x66rom_number\x18\x03 \x01(\x12R\nfromNumber\x12\x1b\n\tto_number\x18\x04 \x01(\x12R\x08toNumber\x12\x1f\n\x0b\x61ssets_only\x18\x05 \x01(\x08R\nassetsOnly\x12\x12\n\x04skip\x18\x06 \x01(\x12R\x04skip\x12\x14\n\x05label\x18\x07 \x01(\tR\x05label\x12\x14\n\x05token\x18\x08 \x01(\tR\x05token\x12\x16\n\x06lookup\x18\t \x01(\tR\x06lookup\"\x8c\x01\n\x18GetWasmContractsResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.WasmContractR\x04\x64\x61ta\"\xe9\x04\n\x0cWasmContract\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x17\n\x07tx_hash\x18\x03 \x01(\tR\x06txHash\x12\x18\n\x07\x63reator\x18\x04 \x01(\tR\x07\x63reator\x12\x1a\n\x08\x65xecutes\x18\x05 \x01(\x04R\x08\x65xecutes\x12\'\n\x0finstantiated_at\x18\x06 \x01(\x04R\x0einstantiatedAt\x12!\n\x0cinit_message\x18\x07 \x01(\tR\x0binitMessage\x12(\n\x10last_executed_at\x18\x08 \x01(\x04R\x0elastExecutedAt\x12:\n\x05\x66unds\x18\t \x03(\x0b\x32$.injective_explorer_rpc.ContractFundR\x05\x66unds\x12\x17\n\x07\x63ode_id\x18\n \x01(\x04R\x06\x63odeId\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x36\n\x17\x63urrent_migrate_message\x18\x0c \x01(\tR\x15\x63urrentMigrateMessage\x12\'\n\x0f\x63ontract_number\x18\r \x01(\x12R\x0e\x63ontractNumber\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12I\n\rcw20_metadata\x18\x10 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\x12\x1f\n\x0bproposal_id\x18\x11 \x01(\x12R\nproposalId\"<\n\x0c\x43ontractFund\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\xa6\x01\n\x0c\x43w20Metadata\x12\x44\n\ntoken_info\x18\x01 \x01(\x0b\x32%.injective_explorer_rpc.Cw20TokenInfoR\ttokenInfo\x12P\n\x0emarketing_info\x18\x02 \x01(\x0b\x32).injective_explorer_rpc.Cw20MarketingInfoR\rmarketingInfo\"z\n\rCw20TokenInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x03 \x01(\x12R\x08\x64\x65\x63imals\x12!\n\x0ctotal_supply\x18\x04 \x01(\tR\x0btotalSupply\"\x81\x01\n\x11\x43w20MarketingInfo\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04logo\x18\x03 \x01(\tR\x04logo\x12\x1c\n\tmarketing\x18\x04 \x01(\x0cR\tmarketing\"L\n\x1fGetWasmContractByAddressRequest\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\"\xfd\x04\n GetWasmContractByAddressResponse\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x17\n\x07tx_hash\x18\x03 \x01(\tR\x06txHash\x12\x18\n\x07\x63reator\x18\x04 \x01(\tR\x07\x63reator\x12\x1a\n\x08\x65xecutes\x18\x05 \x01(\x04R\x08\x65xecutes\x12\'\n\x0finstantiated_at\x18\x06 \x01(\x04R\x0einstantiatedAt\x12!\n\x0cinit_message\x18\x07 \x01(\tR\x0binitMessage\x12(\n\x10last_executed_at\x18\x08 \x01(\x04R\x0elastExecutedAt\x12:\n\x05\x66unds\x18\t \x03(\x0b\x32$.injective_explorer_rpc.ContractFundR\x05\x66unds\x12\x17\n\x07\x63ode_id\x18\n \x01(\x04R\x06\x63odeId\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x36\n\x17\x63urrent_migrate_message\x18\x0c \x01(\tR\x15\x63urrentMigrateMessage\x12\'\n\x0f\x63ontract_number\x18\r \x01(\x12R\x0e\x63ontractNumber\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x12\n\x04type\x18\x0f \x01(\tR\x04type\x12I\n\rcw20_metadata\x18\x10 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\x12\x1f\n\x0bproposal_id\x18\x11 \x01(\x12R\nproposalId\"G\n\x15GetCw20BalanceRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05limit\x18\x02 \x01(\x11R\x05limit\"W\n\x16GetCw20BalanceResponse\x12=\n\x05\x66ield\x18\x01 \x03(\x0b\x32\'.injective_explorer_rpc.WasmCw20BalanceR\x05\x66ield\"\xda\x01\n\x0fWasmCw20Balance\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\x12\x18\n\x07\x61\x63\x63ount\x18\x02 \x01(\tR\x07\x61\x63\x63ount\x12\x18\n\x07\x62\x61lance\x18\x03 \x01(\tR\x07\x62\x61lance\x12\x1d\n\nupdated_at\x18\x04 \x01(\x12R\tupdatedAt\x12I\n\rcw20_metadata\x18\x05 \x01(\x0b\x32$.injective_explorer_rpc.Cw20MetadataR\x0c\x63w20Metadata\"1\n\x0fRelayersRequest\x12\x1e\n\x0bmarket_i_ds\x18\x01 \x03(\tR\tmarketIDs\"P\n\x10RelayersResponse\x12<\n\x05\x66ield\x18\x01 \x03(\x0b\x32&.injective_explorer_rpc.RelayerMarketsR\x05\x66ield\"j\n\x0eRelayerMarkets\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12;\n\x08relayers\x18\x02 \x03(\x0b\x32\x1f.injective_explorer_rpc.RelayerR\x08relayers\"/\n\x07Relayer\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03\x63ta\x18\x02 \x01(\tR\x03\x63ta\"\xbd\x02\n\x17GetBankTransfersRequest\x12\x18\n\x07senders\x18\x01 \x03(\tR\x07senders\x12\x1e\n\nrecipients\x18\x02 \x03(\tR\nrecipients\x12\x39\n\x19is_community_pool_related\x18\x03 \x01(\x08R\x16isCommunityPoolRelated\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x18\n\x07\x61\x64\x64ress\x18\x08 \x03(\tR\x07\x61\x64\x64ress\x12\x19\n\x08per_page\x18\t \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\n \x01(\tR\x05token\"\x8c\x01\n\x18GetBankTransfersResponse\x12\x36\n\x06paging\x18\x01 \x01(\x0b\x32\x1e.injective_explorer_rpc.PagingR\x06paging\x12\x38\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32$.injective_explorer_rpc.BankTransferR\x04\x64\x61ta\"\xc8\x01\n\x0c\x42\x61nkTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1c\n\trecipient\x18\x02 \x01(\tR\trecipient\x12\x36\n\x07\x61mounts\x18\x03 \x03(\x0b\x32\x1c.injective_explorer_rpc.CoinR\x07\x61mounts\x12!\n\x0c\x62lock_number\x18\x04 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x05 \x01(\tR\x0e\x62lockTimestamp\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue\"\x12\n\x10StreamTxsRequest\"\xa8\x02\n\x11StreamTxsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\'\n\x0f\x62lock_timestamp\x18\x03 \x01(\tR\x0e\x62lockTimestamp\x12\x12\n\x04hash\x18\x04 \x01(\tR\x04hash\x12\x1c\n\tcodespace\x18\x05 \x01(\tR\tcodespace\x12\x1a\n\x08messages\x18\x06 \x01(\tR\x08messages\x12\x1b\n\ttx_number\x18\x07 \x01(\x04R\x08txNumber\x12\x1b\n\terror_log\x18\x08 \x01(\tR\x08\x65rrorLog\x12\x12\n\x04\x63ode\x18\t \x01(\rR\x04\x63ode\x12\x1b\n\tclaim_ids\x18\n \x03(\x12R\x08\x63laimIds\"\x15\n\x13StreamBlocksRequest\"\xea\x02\n\x14StreamBlocksResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1a\n\x08proposer\x18\x02 \x01(\tR\x08proposer\x12\x18\n\x07moniker\x18\x03 \x01(\tR\x07moniker\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12\x1f\n\x0bparent_hash\x18\x05 \x01(\tR\nparentHash\x12&\n\x0fnum_pre_commits\x18\x06 \x01(\x12R\rnumPreCommits\x12\x17\n\x07num_txs\x18\x07 \x01(\x12R\x06numTxs\x12\x33\n\x03txs\x18\x08 \x03(\x0b\x32!.injective_explorer_rpc.TxDataRPCR\x03txs\x12\x1c\n\ttimestamp\x18\t \x01(\tR\ttimestamp\x12\x30\n\x14\x62lock_unix_timestamp\x18\n \x01(\x04R\x12\x62lockUnixTimestamp\"\x11\n\x0fGetStatsRequest\"\x9c\x02\n\x10GetStatsResponse\x12\x1c\n\taddresses\x18\x01 \x01(\x04R\taddresses\x12\x16\n\x06\x61ssets\x18\x02 \x01(\x04R\x06\x61ssets\x12\x1d\n\ninj_supply\x18\x03 \x01(\x04R\tinjSupply\x12\x1c\n\ntxs_ps24_h\x18\x04 \x01(\x04R\x08txsPs24H\x12\x1e\n\x0btxs_ps100_b\x18\x05 \x01(\x04R\ttxsPs100B\x12\x1b\n\ttxs_total\x18\x06 \x01(\x04R\x08txsTotal\x12\x17\n\x07txs24_h\x18\x07 \x01(\x04R\x06txs24H\x12\x17\n\x07txs30_d\x18\x08 \x01(\x04R\x06txs30D\x12&\n\x0f\x62lock_count24_h\x18\t \x01(\x04R\rblockCount24H2\xe0\x16\n\x14InjectiveExplorerRPC\x12l\n\rGetAccountTxs\x12,.injective_explorer_rpc.GetAccountTxsRequest\x1a-.injective_explorer_rpc.GetAccountTxsResponse\x12r\n\x0fGetAccountTxsV2\x12..injective_explorer_rpc.GetAccountTxsV2Request\x1a/.injective_explorer_rpc.GetAccountTxsV2Response\x12o\n\x0eGetContractTxs\x12-.injective_explorer_rpc.GetContractTxsRequest\x1a..injective_explorer_rpc.GetContractTxsResponse\x12u\n\x10GetContractTxsV2\x12/.injective_explorer_rpc.GetContractTxsV2Request\x1a\x30.injective_explorer_rpc.GetContractTxsV2Response\x12`\n\tGetBlocks\x12(.injective_explorer_rpc.GetBlocksRequest\x1a).injective_explorer_rpc.GetBlocksResponse\x12\x66\n\x0bGetBlocksV2\x12*.injective_explorer_rpc.GetBlocksV2Request\x1a+.injective_explorer_rpc.GetBlocksV2Response\x12]\n\x08GetBlock\x12\'.injective_explorer_rpc.GetBlockRequest\x1a(.injective_explorer_rpc.GetBlockResponse\x12l\n\rGetValidators\x12,.injective_explorer_rpc.GetValidatorsRequest\x1a-.injective_explorer_rpc.GetValidatorsResponse\x12i\n\x0cGetValidator\x12+.injective_explorer_rpc.GetValidatorRequest\x1a,.injective_explorer_rpc.GetValidatorResponse\x12{\n\x12GetValidatorUptime\x12\x31.injective_explorer_rpc.GetValidatorUptimeRequest\x1a\x32.injective_explorer_rpc.GetValidatorUptimeResponse\x12W\n\x06GetTxs\x12%.injective_explorer_rpc.GetTxsRequest\x1a&.injective_explorer_rpc.GetTxsResponse\x12]\n\x08GetTxsV2\x12\'.injective_explorer_rpc.GetTxsV2Request\x1a(.injective_explorer_rpc.GetTxsV2Response\x12l\n\rGetTxByTxHash\x12,.injective_explorer_rpc.GetTxByTxHashRequest\x1a-.injective_explorer_rpc.GetTxByTxHashResponse\x12{\n\x12GetPeggyDepositTxs\x12\x31.injective_explorer_rpc.GetPeggyDepositTxsRequest\x1a\x32.injective_explorer_rpc.GetPeggyDepositTxsResponse\x12\x84\x01\n\x15GetPeggyWithdrawalTxs\x12\x34.injective_explorer_rpc.GetPeggyWithdrawalTxsRequest\x1a\x35.injective_explorer_rpc.GetPeggyWithdrawalTxsResponse\x12x\n\x11GetIBCTransferTxs\x12\x30.injective_explorer_rpc.GetIBCTransferTxsRequest\x1a\x31.injective_explorer_rpc.GetIBCTransferTxsResponse\x12i\n\x0cGetWasmCodes\x12+.injective_explorer_rpc.GetWasmCodesRequest\x1a,.injective_explorer_rpc.GetWasmCodesResponse\x12r\n\x0fGetWasmCodeByID\x12..injective_explorer_rpc.GetWasmCodeByIDRequest\x1a/.injective_explorer_rpc.GetWasmCodeByIDResponse\x12u\n\x10GetWasmContracts\x12/.injective_explorer_rpc.GetWasmContractsRequest\x1a\x30.injective_explorer_rpc.GetWasmContractsResponse\x12\x8d\x01\n\x18GetWasmContractByAddress\x12\x37.injective_explorer_rpc.GetWasmContractByAddressRequest\x1a\x38.injective_explorer_rpc.GetWasmContractByAddressResponse\x12o\n\x0eGetCw20Balance\x12-.injective_explorer_rpc.GetCw20BalanceRequest\x1a..injective_explorer_rpc.GetCw20BalanceResponse\x12]\n\x08Relayers\x12\'.injective_explorer_rpc.RelayersRequest\x1a(.injective_explorer_rpc.RelayersResponse\x12u\n\x10GetBankTransfers\x12/.injective_explorer_rpc.GetBankTransfersRequest\x1a\x30.injective_explorer_rpc.GetBankTransfersResponse\x12\x62\n\tStreamTxs\x12(.injective_explorer_rpc.StreamTxsRequest\x1a).injective_explorer_rpc.StreamTxsResponse0\x01\x12k\n\x0cStreamBlocks\x12+.injective_explorer_rpc.StreamBlocksRequest\x1a,.injective_explorer_rpc.StreamBlocksResponse0\x01\x12]\n\x08GetStats\x12\'.injective_explorer_rpc.GetStatsRequest\x1a(.injective_explorer_rpc.GetStatsResponseB\xc2\x01\n\x1a\x63om.injective_explorer_rpcB\x19InjectiveExplorerRpcProtoP\x01Z\x19/injective_explorer_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveExplorerRpc\xca\x02\x14InjectiveExplorerRpc\xe2\x02 InjectiveExplorerRpc\\GPBMetadata\xea\x02\x14InjectiveExplorerRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,138 +42,156 @@ _globals['_EVENT_ATTRIBUTESENTRY']._serialized_end=1733 _globals['_SIGNATURE']._serialized_start=1735 _globals['_SIGNATURE']._serialized_end=1854 - _globals['_GETCONTRACTTXSREQUEST']._serialized_start=1857 - _globals['_GETCONTRACTTXSREQUEST']._serialized_end=2010 - _globals['_GETCONTRACTTXSRESPONSE']._serialized_start=2013 - _globals['_GETCONTRACTTXSRESPONSE']._serialized_end=2151 - _globals['_GETCONTRACTTXSV2REQUEST']._serialized_start=2154 - _globals['_GETCONTRACTTXSV2REQUEST']._serialized_end=2309 - _globals['_GETCONTRACTTXSV2RESPONSE']._serialized_start=2311 - _globals['_GETCONTRACTTXSV2RESPONSE']._serialized_end=2415 - _globals['_GETBLOCKSREQUEST']._serialized_start=2417 - _globals['_GETBLOCKSREQUEST']._serialized_end=2539 - _globals['_GETBLOCKSRESPONSE']._serialized_start=2542 - _globals['_GETBLOCKSRESPONSE']._serialized_end=2672 - _globals['_BLOCKINFO']._serialized_start=2675 - _globals['_BLOCKINFO']._serialized_end=2976 - _globals['_TXDATARPC']._serialized_start=2979 - _globals['_TXDATARPC']._serialized_end=3267 - _globals['_GETBLOCKREQUEST']._serialized_start=3269 - _globals['_GETBLOCKREQUEST']._serialized_end=3302 - _globals['_GETBLOCKRESPONSE']._serialized_start=3304 - _globals['_GETBLOCKRESPONSE']._serialized_end=3421 - _globals['_BLOCKDETAILINFO']._serialized_start=3424 - _globals['_BLOCKDETAILINFO']._serialized_end=3757 - _globals['_TXDATA']._serialized_start=3760 - _globals['_TXDATA']._serialized_end=4099 - _globals['_GETVALIDATORSREQUEST']._serialized_start=4101 - _globals['_GETVALIDATORSREQUEST']._serialized_end=4123 - _globals['_GETVALIDATORSRESPONSE']._serialized_start=4125 - _globals['_GETVALIDATORSRESPONSE']._serialized_end=4241 - _globals['_VALIDATOR']._serialized_start=4244 - _globals['_VALIDATOR']._serialized_end=5193 - _globals['_VALIDATORDESCRIPTION']._serialized_start=5196 - _globals['_VALIDATORDESCRIPTION']._serialized_end=5396 - _globals['_VALIDATORUPTIME']._serialized_start=5398 - _globals['_VALIDATORUPTIME']._serialized_end=5474 - _globals['_SLASHINGEVENT']._serialized_start=5477 - _globals['_SLASHINGEVENT']._serialized_end=5701 - _globals['_GETVALIDATORREQUEST']._serialized_start=5703 - _globals['_GETVALIDATORREQUEST']._serialized_end=5750 - _globals['_GETVALIDATORRESPONSE']._serialized_start=5752 - _globals['_GETVALIDATORRESPONSE']._serialized_end=5867 - _globals['_GETVALIDATORUPTIMEREQUEST']._serialized_start=5869 - _globals['_GETVALIDATORUPTIMEREQUEST']._serialized_end=5922 - _globals['_GETVALIDATORUPTIMERESPONSE']._serialized_start=5924 - _globals['_GETVALIDATORUPTIMERESPONSE']._serialized_end=6051 - _globals['_GETTXSREQUEST']._serialized_start=6054 - _globals['_GETTXSREQUEST']._serialized_end=6345 - _globals['_GETTXSRESPONSE']._serialized_start=6347 - _globals['_GETTXSRESPONSE']._serialized_end=6471 - _globals['_GETTXBYTXHASHREQUEST']._serialized_start=6473 - _globals['_GETTXBYTXHASHREQUEST']._serialized_end=6515 - _globals['_GETTXBYTXHASHRESPONSE']._serialized_start=6517 - _globals['_GETTXBYTXHASHRESPONSE']._serialized_end=6636 - _globals['_GETPEGGYDEPOSITTXSREQUEST']._serialized_start=6638 - _globals['_GETPEGGYDEPOSITTXSREQUEST']._serialized_end=6759 - _globals['_GETPEGGYDEPOSITTXSRESPONSE']._serialized_start=6761 - _globals['_GETPEGGYDEPOSITTXSRESPONSE']._serialized_end=6851 - _globals['_PEGGYDEPOSITTX']._serialized_start=6854 - _globals['_PEGGYDEPOSITTX']._serialized_end=7231 - _globals['_GETPEGGYWITHDRAWALTXSREQUEST']._serialized_start=7233 - _globals['_GETPEGGYWITHDRAWALTXSREQUEST']._serialized_end=7357 - _globals['_GETPEGGYWITHDRAWALTXSRESPONSE']._serialized_start=7359 - _globals['_GETPEGGYWITHDRAWALTXSRESPONSE']._serialized_end=7455 - _globals['_PEGGYWITHDRAWALTX']._serialized_start=7458 - _globals['_PEGGYWITHDRAWALTX']._serialized_end=7977 - _globals['_GETIBCTRANSFERTXSREQUEST']._serialized_start=7980 - _globals['_GETIBCTRANSFERTXSREQUEST']._serialized_end=8224 - _globals['_GETIBCTRANSFERTXSRESPONSE']._serialized_start=8226 - _globals['_GETIBCTRANSFERTXSRESPONSE']._serialized_end=8314 - _globals['_IBCTRANSFERTX']._serialized_start=8317 - _globals['_IBCTRANSFERTX']._serialized_end=8859 - _globals['_GETWASMCODESREQUEST']._serialized_start=8861 - _globals['_GETWASMCODESREQUEST']._serialized_end=8966 - _globals['_GETWASMCODESRESPONSE']._serialized_start=8969 - _globals['_GETWASMCODESRESPONSE']._serialized_end=9101 - _globals['_WASMCODE']._serialized_start=9104 - _globals['_WASMCODE']._serialized_end=9586 - _globals['_CHECKSUM']._serialized_start=9588 - _globals['_CHECKSUM']._serialized_end=9648 - _globals['_CONTRACTPERMISSION']._serialized_start=9650 - _globals['_CONTRACTPERMISSION']._serialized_end=9729 - _globals['_GETWASMCODEBYIDREQUEST']._serialized_start=9731 - _globals['_GETWASMCODEBYIDREQUEST']._serialized_end=9780 - _globals['_GETWASMCODEBYIDRESPONSE']._serialized_start=9783 - _globals['_GETWASMCODEBYIDRESPONSE']._serialized_end=10280 - _globals['_GETWASMCONTRACTSREQUEST']._serialized_start=10283 - _globals['_GETWASMCONTRACTSREQUEST']._serialized_end=10492 - _globals['_GETWASMCONTRACTSRESPONSE']._serialized_start=10495 - _globals['_GETWASMCONTRACTSRESPONSE']._serialized_end=10635 - _globals['_WASMCONTRACT']._serialized_start=10638 - _globals['_WASMCONTRACT']._serialized_end=11255 - _globals['_CONTRACTFUND']._serialized_start=11257 - _globals['_CONTRACTFUND']._serialized_end=11317 - _globals['_CW20METADATA']._serialized_start=11320 - _globals['_CW20METADATA']._serialized_end=11486 - _globals['_CW20TOKENINFO']._serialized_start=11488 - _globals['_CW20TOKENINFO']._serialized_end=11610 - _globals['_CW20MARKETINGINFO']._serialized_start=11613 - _globals['_CW20MARKETINGINFO']._serialized_end=11742 - _globals['_GETWASMCONTRACTBYADDRESSREQUEST']._serialized_start=11744 - _globals['_GETWASMCONTRACTBYADDRESSREQUEST']._serialized_end=11820 - _globals['_GETWASMCONTRACTBYADDRESSRESPONSE']._serialized_start=11823 - _globals['_GETWASMCONTRACTBYADDRESSRESPONSE']._serialized_end=12460 - _globals['_GETCW20BALANCEREQUEST']._serialized_start=12462 - _globals['_GETCW20BALANCEREQUEST']._serialized_end=12533 - _globals['_GETCW20BALANCERESPONSE']._serialized_start=12535 - _globals['_GETCW20BALANCERESPONSE']._serialized_end=12622 - _globals['_WASMCW20BALANCE']._serialized_start=12625 - _globals['_WASMCW20BALANCE']._serialized_end=12843 - _globals['_RELAYERSREQUEST']._serialized_start=12845 - _globals['_RELAYERSREQUEST']._serialized_end=12894 - _globals['_RELAYERSRESPONSE']._serialized_start=12896 - _globals['_RELAYERSRESPONSE']._serialized_end=12976 - _globals['_RELAYERMARKETS']._serialized_start=12978 - _globals['_RELAYERMARKETS']._serialized_end=13084 - _globals['_RELAYER']._serialized_start=13086 - _globals['_RELAYER']._serialized_end=13133 - _globals['_GETBANKTRANSFERSREQUEST']._serialized_start=13136 - _globals['_GETBANKTRANSFERSREQUEST']._serialized_end=13453 - _globals['_GETBANKTRANSFERSRESPONSE']._serialized_start=13456 - _globals['_GETBANKTRANSFERSRESPONSE']._serialized_end=13596 - _globals['_BANKTRANSFER']._serialized_start=13599 - _globals['_BANKTRANSFER']._serialized_end=13799 - _globals['_COIN']._serialized_start=13801 - _globals['_COIN']._serialized_end=13853 - _globals['_STREAMTXSREQUEST']._serialized_start=13855 - _globals['_STREAMTXSREQUEST']._serialized_end=13873 - _globals['_STREAMTXSRESPONSE']._serialized_start=13876 - _globals['_STREAMTXSRESPONSE']._serialized_end=14172 - _globals['_STREAMBLOCKSREQUEST']._serialized_start=14174 - _globals['_STREAMBLOCKSREQUEST']._serialized_end=14195 - _globals['_STREAMBLOCKSRESPONSE']._serialized_start=14198 - _globals['_STREAMBLOCKSRESPONSE']._serialized_end=14510 - _globals['_INJECTIVEEXPLORERRPC']._serialized_start=14513 - _globals['_INJECTIVEEXPLORERRPC']._serialized_end=17015 + _globals['_GETACCOUNTTXSV2REQUEST']._serialized_start=1857 + _globals['_GETACCOUNTTXSV2REQUEST']._serialized_end=2034 + _globals['_GETACCOUNTTXSV2RESPONSE']._serialized_start=2037 + _globals['_GETACCOUNTTXSV2RESPONSE']._serialized_end=2176 + _globals['_CURSOR']._serialized_start=2178 + _globals['_CURSOR']._serialized_end=2206 + _globals['_GETCONTRACTTXSREQUEST']._serialized_start=2209 + _globals['_GETCONTRACTTXSREQUEST']._serialized_end=2362 + _globals['_GETCONTRACTTXSRESPONSE']._serialized_start=2365 + _globals['_GETCONTRACTTXSRESPONSE']._serialized_end=2503 + _globals['_GETCONTRACTTXSV2REQUEST']._serialized_start=2506 + _globals['_GETCONTRACTTXSV2REQUEST']._serialized_end=2690 + _globals['_GETCONTRACTTXSV2RESPONSE']._serialized_start=2693 + _globals['_GETCONTRACTTXSV2RESPONSE']._serialized_end=2833 + _globals['_GETBLOCKSREQUEST']._serialized_start=2835 + _globals['_GETBLOCKSREQUEST']._serialized_end=2957 + _globals['_GETBLOCKSRESPONSE']._serialized_start=2960 + _globals['_GETBLOCKSRESPONSE']._serialized_end=3090 + _globals['_BLOCKINFO']._serialized_start=3093 + _globals['_BLOCKINFO']._serialized_end=3444 + _globals['_TXDATARPC']._serialized_start=3447 + _globals['_TXDATARPC']._serialized_end=3735 + _globals['_GETBLOCKSV2REQUEST']._serialized_start=3737 + _globals['_GETBLOCKSV2REQUEST']._serialized_end=3806 + _globals['_GETBLOCKSV2RESPONSE']._serialized_start=3809 + _globals['_GETBLOCKSV2RESPONSE']._serialized_end=3941 + _globals['_GETBLOCKREQUEST']._serialized_start=3943 + _globals['_GETBLOCKREQUEST']._serialized_end=3976 + _globals['_GETBLOCKRESPONSE']._serialized_start=3978 + _globals['_GETBLOCKRESPONSE']._serialized_end=4095 + _globals['_BLOCKDETAILINFO']._serialized_start=4098 + _globals['_BLOCKDETAILINFO']._serialized_end=4481 + _globals['_TXDATA']._serialized_start=4484 + _globals['_TXDATA']._serialized_end=5009 + _globals['_GETVALIDATORSREQUEST']._serialized_start=5011 + _globals['_GETVALIDATORSREQUEST']._serialized_end=5033 + _globals['_GETVALIDATORSRESPONSE']._serialized_start=5035 + _globals['_GETVALIDATORSRESPONSE']._serialized_end=5151 + _globals['_VALIDATOR']._serialized_start=5154 + _globals['_VALIDATOR']._serialized_end=6103 + _globals['_VALIDATORDESCRIPTION']._serialized_start=6106 + _globals['_VALIDATORDESCRIPTION']._serialized_end=6306 + _globals['_VALIDATORUPTIME']._serialized_start=6308 + _globals['_VALIDATORUPTIME']._serialized_end=6384 + _globals['_SLASHINGEVENT']._serialized_start=6387 + _globals['_SLASHINGEVENT']._serialized_end=6611 + _globals['_GETVALIDATORREQUEST']._serialized_start=6613 + _globals['_GETVALIDATORREQUEST']._serialized_end=6660 + _globals['_GETVALIDATORRESPONSE']._serialized_start=6662 + _globals['_GETVALIDATORRESPONSE']._serialized_end=6777 + _globals['_GETVALIDATORUPTIMEREQUEST']._serialized_start=6779 + _globals['_GETVALIDATORUPTIMEREQUEST']._serialized_end=6832 + _globals['_GETVALIDATORUPTIMERESPONSE']._serialized_start=6834 + _globals['_GETVALIDATORUPTIMERESPONSE']._serialized_end=6961 + _globals['_GETTXSREQUEST']._serialized_start=6964 + _globals['_GETTXSREQUEST']._serialized_end=7255 + _globals['_GETTXSRESPONSE']._serialized_start=7257 + _globals['_GETTXSRESPONSE']._serialized_end=7381 + _globals['_GETTXSV2REQUEST']._serialized_start=7384 + _globals['_GETTXSV2REQUEST']._serialized_end=7587 + _globals['_GETTXSV2RESPONSE']._serialized_start=7589 + _globals['_GETTXSV2RESPONSE']._serialized_end=7715 + _globals['_GETTXBYTXHASHREQUEST']._serialized_start=7717 + _globals['_GETTXBYTXHASHREQUEST']._serialized_end=7791 + _globals['_GETTXBYTXHASHRESPONSE']._serialized_start=7793 + _globals['_GETTXBYTXHASHRESPONSE']._serialized_end=7912 + _globals['_GETPEGGYDEPOSITTXSREQUEST']._serialized_start=7914 + _globals['_GETPEGGYDEPOSITTXSREQUEST']._serialized_end=8035 + _globals['_GETPEGGYDEPOSITTXSRESPONSE']._serialized_start=8037 + _globals['_GETPEGGYDEPOSITTXSRESPONSE']._serialized_end=8127 + _globals['_PEGGYDEPOSITTX']._serialized_start=8130 + _globals['_PEGGYDEPOSITTX']._serialized_end=8507 + _globals['_GETPEGGYWITHDRAWALTXSREQUEST']._serialized_start=8509 + _globals['_GETPEGGYWITHDRAWALTXSREQUEST']._serialized_end=8633 + _globals['_GETPEGGYWITHDRAWALTXSRESPONSE']._serialized_start=8635 + _globals['_GETPEGGYWITHDRAWALTXSRESPONSE']._serialized_end=8731 + _globals['_PEGGYWITHDRAWALTX']._serialized_start=8734 + _globals['_PEGGYWITHDRAWALTX']._serialized_end=9253 + _globals['_GETIBCTRANSFERTXSREQUEST']._serialized_start=9256 + _globals['_GETIBCTRANSFERTXSREQUEST']._serialized_end=9500 + _globals['_GETIBCTRANSFERTXSRESPONSE']._serialized_start=9502 + _globals['_GETIBCTRANSFERTXSRESPONSE']._serialized_end=9590 + _globals['_IBCTRANSFERTX']._serialized_start=9593 + _globals['_IBCTRANSFERTX']._serialized_end=10135 + _globals['_GETWASMCODESREQUEST']._serialized_start=10137 + _globals['_GETWASMCODESREQUEST']._serialized_end=10242 + _globals['_GETWASMCODESRESPONSE']._serialized_start=10245 + _globals['_GETWASMCODESRESPONSE']._serialized_end=10377 + _globals['_WASMCODE']._serialized_start=10380 + _globals['_WASMCODE']._serialized_end=10862 + _globals['_CHECKSUM']._serialized_start=10864 + _globals['_CHECKSUM']._serialized_end=10924 + _globals['_CONTRACTPERMISSION']._serialized_start=10926 + _globals['_CONTRACTPERMISSION']._serialized_end=11005 + _globals['_GETWASMCODEBYIDREQUEST']._serialized_start=11007 + _globals['_GETWASMCODEBYIDREQUEST']._serialized_end=11056 + _globals['_GETWASMCODEBYIDRESPONSE']._serialized_start=11059 + _globals['_GETWASMCODEBYIDRESPONSE']._serialized_end=11556 + _globals['_GETWASMCONTRACTSREQUEST']._serialized_start=11559 + _globals['_GETWASMCONTRACTSREQUEST']._serialized_end=11814 + _globals['_GETWASMCONTRACTSRESPONSE']._serialized_start=11817 + _globals['_GETWASMCONTRACTSRESPONSE']._serialized_end=11957 + _globals['_WASMCONTRACT']._serialized_start=11960 + _globals['_WASMCONTRACT']._serialized_end=12577 + _globals['_CONTRACTFUND']._serialized_start=12579 + _globals['_CONTRACTFUND']._serialized_end=12639 + _globals['_CW20METADATA']._serialized_start=12642 + _globals['_CW20METADATA']._serialized_end=12808 + _globals['_CW20TOKENINFO']._serialized_start=12810 + _globals['_CW20TOKENINFO']._serialized_end=12932 + _globals['_CW20MARKETINGINFO']._serialized_start=12935 + _globals['_CW20MARKETINGINFO']._serialized_end=13064 + _globals['_GETWASMCONTRACTBYADDRESSREQUEST']._serialized_start=13066 + _globals['_GETWASMCONTRACTBYADDRESSREQUEST']._serialized_end=13142 + _globals['_GETWASMCONTRACTBYADDRESSRESPONSE']._serialized_start=13145 + _globals['_GETWASMCONTRACTBYADDRESSRESPONSE']._serialized_end=13782 + _globals['_GETCW20BALANCEREQUEST']._serialized_start=13784 + _globals['_GETCW20BALANCEREQUEST']._serialized_end=13855 + _globals['_GETCW20BALANCERESPONSE']._serialized_start=13857 + _globals['_GETCW20BALANCERESPONSE']._serialized_end=13944 + _globals['_WASMCW20BALANCE']._serialized_start=13947 + _globals['_WASMCW20BALANCE']._serialized_end=14165 + _globals['_RELAYERSREQUEST']._serialized_start=14167 + _globals['_RELAYERSREQUEST']._serialized_end=14216 + _globals['_RELAYERSRESPONSE']._serialized_start=14218 + _globals['_RELAYERSRESPONSE']._serialized_end=14298 + _globals['_RELAYERMARKETS']._serialized_start=14300 + _globals['_RELAYERMARKETS']._serialized_end=14406 + _globals['_RELAYER']._serialized_start=14408 + _globals['_RELAYER']._serialized_end=14455 + _globals['_GETBANKTRANSFERSREQUEST']._serialized_start=14458 + _globals['_GETBANKTRANSFERSREQUEST']._serialized_end=14775 + _globals['_GETBANKTRANSFERSRESPONSE']._serialized_start=14778 + _globals['_GETBANKTRANSFERSRESPONSE']._serialized_end=14918 + _globals['_BANKTRANSFER']._serialized_start=14921 + _globals['_BANKTRANSFER']._serialized_end=15121 + _globals['_COIN']._serialized_start=15123 + _globals['_COIN']._serialized_end=15204 + _globals['_STREAMTXSREQUEST']._serialized_start=15206 + _globals['_STREAMTXSREQUEST']._serialized_end=15224 + _globals['_STREAMTXSRESPONSE']._serialized_start=15227 + _globals['_STREAMTXSRESPONSE']._serialized_end=15523 + _globals['_STREAMBLOCKSREQUEST']._serialized_start=15525 + _globals['_STREAMBLOCKSREQUEST']._serialized_end=15546 + _globals['_STREAMBLOCKSRESPONSE']._serialized_start=15549 + _globals['_STREAMBLOCKSRESPONSE']._serialized_end=15911 + _globals['_GETSTATSREQUEST']._serialized_start=15913 + _globals['_GETSTATSREQUEST']._serialized_end=15930 + _globals['_GETSTATSRESPONSE']._serialized_start=15933 + _globals['_GETSTATSRESPONSE']._serialized_end=16217 + _globals['_INJECTIVEEXPLORERRPC']._serialized_start=16220 + _globals['_INJECTIVEEXPLORERRPC']._serialized_end=19132 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_explorer_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_explorer_rpc_pb2_grpc.py index 24ce812f..063c4b1d 100644 --- a/pyinjective/proto/exchange/injective_explorer_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_explorer_rpc_pb2_grpc.py @@ -20,6 +20,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsRequest.SerializeToString, response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsResponse.FromString, _registered_method=True) + self.GetAccountTxsV2 = channel.unary_unary( + '/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxsV2', + request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Response.FromString, + _registered_method=True) self.GetContractTxs = channel.unary_unary( '/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs', request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsRequest.SerializeToString, @@ -35,6 +40,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksRequest.SerializeToString, response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksResponse.FromString, _registered_method=True) + self.GetBlocksV2 = channel.unary_unary( + '/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocksV2', + request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Response.FromString, + _registered_method=True) self.GetBlock = channel.unary_unary( '/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock', request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockRequest.SerializeToString, @@ -60,6 +70,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsRequest.SerializeToString, response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsResponse.FromString, _registered_method=True) + self.GetTxsV2 = channel.unary_unary( + '/injective_explorer_rpc.InjectiveExplorerRPC/GetTxsV2', + request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Response.FromString, + _registered_method=True) self.GetTxByTxHash = channel.unary_unary( '/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash', request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashRequest.SerializeToString, @@ -125,6 +140,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksRequest.SerializeToString, response_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksResponse.FromString, _registered_method=True) + self.GetStats = channel.unary_unary( + '/injective_explorer_rpc.InjectiveExplorerRPC/GetStats', + request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetStatsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetStatsResponse.FromString, + _registered_method=True) class InjectiveExplorerRPCServicer(object): @@ -132,6 +152,14 @@ class InjectiveExplorerRPCServicer(object): """ def GetAccountTxs(self, request, context): + """GetAccountTxs returns transactions involving in an account based upon + params. Deprecated: use GetAccountTxsV2 instead. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAccountTxsV2(self, request, context): """GetAccountTxs returns tranctions involving in an account based upon params. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -139,7 +167,8 @@ def GetAccountTxs(self, request, context): raise NotImplementedError('Method not implemented!') def GetContractTxs(self, request, context): - """GetContractTxs returns contract-related transactions + """GetContractTxs returns contract-related transactions. Deprecated: use + GetContractTxsV2 instead. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -153,6 +182,14 @@ def GetContractTxsV2(self, request, context): raise NotImplementedError('Method not implemented!') def GetBlocks(self, request, context): + """GetBlocks returns blocks based upon the request params. Deprecated: use + GetBlocksV2 instead. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetBlocksV2(self, request, context): """GetBlocks returns blocks based upon the request params """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -188,6 +225,14 @@ def GetValidatorUptime(self, request, context): raise NotImplementedError('Method not implemented!') def GetTxs(self, request, context): + """GetTxs returns transactions based upon the request params. Deprecated: use + GetTxsV2 instead. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTxsV2(self, request, context): """GetTxs returns transactions based upon the request params """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -289,6 +334,13 @@ def StreamBlocks(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def GetStats(self, request, context): + """GetStats returns global exchange statistics in the last 24hs + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveExplorerRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -297,6 +349,11 @@ def add_InjectiveExplorerRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsRequest.FromString, response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsResponse.SerializeToString, ), + 'GetAccountTxsV2': grpc.unary_unary_rpc_method_handler( + servicer.GetAccountTxsV2, + request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Request.FromString, + response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Response.SerializeToString, + ), 'GetContractTxs': grpc.unary_unary_rpc_method_handler( servicer.GetContractTxs, request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsRequest.FromString, @@ -312,6 +369,11 @@ def add_InjectiveExplorerRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksRequest.FromString, response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksResponse.SerializeToString, ), + 'GetBlocksV2': grpc.unary_unary_rpc_method_handler( + servicer.GetBlocksV2, + request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Request.FromString, + response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Response.SerializeToString, + ), 'GetBlock': grpc.unary_unary_rpc_method_handler( servicer.GetBlock, request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockRequest.FromString, @@ -337,6 +399,11 @@ def add_InjectiveExplorerRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsRequest.FromString, response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsResponse.SerializeToString, ), + 'GetTxsV2': grpc.unary_unary_rpc_method_handler( + servicer.GetTxsV2, + request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Request.FromString, + response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Response.SerializeToString, + ), 'GetTxByTxHash': grpc.unary_unary_rpc_method_handler( servicer.GetTxByTxHash, request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashRequest.FromString, @@ -402,6 +469,11 @@ def add_InjectiveExplorerRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksRequest.FromString, response_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksResponse.SerializeToString, ), + 'GetStats': grpc.unary_unary_rpc_method_handler( + servicer.GetStats, + request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetStatsRequest.FromString, + response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetStatsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_explorer_rpc.InjectiveExplorerRPC', rpc_method_handlers) @@ -441,6 +513,33 @@ def GetAccountTxs(request, metadata, _registered_method=True) + @staticmethod + def GetAccountTxsV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxsV2', + exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Request.SerializeToString, + exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def GetContractTxs(request, target, @@ -522,6 +621,33 @@ def GetBlocks(request, metadata, _registered_method=True) + @staticmethod + def GetBlocksV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocksV2', + exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Request.SerializeToString, + exchange_dot_injective__explorer__rpc__pb2.GetBlocksV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def GetBlock(request, target, @@ -657,6 +783,33 @@ def GetTxs(request, metadata, _registered_method=True) + @staticmethod + def GetTxsV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_explorer_rpc.InjectiveExplorerRPC/GetTxsV2', + exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Request.SerializeToString, + exchange_dot_injective__explorer__rpc__pb2.GetTxsV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def GetTxByTxHash(request, target, @@ -1007,3 +1160,30 @@ def StreamBlocks(request, timeout, metadata, _registered_method=True) + + @staticmethod + def GetStats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_explorer_rpc.InjectiveExplorerRPC/GetStats', + exchange_dot_injective__explorer__rpc__pb2.GetStatsRequest.SerializeToString, + exchange_dot_injective__explorer__rpc__pb2.GetStatsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_megavault_rpc_pb2.py b/pyinjective/proto/exchange/injective_megavault_rpc_pb2.py new file mode 100644 index 00000000..cb2e5d42 --- /dev/null +++ b/pyinjective/proto/exchange/injective_megavault_rpc_pb2.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_megavault_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&exchange/injective_megavault_rpc.proto\x12\x17injective_megavault_rpc\"6\n\x0fGetVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"H\n\x10GetVaultResponse\x12\x34\n\x05vault\x18\x01 \x01(\x0b\x32\x1e.injective_megavault_rpc.VaultR\x05vault\"\xe4\x04\n\x05Vault\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\x12#\n\rcontract_name\x18\x02 \x01(\tR\x0c\x63ontractName\x12)\n\x10\x63ontract_version\x18\x03 \x01(\tR\x0f\x63ontractVersion\x12\x14\n\x05\x61\x64min\x18\x04 \x01(\tR\x05\x61\x64min\x12\x19\n\x08lp_denom\x18\x05 \x01(\tR\x07lpDenom\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12?\n\toperators\x18\x07 \x03(\x0b\x32!.injective_megavault_rpc.OperatorR\toperators\x12\x43\n\nincentives\x18\x08 \x01(\x0b\x32#.injective_megavault_rpc.IncentivesR\nincentives\x12\x41\n\ntarget_apr\x18\t \x01(\x0b\x32\".injective_megavault_rpc.TargetAprR\ttargetApr\x12\x39\n\x05stats\x18\n \x01(\x0b\x32#.injective_megavault_rpc.VaultStatsR\x05stats\x12%\n\x0e\x63reated_height\x18\x0b \x01(\x12R\rcreatedHeight\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12%\n\x0eupdated_height\x18\r \x01(\x12R\rupdatedHeight\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\"\x82\x02\n\x08Operator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12!\n\x0ctotal_amount\x18\x02 \x01(\tR\x0btotalAmount\x12.\n\x13total_liquid_amount\x18\x03 \x01(\tR\x11totalLiquidAmount\x12%\n\x0eupdated_height\x18\x04 \x01(\x12R\rupdatedHeight\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\x12\x1e\n\npercentage\x18\x06 \x01(\tR\npercentage\x12#\n\rsubaccount_id\x18\x07 \x01(\tR\x0csubaccountId\"\x84\x01\n\nIncentives\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12%\n\x0eupdated_height\x18\x03 \x01(\x12R\rupdatedHeight\x12\x1d\n\nupdated_at\x18\x04 \x01(\x12R\tupdatedAt\"\xb5\x01\n\tTargetApr\x12\x10\n\x03\x61pr\x18\x01 \x01(\tR\x03\x61pr\x12\'\n\x0fupper_threshold\x18\x02 \x01(\tR\x0eupperThreshold\x12\'\n\x0flower_threshold\x18\x03 \x01(\tR\x0elowerThreshold\x12%\n\x0eupdated_height\x18\x04 \x01(\x12R\rupdatedHeight\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\"\xbd\x04\n\nVaultStats\x12\x36\n\x17total_subscribed_amount\x18\x01 \x01(\tR\x15totalSubscribedAmount\x12\x32\n\x15total_redeemed_amount\x18\x02 \x01(\tR\x13totalRedeemedAmount\x12%\n\x0e\x63urrent_amount\x18\x03 \x01(\tR\rcurrentAmount\x12I\n!current_amount_without_incentives\x18\x04 \x01(\tR\x1e\x63urrentAmountWithoutIncentives\x12*\n\x11\x63urrent_lp_amount\x18\x05 \x01(\tR\x0f\x63urrentLpAmount\x12(\n\x10\x63urrent_lp_price\x18\x06 \x01(\tR\x0e\x63urrentLpPrice\x12\x33\n\x03pnl\x18\x07 \x01(\x0b\x32!.injective_megavault_rpc.PnlStatsR\x03pnl\x12H\n\nvolatility\x18\x08 \x01(\x0b\x32(.injective_megavault_rpc.VolatilityStatsR\nvolatility\x12\x33\n\x03\x61pr\x18\t \x01(\x0b\x32!.injective_megavault_rpc.AprStatsR\x03\x61pr\x12G\n\x0cmax_drawdown\x18\n \x01(\x0b\x32$.injective_megavault_rpc.MaxDrawdownR\x0bmaxDrawdown\"\x8b\x01\n\x08PnlStats\x12\x46\n\nunrealized\x18\x01 \x01(\x0b\x32&.injective_megavault_rpc.UnrealizedPnlR\nunrealized\x12\x37\n\x08\x61ll_time\x18\x02 \x01(\x0b\x32\x1c.injective_megavault_rpc.PnlR\x07\x61llTime\"E\n\rUnrealizedPnl\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x1e\n\npercentage\x18\x02 \x01(\tR\npercentage\"\xce\x01\n\x03Pnl\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x1e\n\npercentage\x18\x02 \x01(\tR\npercentage\x12\x36\n\x17total_amount_subscribed\x18\x03 \x01(\tR\x15totalAmountSubscribed\x12\x32\n\x15total_amount_redeemed\x18\x04 \x01(\tR\x13totalAmountRedeemed\x12%\n\x0e\x63urrent_amount\x18\x05 \x01(\tR\rcurrentAmount\"W\n\x0fVolatilityStats\x12\x44\n\x0bthirty_days\x18\x01 \x01(\x0b\x32#.injective_megavault_rpc.VolatilityR\nthirtyDays\"\"\n\nVolatility\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"I\n\x08\x41prStats\x12=\n\x0bthirty_days\x18\x01 \x01(\x0b\x32\x1c.injective_megavault_rpc.AprR\nthirtyDays\"q\n\x03\x41pr\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12*\n\x11original_lp_price\x18\x02 \x01(\tR\x0foriginalLpPrice\x12(\n\x10\x63urrent_lp_price\x18\x03 \x01(\tR\x0e\x63urrentLpPrice\"L\n\x0bMaxDrawdown\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\'\n\x10latest_pn_l_peak\x18\x02 \x01(\tR\rlatestPnLPeak\"X\n\x0eGetUserRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12!\n\x0cuser_address\x18\x02 \x01(\tR\x0buserAddress\"D\n\x0fGetUserResponse\x12\x31\n\x04user\x18\x01 \x01(\x0b\x32\x1d.injective_megavault_rpc.UserR\x04user\"\x91\x02\n\x04User\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x38\n\x05stats\x18\x03 \x01(\x0b\x32\".injective_megavault_rpc.UserStatsR\x05stats\x12%\n\x0e\x63reated_height\x18\x04 \x01(\x12R\rcreatedHeight\x12\x1d\n\ncreated_at\x18\x05 \x01(\x12R\tcreatedAt\x12%\n\x0eupdated_height\x18\x06 \x01(\x12R\rupdatedHeight\x12\x1d\n\nupdated_at\x18\x07 \x01(\x12R\tupdatedAt\"\xbc\x01\n\tUserStats\x12%\n\x0e\x63urrent_amount\x18\x01 \x01(\tR\rcurrentAmount\x12*\n\x11\x63urrent_lp_amount\x18\x02 \x01(\tR\x0f\x63urrentLpAmount\x12\x33\n\x03pnl\x18\x03 \x01(\x0b\x32!.injective_megavault_rpc.PnlStatsR\x03pnl\x12\'\n\x0f\x64\x65posited_value\x18\x04 \x01(\tR\x0e\x64\x65positedValue\"\xab\x01\n\x18ListSubscriptionsRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12!\n\x0cuser_address\x18\x02 \x01(\tR\x0buserAddress\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"|\n\x19ListSubscriptionsResponse\x12K\n\rsubscriptions\x18\x01 \x03(\x0b\x32%.injective_megavault_rpc.SubscriptionR\rsubscriptions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x84\x03\n\x0cSubscription\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04user\x18\x02 \x01(\tR\x04user\x12\x14\n\x05index\x18\x03 \x01(\x12R\x05index\x12\x1b\n\tlp_amount\x18\x04 \x01(\tR\x08lpAmount\x12\x16\n\x06\x61mount\x18\x05 \x01(\tR\x06\x61mount\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12%\n\x0e\x63reated_height\x18\x07 \x01(\x12R\rcreatedHeight\x12\x1d\n\ncreated_at\x18\x08 \x01(\x12R\tcreatedAt\x12\'\n\x0f\x65xecuted_height\x18\t \x01(\x12R\x0e\x65xecutedHeight\x12\x1f\n\x0b\x65xecuted_at\x18\n \x01(\x12R\nexecutedAt\x12\x42\n\x03log\x18\x0b \x03(\x0b\x32\x30.injective_megavault_rpc.OperationStatusLogEntryR\x03log\"\x8c\x01\n\x17OperationStatusLogEntry\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x17\n\x07tx_hash\x18\x02 \x01(\tR\x06txHash\x12!\n\x0c\x62lock_height\x18\x03 \x01(\x12R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x04 \x01(\x12R\tblockTime\"\xa9\x01\n\x16ListRedemptionsRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12!\n\x0cuser_address\x18\x02 \x01(\tR\x0buserAddress\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"t\n\x17ListRedemptionsResponse\x12\x45\n\x0bredemptions\x18\x01 \x03(\x0b\x32#.injective_megavault_rpc.RedemptionR\x0bredemptions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x99\x03\n\nRedemption\x12)\n\x10\x63ontract_address\x18\x01 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04user\x18\x02 \x01(\tR\x04user\x12\x14\n\x05index\x18\x03 \x01(\x12R\x05index\x12\x1b\n\tlp_amount\x18\x04 \x01(\tR\x08lpAmount\x12\x16\n\x06\x61mount\x18\x05 \x01(\tR\x06\x61mount\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12\x15\n\x06\x64ue_at\x18\x07 \x01(\x12R\x05\x64ueAt\x12%\n\x0e\x63reated_height\x18\x08 \x01(\x12R\rcreatedHeight\x12\x1d\n\ncreated_at\x18\t \x01(\x12R\tcreatedAt\x12\'\n\x0f\x65xecuted_height\x18\n \x01(\x12R\x0e\x65xecutedHeight\x12\x1f\n\x0b\x65xecuted_at\x18\x0b \x01(\x12R\nexecutedAt\x12\x42\n\x03log\x18\x0c \x03(\x0b\x32\x30.injective_megavault_rpc.OperationStatusLogEntryR\x03log\"u\n#GetOperatorRedemptionBucketsRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12)\n\x10operator_address\x18\x02 \x01(\tR\x0foperatorAddress\"k\n$GetOperatorRedemptionBucketsResponse\x12\x43\n\x07\x62uckets\x18\x01 \x03(\x0b\x32).injective_megavault_rpc.RedemptionBucketR\x07\x62uckets\"\xab\x01\n\x10RedemptionBucket\x12\x16\n\x06\x62ucket\x18\x01 \x01(\tR\x06\x62ucket\x12-\n\x13lp_amount_to_redeem\x18\x02 \x01(\tR\x10lpAmountToRedeem\x12#\n\rneeded_amount\x18\x03 \x01(\tR\x0cneededAmount\x12+\n\x11missing_liquidity\x18\x04 \x01(\tR\x10missingLiquidity\"v\n\x11TvlHistoryRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12\x14\n\x05since\x18\x02 \x01(\x12R\x05since\x12&\n\x0fmax_data_points\x18\x03 \x01(\x11R\rmaxDataPoints\"V\n\x12TvlHistoryResponse\x12@\n\x07history\x18\x01 \x03(\x0b\x32&.injective_megavault_rpc.HistoricalTVLR\x07history\"+\n\rHistoricalTVL\x12\x0c\n\x01t\x18\x01 \x01(\x12R\x01t\x12\x0c\n\x01v\x18\x02 \x01(\tR\x01v\"v\n\x11PnlHistoryRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\x12\x14\n\x05since\x18\x02 \x01(\x12R\x05since\x12&\n\x0fmax_data_points\x18\x03 \x01(\x11R\rmaxDataPoints\"V\n\x12PnlHistoryResponse\x12@\n\x07history\x18\x01 \x03(\x0b\x32&.injective_megavault_rpc.HistoricalPnLR\x07history\"+\n\rHistoricalPnL\x12\x0c\n\x01t\x18\x01 \x01(\x12R\x01t\x12\x0c\n\x01v\x18\x02 \x01(\tR\x01v2\xb4\x06\n\x15InjectiveMegavaultRPC\x12_\n\x08GetVault\x12(.injective_megavault_rpc.GetVaultRequest\x1a).injective_megavault_rpc.GetVaultResponse\x12\\\n\x07GetUser\x12\'.injective_megavault_rpc.GetUserRequest\x1a(.injective_megavault_rpc.GetUserResponse\x12z\n\x11ListSubscriptions\x12\x31.injective_megavault_rpc.ListSubscriptionsRequest\x1a\x32.injective_megavault_rpc.ListSubscriptionsResponse\x12t\n\x0fListRedemptions\x12/.injective_megavault_rpc.ListRedemptionsRequest\x1a\x30.injective_megavault_rpc.ListRedemptionsResponse\x12\x9b\x01\n\x1cGetOperatorRedemptionBuckets\x12<.injective_megavault_rpc.GetOperatorRedemptionBucketsRequest\x1a=.injective_megavault_rpc.GetOperatorRedemptionBucketsResponse\x12\x65\n\nTvlHistory\x12*.injective_megavault_rpc.TvlHistoryRequest\x1a+.injective_megavault_rpc.TvlHistoryResponse\x12\x65\n\nPnlHistory\x12*.injective_megavault_rpc.PnlHistoryRequest\x1a+.injective_megavault_rpc.PnlHistoryResponseB\xc9\x01\n\x1b\x63om.injective_megavault_rpcB\x1aInjectiveMegavaultRpcProtoP\x01Z\x1a/injective_megavault_rpcpb\xa2\x02\x03IXX\xaa\x02\x15InjectiveMegavaultRpc\xca\x02\x15InjectiveMegavaultRpc\xe2\x02!InjectiveMegavaultRpc\\GPBMetadata\xea\x02\x15InjectiveMegavaultRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_megavault_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective_megavault_rpcB\032InjectiveMegavaultRpcProtoP\001Z\032/injective_megavault_rpcpb\242\002\003IXX\252\002\025InjectiveMegavaultRpc\312\002\025InjectiveMegavaultRpc\342\002!InjectiveMegavaultRpc\\GPBMetadata\352\002\025InjectiveMegavaultRpc' + _globals['_GETVAULTREQUEST']._serialized_start=67 + _globals['_GETVAULTREQUEST']._serialized_end=121 + _globals['_GETVAULTRESPONSE']._serialized_start=123 + _globals['_GETVAULTRESPONSE']._serialized_end=195 + _globals['_VAULT']._serialized_start=198 + _globals['_VAULT']._serialized_end=810 + _globals['_OPERATOR']._serialized_start=813 + _globals['_OPERATOR']._serialized_end=1071 + _globals['_INCENTIVES']._serialized_start=1074 + _globals['_INCENTIVES']._serialized_end=1206 + _globals['_TARGETAPR']._serialized_start=1209 + _globals['_TARGETAPR']._serialized_end=1390 + _globals['_VAULTSTATS']._serialized_start=1393 + _globals['_VAULTSTATS']._serialized_end=1966 + _globals['_PNLSTATS']._serialized_start=1969 + _globals['_PNLSTATS']._serialized_end=2108 + _globals['_UNREALIZEDPNL']._serialized_start=2110 + _globals['_UNREALIZEDPNL']._serialized_end=2179 + _globals['_PNL']._serialized_start=2182 + _globals['_PNL']._serialized_end=2388 + _globals['_VOLATILITYSTATS']._serialized_start=2390 + _globals['_VOLATILITYSTATS']._serialized_end=2477 + _globals['_VOLATILITY']._serialized_start=2479 + _globals['_VOLATILITY']._serialized_end=2513 + _globals['_APRSTATS']._serialized_start=2515 + _globals['_APRSTATS']._serialized_end=2588 + _globals['_APR']._serialized_start=2590 + _globals['_APR']._serialized_end=2703 + _globals['_MAXDRAWDOWN']._serialized_start=2705 + _globals['_MAXDRAWDOWN']._serialized_end=2781 + _globals['_GETUSERREQUEST']._serialized_start=2783 + _globals['_GETUSERREQUEST']._serialized_end=2871 + _globals['_GETUSERRESPONSE']._serialized_start=2873 + _globals['_GETUSERRESPONSE']._serialized_end=2941 + _globals['_USER']._serialized_start=2944 + _globals['_USER']._serialized_end=3217 + _globals['_USERSTATS']._serialized_start=3220 + _globals['_USERSTATS']._serialized_end=3408 + _globals['_LISTSUBSCRIPTIONSREQUEST']._serialized_start=3411 + _globals['_LISTSUBSCRIPTIONSREQUEST']._serialized_end=3582 + _globals['_LISTSUBSCRIPTIONSRESPONSE']._serialized_start=3584 + _globals['_LISTSUBSCRIPTIONSRESPONSE']._serialized_end=3708 + _globals['_SUBSCRIPTION']._serialized_start=3711 + _globals['_SUBSCRIPTION']._serialized_end=4099 + _globals['_OPERATIONSTATUSLOGENTRY']._serialized_start=4102 + _globals['_OPERATIONSTATUSLOGENTRY']._serialized_end=4242 + _globals['_LISTREDEMPTIONSREQUEST']._serialized_start=4245 + _globals['_LISTREDEMPTIONSREQUEST']._serialized_end=4414 + _globals['_LISTREDEMPTIONSRESPONSE']._serialized_start=4416 + _globals['_LISTREDEMPTIONSRESPONSE']._serialized_end=4532 + _globals['_REDEMPTION']._serialized_start=4535 + _globals['_REDEMPTION']._serialized_end=4944 + _globals['_GETOPERATORREDEMPTIONBUCKETSREQUEST']._serialized_start=4946 + _globals['_GETOPERATORREDEMPTIONBUCKETSREQUEST']._serialized_end=5063 + _globals['_GETOPERATORREDEMPTIONBUCKETSRESPONSE']._serialized_start=5065 + _globals['_GETOPERATORREDEMPTIONBUCKETSRESPONSE']._serialized_end=5172 + _globals['_REDEMPTIONBUCKET']._serialized_start=5175 + _globals['_REDEMPTIONBUCKET']._serialized_end=5346 + _globals['_TVLHISTORYREQUEST']._serialized_start=5348 + _globals['_TVLHISTORYREQUEST']._serialized_end=5466 + _globals['_TVLHISTORYRESPONSE']._serialized_start=5468 + _globals['_TVLHISTORYRESPONSE']._serialized_end=5554 + _globals['_HISTORICALTVL']._serialized_start=5556 + _globals['_HISTORICALTVL']._serialized_end=5599 + _globals['_PNLHISTORYREQUEST']._serialized_start=5601 + _globals['_PNLHISTORYREQUEST']._serialized_end=5719 + _globals['_PNLHISTORYRESPONSE']._serialized_start=5721 + _globals['_PNLHISTORYRESPONSE']._serialized_end=5807 + _globals['_HISTORICALPNL']._serialized_start=5809 + _globals['_HISTORICALPNL']._serialized_end=5852 + _globals['_INJECTIVEMEGAVAULTRPC']._serialized_start=5855 + _globals['_INJECTIVEMEGAVAULTRPC']._serialized_end=6675 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_megavault_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_megavault_rpc_pb2_grpc.py new file mode 100644 index 00000000..4532d762 --- /dev/null +++ b/pyinjective/proto/exchange/injective_megavault_rpc_pb2_grpc.py @@ -0,0 +1,345 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_megavault_rpc_pb2 as exchange_dot_injective__megavault__rpc__pb2 + + +class InjectiveMegavaultRPCStub(object): + """InjectiveMegavaultRPC defined a gRPC service for Injective Megavault. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetVault = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetVault', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.GetVaultRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetVaultResponse.FromString, + _registered_method=True) + self.GetUser = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetUser', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.GetUserRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetUserResponse.FromString, + _registered_method=True) + self.ListSubscriptions = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/ListSubscriptions', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsResponse.FromString, + _registered_method=True) + self.ListRedemptions = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/ListRedemptions', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsResponse.FromString, + _registered_method=True) + self.GetOperatorRedemptionBuckets = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetOperatorRedemptionBuckets', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsResponse.FromString, + _registered_method=True) + self.TvlHistory = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/TvlHistory', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.TvlHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.TvlHistoryResponse.FromString, + _registered_method=True) + self.PnlHistory = channel.unary_unary( + '/injective_megavault_rpc.InjectiveMegavaultRPC/PnlHistory', + request_serializer=exchange_dot_injective__megavault__rpc__pb2.PnlHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__megavault__rpc__pb2.PnlHistoryResponse.FromString, + _registered_method=True) + + +class InjectiveMegavaultRPCServicer(object): + """InjectiveMegavaultRPC defined a gRPC service for Injective Megavault. + """ + + def GetVault(self, request, context): + """Get the vault information + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetUser(self, request, context): + """Get the user information for a vault + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSubscriptions(self, request, context): + """List the subscriptions for a vault + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListRedemptions(self, request, context): + """List the redemptions for a vault + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetOperatorRedemptionBuckets(self, request, context): + """Get the redemptions buckets for an operator + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TvlHistory(self, request, context): + """Provide historical TVL data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PnlHistory(self, request, context): + """Provide historical PnL data. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveMegavaultRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetVault': grpc.unary_unary_rpc_method_handler( + servicer.GetVault, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetVaultRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.GetVaultResponse.SerializeToString, + ), + 'GetUser': grpc.unary_unary_rpc_method_handler( + servicer.GetUser, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetUserRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.GetUserResponse.SerializeToString, + ), + 'ListSubscriptions': grpc.unary_unary_rpc_method_handler( + servicer.ListSubscriptions, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsResponse.SerializeToString, + ), + 'ListRedemptions': grpc.unary_unary_rpc_method_handler( + servicer.ListRedemptions, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsResponse.SerializeToString, + ), + 'GetOperatorRedemptionBuckets': grpc.unary_unary_rpc_method_handler( + servicer.GetOperatorRedemptionBuckets, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsResponse.SerializeToString, + ), + 'TvlHistory': grpc.unary_unary_rpc_method_handler( + servicer.TvlHistory, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.TvlHistoryRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.TvlHistoryResponse.SerializeToString, + ), + 'PnlHistory': grpc.unary_unary_rpc_method_handler( + servicer.PnlHistory, + request_deserializer=exchange_dot_injective__megavault__rpc__pb2.PnlHistoryRequest.FromString, + response_serializer=exchange_dot_injective__megavault__rpc__pb2.PnlHistoryResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_megavault_rpc.InjectiveMegavaultRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_megavault_rpc.InjectiveMegavaultRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveMegavaultRPC(object): + """InjectiveMegavaultRPC defined a gRPC service for Injective Megavault. + """ + + @staticmethod + def GetVault(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetVault', + exchange_dot_injective__megavault__rpc__pb2.GetVaultRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.GetVaultResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetUser(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetUser', + exchange_dot_injective__megavault__rpc__pb2.GetUserRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.GetUserResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListSubscriptions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/ListSubscriptions', + exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.ListSubscriptionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListRedemptions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/ListRedemptions', + exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.ListRedemptionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetOperatorRedemptionBuckets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/GetOperatorRedemptionBuckets', + exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.GetOperatorRedemptionBucketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TvlHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/TvlHistory', + exchange_dot_injective__megavault__rpc__pb2.TvlHistoryRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.TvlHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PnlHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_megavault_rpc.InjectiveMegavaultRPC/PnlHistory', + exchange_dot_injective__megavault__rpc__pb2.PnlHistoryRequest.SerializeToString, + exchange_dot_injective__megavault__rpc__pb2.PnlHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py b/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py index 1858d94e..03347a51 100644 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_oracle_rpc.proto\x12\x14injective_oracle_rpc\"\x13\n\x11OracleListRequest\"L\n\x12OracleListResponse\x12\x36\n\x07oracles\x18\x01 \x03(\x0b\x32\x1c.injective_oracle_rpc.OracleR\x07oracles\"\x9b\x01\n\x06Oracle\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0b\x62\x61se_symbol\x18\x02 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x03 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x04 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\"\xa3\x01\n\x0cPriceRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"%\n\rPriceResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"z\n\x13StreamPricesRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\"J\n\x14StreamPricesResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"=\n\x1cStreamPricesByMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"p\n\x1dStreamPricesByMarketsResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId2\xb5\x03\n\x12InjectiveOracleRPC\x12_\n\nOracleList\x12\'.injective_oracle_rpc.OracleListRequest\x1a(.injective_oracle_rpc.OracleListResponse\x12P\n\x05Price\x12\".injective_oracle_rpc.PriceRequest\x1a#.injective_oracle_rpc.PriceResponse\x12g\n\x0cStreamPrices\x12).injective_oracle_rpc.StreamPricesRequest\x1a*.injective_oracle_rpc.StreamPricesResponse0\x01\x12\x82\x01\n\x15StreamPricesByMarkets\x12\x32.injective_oracle_rpc.StreamPricesByMarketsRequest\x1a\x33.injective_oracle_rpc.StreamPricesByMarketsResponse0\x01\x42\xb4\x01\n\x18\x63om.injective_oracle_rpcB\x17InjectiveOracleRpcProtoP\x01Z\x17/injective_oracle_rpcpb\xa2\x02\x03IXX\xaa\x02\x12InjectiveOracleRpc\xca\x02\x12InjectiveOracleRpc\xe2\x02\x1eInjectiveOracleRpc\\GPBMetadata\xea\x02\x12InjectiveOracleRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_oracle_rpc.proto\x12\x14injective_oracle_rpc\"}\n\x11OracleListRequest\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0boracle_type\x18\x02 \x01(\tR\noracleType\x12\x19\n\x08per_page\x18\x03 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\"`\n\x12OracleListResponse\x12\x36\n\x07oracles\x18\x01 \x03(\x0b\x32\x1c.injective_oracle_rpc.OracleR\x07oracles\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9b\x01\n\x06Oracle\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0b\x62\x61se_symbol\x18\x02 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x03 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x04 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\"\xa3\x01\n\x0cPriceRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"%\n\rPriceResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"P\n\x0ePriceV2Request\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32$.injective_oracle_rpc.PricePayloadV2R\x07\x66ilters\"\xa5\x01\n\x0ePricePayloadV2\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"N\n\x0fPriceV2Response\x12;\n\x06prices\x18\x01 \x03(\x0b\x32#.injective_oracle_rpc.PriceV2ResultR\x06prices\"\xd7\x01\n\rPriceV2Result\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1b\n\tmarket_id\x18\x06 \x01(\tR\x08marketId\"z\n\x13StreamPricesRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\"J\n\x14StreamPricesResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"T\n\x17StreamOracleListRequest\x12\x1f\n\x0boracle_type\x18\x01 \x01(\tR\noracleType\x12\x18\n\x07symbols\x18\x02 \x03(\tR\x07symbols\"\x87\x01\n\x18StreamOracleListResponse\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0boracle_type\x18\x02 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x03 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"=\n\x1cStreamPricesByMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"p\n\x1dStreamPricesByMarketsResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId2\x82\x05\n\x12InjectiveOracleRPC\x12_\n\nOracleList\x12\'.injective_oracle_rpc.OracleListRequest\x1a(.injective_oracle_rpc.OracleListResponse\x12P\n\x05Price\x12\".injective_oracle_rpc.PriceRequest\x1a#.injective_oracle_rpc.PriceResponse\x12V\n\x07PriceV2\x12$.injective_oracle_rpc.PriceV2Request\x1a%.injective_oracle_rpc.PriceV2Response\x12g\n\x0cStreamPrices\x12).injective_oracle_rpc.StreamPricesRequest\x1a*.injective_oracle_rpc.StreamPricesResponse0\x01\x12s\n\x10StreamOracleList\x12-.injective_oracle_rpc.StreamOracleListRequest\x1a..injective_oracle_rpc.StreamOracleListResponse0\x01\x12\x82\x01\n\x15StreamPricesByMarkets\x12\x32.injective_oracle_rpc.StreamPricesByMarketsRequest\x1a\x33.injective_oracle_rpc.StreamPricesByMarketsResponse0\x01\x42\xb4\x01\n\x18\x63om.injective_oracle_rpcB\x17InjectiveOracleRpcProtoP\x01Z\x17/injective_oracle_rpcpb\xa2\x02\x03IXX\xaa\x02\x12InjectiveOracleRpc\xca\x02\x12InjectiveOracleRpc\xe2\x02\x1eInjectiveOracleRpc\\GPBMetadata\xea\x02\x12InjectiveOracleRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,23 +23,35 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\030com.injective_oracle_rpcB\027InjectiveOracleRpcProtoP\001Z\027/injective_oracle_rpcpb\242\002\003IXX\252\002\022InjectiveOracleRpc\312\002\022InjectiveOracleRpc\342\002\036InjectiveOracleRpc\\GPBMetadata\352\002\022InjectiveOracleRpc' _globals['_ORACLELISTREQUEST']._serialized_start=61 - _globals['_ORACLELISTREQUEST']._serialized_end=80 - _globals['_ORACLELISTRESPONSE']._serialized_start=82 - _globals['_ORACLELISTRESPONSE']._serialized_end=158 - _globals['_ORACLE']._serialized_start=161 - _globals['_ORACLE']._serialized_end=316 - _globals['_PRICEREQUEST']._serialized_start=319 - _globals['_PRICEREQUEST']._serialized_end=482 - _globals['_PRICERESPONSE']._serialized_start=484 - _globals['_PRICERESPONSE']._serialized_end=521 - _globals['_STREAMPRICESREQUEST']._serialized_start=523 - _globals['_STREAMPRICESREQUEST']._serialized_end=645 - _globals['_STREAMPRICESRESPONSE']._serialized_start=647 - _globals['_STREAMPRICESRESPONSE']._serialized_end=721 - _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_start=723 - _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_end=784 - _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_start=786 - _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_end=898 - _globals['_INJECTIVEORACLERPC']._serialized_start=901 - _globals['_INJECTIVEORACLERPC']._serialized_end=1338 + _globals['_ORACLELISTREQUEST']._serialized_end=186 + _globals['_ORACLELISTRESPONSE']._serialized_start=188 + _globals['_ORACLELISTRESPONSE']._serialized_end=284 + _globals['_ORACLE']._serialized_start=287 + _globals['_ORACLE']._serialized_end=442 + _globals['_PRICEREQUEST']._serialized_start=445 + _globals['_PRICEREQUEST']._serialized_end=608 + _globals['_PRICERESPONSE']._serialized_start=610 + _globals['_PRICERESPONSE']._serialized_end=647 + _globals['_PRICEV2REQUEST']._serialized_start=649 + _globals['_PRICEV2REQUEST']._serialized_end=729 + _globals['_PRICEPAYLOADV2']._serialized_start=732 + _globals['_PRICEPAYLOADV2']._serialized_end=897 + _globals['_PRICEV2RESPONSE']._serialized_start=899 + _globals['_PRICEV2RESPONSE']._serialized_end=977 + _globals['_PRICEV2RESULT']._serialized_start=980 + _globals['_PRICEV2RESULT']._serialized_end=1195 + _globals['_STREAMPRICESREQUEST']._serialized_start=1197 + _globals['_STREAMPRICESREQUEST']._serialized_end=1319 + _globals['_STREAMPRICESRESPONSE']._serialized_start=1321 + _globals['_STREAMPRICESRESPONSE']._serialized_end=1395 + _globals['_STREAMORACLELISTREQUEST']._serialized_start=1397 + _globals['_STREAMORACLELISTREQUEST']._serialized_end=1481 + _globals['_STREAMORACLELISTRESPONSE']._serialized_start=1484 + _globals['_STREAMORACLELISTRESPONSE']._serialized_end=1619 + _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_start=1621 + _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_end=1682 + _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_start=1684 + _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_end=1796 + _globals['_INJECTIVEORACLERPC']._serialized_start=1799 + _globals['_INJECTIVEORACLERPC']._serialized_end=2441 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py index 9f317b59..edc67753 100644 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py @@ -25,11 +25,21 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceRequest.SerializeToString, response_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceResponse.FromString, _registered_method=True) + self.PriceV2 = channel.unary_unary( + '/injective_oracle_rpc.InjectiveOracleRPC/PriceV2', + request_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceV2Request.SerializeToString, + response_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceV2Response.FromString, + _registered_method=True) self.StreamPrices = channel.unary_stream( '/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices', request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesRequest.SerializeToString, response_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesResponse.FromString, _registered_method=True) + self.StreamOracleList = channel.unary_stream( + '/injective_oracle_rpc.InjectiveOracleRPC/StreamOracleList', + request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.SerializeToString, + response_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.FromString, + _registered_method=True) self.StreamPricesByMarkets = channel.unary_stream( '/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets', request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.SerializeToString, @@ -55,6 +65,13 @@ def Price(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def PriceV2(self, request, context): + """Gets prices of the oracle + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StreamPrices(self, request, context): """StreamPrices streams new price changes for a specified oracle. If no oracles are provided, all price changes are streamed. @@ -63,6 +80,14 @@ def StreamPrices(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def StreamOracleList(self, request, context): + """StreamOracleList streams oracle data updates filtered by oracle type and + optionally by symbols. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StreamPricesByMarkets(self, request, context): """StreamPrices streams new price changes markets """ @@ -83,11 +108,21 @@ def add_InjectiveOracleRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceRequest.FromString, response_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceResponse.SerializeToString, ), + 'PriceV2': grpc.unary_unary_rpc_method_handler( + servicer.PriceV2, + request_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceV2Request.FromString, + response_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceV2Response.SerializeToString, + ), 'StreamPrices': grpc.unary_stream_rpc_method_handler( servicer.StreamPrices, request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesRequest.FromString, response_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesResponse.SerializeToString, ), + 'StreamOracleList': grpc.unary_stream_rpc_method_handler( + servicer.StreamOracleList, + request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.FromString, + response_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.SerializeToString, + ), 'StreamPricesByMarkets': grpc.unary_stream_rpc_method_handler( servicer.StreamPricesByMarkets, request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.FromString, @@ -159,6 +194,33 @@ def Price(request, metadata, _registered_method=True) + @staticmethod + def PriceV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_oracle_rpc.InjectiveOracleRPC/PriceV2', + exchange_dot_injective__oracle__rpc__pb2.PriceV2Request.SerializeToString, + exchange_dot_injective__oracle__rpc__pb2.PriceV2Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamPrices(request, target, @@ -186,6 +248,33 @@ def StreamPrices(request, metadata, _registered_method=True) + @staticmethod + def StreamOracleList(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_oracle_rpc.InjectiveOracleRPC/StreamOracleList', + exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.SerializeToString, + exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamPricesByMarkets(request, target, diff --git a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py b/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py index 37dcb8f9..c5b99b84 100644 --- a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&exchange/injective_portfolio_rpc.proto\x12\x17injective_portfolio_rpc\"Y\n\x13TokenHoldersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\"t\n\x14TokenHoldersResponse\x12\x39\n\x07holders\x18\x01 \x03(\x0b\x32\x1f.injective_portfolio_rpc.HolderR\x07holders\x12!\n\x0cnext_cursors\x18\x02 \x03(\tR\x0bnextCursors\"K\n\x06Holder\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\tR\x07\x62\x61lance\"B\n\x17\x41\x63\x63ountPortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"\\\n\x18\x41\x63\x63ountPortfolioResponse\x12@\n\tportfolio\x18\x01 \x01(\x0b\x32\".injective_portfolio_rpc.PortfolioR\tportfolio\"\xa4\x02\n\tPortfolio\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\rbank_balances\x18\x02 \x03(\x0b\x32\x1d.injective_portfolio_rpc.CoinR\x0c\x62\x61nkBalances\x12N\n\x0bsubaccounts\x18\x03 \x03(\x0b\x32,.injective_portfolio_rpc.SubaccountBalanceV2R\x0bsubaccounts\x12Z\n\x13positions_with_upnl\x18\x04 \x03(\x0b\x32*.injective_portfolio_rpc.PositionsWithUPNLR\x11positionsWithUpnl\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x96\x01\n\x13SubaccountBalanceV2\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x44\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32*.injective_portfolio_rpc.SubaccountDepositR\x07\x64\x65posit\"e\n\x11SubaccountDeposit\x12#\n\rtotal_balance\x18\x01 \x01(\tR\x0ctotalBalance\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\"\x83\x01\n\x11PositionsWithUPNL\x12G\n\x08position\x18\x01 \x01(\x0b\x32+.injective_portfolio_rpc.DerivativePositionR\x08position\x12%\n\x0eunrealized_pnl\x18\x02 \x01(\tR\runrealizedPnl\"\xb0\x03\n\x12\x44\x65rivativePosition\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x43\n\x1e\x61ggregate_reduce_only_quantity\x18\x0b \x01(\tR\x1b\x61ggregateReduceOnlyQuantity\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\"J\n\x1f\x41\x63\x63ountPortfolioBalancesRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"l\n AccountPortfolioBalancesResponse\x12H\n\tportfolio\x18\x01 \x01(\x0b\x32*.injective_portfolio_rpc.PortfolioBalancesR\tportfolio\"\xd0\x01\n\x11PortfolioBalances\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\rbank_balances\x18\x02 \x03(\x0b\x32\x1d.injective_portfolio_rpc.CoinR\x0c\x62\x61nkBalances\x12N\n\x0bsubaccounts\x18\x03 \x03(\x0b\x32,.injective_portfolio_rpc.SubaccountBalanceV2R\x0bsubaccounts\"\x81\x01\n\x1dStreamAccountPortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xa5\x01\n\x1eStreamAccountPortfolioResponse\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x1c\n\ttimestamp\x18\x05 \x01(\x12R\ttimestamp2\x9d\x04\n\x15InjectivePortfolioRPC\x12k\n\x0cTokenHolders\x12,.injective_portfolio_rpc.TokenHoldersRequest\x1a-.injective_portfolio_rpc.TokenHoldersResponse\x12w\n\x10\x41\x63\x63ountPortfolio\x12\x30.injective_portfolio_rpc.AccountPortfolioRequest\x1a\x31.injective_portfolio_rpc.AccountPortfolioResponse\x12\x8f\x01\n\x18\x41\x63\x63ountPortfolioBalances\x12\x38.injective_portfolio_rpc.AccountPortfolioBalancesRequest\x1a\x39.injective_portfolio_rpc.AccountPortfolioBalancesResponse\x12\x8b\x01\n\x16StreamAccountPortfolio\x12\x36.injective_portfolio_rpc.StreamAccountPortfolioRequest\x1a\x37.injective_portfolio_rpc.StreamAccountPortfolioResponse0\x01\x42\xc9\x01\n\x1b\x63om.injective_portfolio_rpcB\x1aInjectivePortfolioRpcProtoP\x01Z\x1a/injective_portfolio_rpcpb\xa2\x02\x03IXX\xaa\x02\x15InjectivePortfolioRpc\xca\x02\x15InjectivePortfolioRpc\xe2\x02!InjectivePortfolioRpc\\GPBMetadata\xea\x02\x15InjectivePortfolioRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&exchange/injective_portfolio_rpc.proto\x12\x17injective_portfolio_rpc\"Y\n\x13TokenHoldersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursor\x12\x14\n\x05limit\x18\x03 \x01(\x11R\x05limit\"t\n\x14TokenHoldersResponse\x12\x39\n\x07holders\x18\x01 \x03(\x0b\x32\x1f.injective_portfolio_rpc.HolderR\x07holders\x12!\n\x0cnext_cursors\x18\x02 \x03(\tR\x0bnextCursors\"K\n\x06Holder\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\tR\x07\x62\x61lance\"B\n\x17\x41\x63\x63ountPortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\"\\\n\x18\x41\x63\x63ountPortfolioResponse\x12@\n\tportfolio\x18\x01 \x01(\x0b\x32\".injective_portfolio_rpc.PortfolioR\tportfolio\"\xa4\x02\n\tPortfolio\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\rbank_balances\x18\x02 \x03(\x0b\x32\x1d.injective_portfolio_rpc.CoinR\x0c\x62\x61nkBalances\x12N\n\x0bsubaccounts\x18\x03 \x03(\x0b\x32,.injective_portfolio_rpc.SubaccountBalanceV2R\x0bsubaccounts\x12Z\n\x13positions_with_upnl\x18\x04 \x03(\x0b\x32*.injective_portfolio_rpc.PositionsWithUPNLR\x11positionsWithUpnl\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue\"\x96\x01\n\x13SubaccountBalanceV2\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x44\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32*.injective_portfolio_rpc.SubaccountDepositR\x07\x64\x65posit\"\xc5\x01\n\x11SubaccountDeposit\x12#\n\rtotal_balance\x18\x01 \x01(\tR\x0ctotalBalance\x12+\n\x11\x61vailable_balance\x18\x02 \x01(\tR\x10\x61vailableBalance\x12*\n\x11total_balance_usd\x18\x03 \x01(\tR\x0ftotalBalanceUsd\x12\x32\n\x15\x61vailable_balance_usd\x18\x04 \x01(\tR\x13\x61vailableBalanceUsd\"\x83\x01\n\x11PositionsWithUPNL\x12G\n\x08position\x18\x01 \x01(\x0b\x32+.injective_portfolio_rpc.DerivativePositionR\x08position\x12%\n\x0eunrealized_pnl\x18\x02 \x01(\tR\runrealizedPnl\"\xfb\x04\n\x12\x44\x65rivativePosition\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x43\n\x1e\x61ggregate_reduce_only_quantity\x18\x0b \x01(\tR\x1b\x61ggregateReduceOnlyQuantity\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12!\n\x0c\x66unding_last\x18\x0e \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0f \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x10 \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x11 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\"\\\n\x1f\x41\x63\x63ountPortfolioBalancesRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03usd\x18\x02 \x01(\x08R\x03usd\"l\n AccountPortfolioBalancesResponse\x12H\n\tportfolio\x18\x01 \x01(\x0b\x32*.injective_portfolio_rpc.PortfolioBalancesR\tportfolio\"\xed\x01\n\x11PortfolioBalances\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\rbank_balances\x18\x02 \x03(\x0b\x32\x1d.injective_portfolio_rpc.CoinR\x0c\x62\x61nkBalances\x12N\n\x0bsubaccounts\x18\x03 \x03(\x0b\x32,.injective_portfolio_rpc.SubaccountBalanceV2R\x0bsubaccounts\x12\x1b\n\ttotal_usd\x18\x04 \x01(\tR\x08totalUsd\"\x81\x01\n\x1dStreamAccountPortfolioRequest\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xa5\x01\n\x1eStreamAccountPortfolioResponse\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x1c\n\ttimestamp\x18\x05 \x01(\x12R\ttimestamp2\x9d\x04\n\x15InjectivePortfolioRPC\x12k\n\x0cTokenHolders\x12,.injective_portfolio_rpc.TokenHoldersRequest\x1a-.injective_portfolio_rpc.TokenHoldersResponse\x12w\n\x10\x41\x63\x63ountPortfolio\x12\x30.injective_portfolio_rpc.AccountPortfolioRequest\x1a\x31.injective_portfolio_rpc.AccountPortfolioResponse\x12\x8f\x01\n\x18\x41\x63\x63ountPortfolioBalances\x12\x38.injective_portfolio_rpc.AccountPortfolioBalancesRequest\x1a\x39.injective_portfolio_rpc.AccountPortfolioBalancesResponse\x12\x8b\x01\n\x16StreamAccountPortfolio\x12\x36.injective_portfolio_rpc.StreamAccountPortfolioRequest\x1a\x37.injective_portfolio_rpc.StreamAccountPortfolioResponse0\x01\x42\xc9\x01\n\x1b\x63om.injective_portfolio_rpcB\x1aInjectivePortfolioRpcProtoP\x01Z\x1a/injective_portfolio_rpcpb\xa2\x02\x03IXX\xaa\x02\x15InjectivePortfolioRpc\xca\x02\x15InjectivePortfolioRpc\xe2\x02!InjectivePortfolioRpc\\GPBMetadata\xea\x02\x15InjectivePortfolioRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,25 +35,25 @@ _globals['_PORTFOLIO']._serialized_start=516 _globals['_PORTFOLIO']._serialized_end=808 _globals['_COIN']._serialized_start=810 - _globals['_COIN']._serialized_end=862 - _globals['_SUBACCOUNTBALANCEV2']._serialized_start=865 - _globals['_SUBACCOUNTBALANCEV2']._serialized_end=1015 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=1017 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=1118 - _globals['_POSITIONSWITHUPNL']._serialized_start=1121 - _globals['_POSITIONSWITHUPNL']._serialized_end=1252 - _globals['_DERIVATIVEPOSITION']._serialized_start=1255 - _globals['_DERIVATIVEPOSITION']._serialized_end=1687 - _globals['_ACCOUNTPORTFOLIOBALANCESREQUEST']._serialized_start=1689 - _globals['_ACCOUNTPORTFOLIOBALANCESREQUEST']._serialized_end=1763 - _globals['_ACCOUNTPORTFOLIOBALANCESRESPONSE']._serialized_start=1765 - _globals['_ACCOUNTPORTFOLIOBALANCESRESPONSE']._serialized_end=1873 - _globals['_PORTFOLIOBALANCES']._serialized_start=1876 - _globals['_PORTFOLIOBALANCES']._serialized_end=2084 - _globals['_STREAMACCOUNTPORTFOLIOREQUEST']._serialized_start=2087 - _globals['_STREAMACCOUNTPORTFOLIOREQUEST']._serialized_end=2216 - _globals['_STREAMACCOUNTPORTFOLIORESPONSE']._serialized_start=2219 - _globals['_STREAMACCOUNTPORTFOLIORESPONSE']._serialized_end=2384 - _globals['_INJECTIVEPORTFOLIORPC']._serialized_start=2387 - _globals['_INJECTIVEPORTFOLIORPC']._serialized_end=2928 + _globals['_COIN']._serialized_end=891 + _globals['_SUBACCOUNTBALANCEV2']._serialized_start=894 + _globals['_SUBACCOUNTBALANCEV2']._serialized_end=1044 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=1047 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=1244 + _globals['_POSITIONSWITHUPNL']._serialized_start=1247 + _globals['_POSITIONSWITHUPNL']._serialized_end=1378 + _globals['_DERIVATIVEPOSITION']._serialized_start=1381 + _globals['_DERIVATIVEPOSITION']._serialized_end=2016 + _globals['_ACCOUNTPORTFOLIOBALANCESREQUEST']._serialized_start=2018 + _globals['_ACCOUNTPORTFOLIOBALANCESREQUEST']._serialized_end=2110 + _globals['_ACCOUNTPORTFOLIOBALANCESRESPONSE']._serialized_start=2112 + _globals['_ACCOUNTPORTFOLIOBALANCESRESPONSE']._serialized_end=2220 + _globals['_PORTFOLIOBALANCES']._serialized_start=2223 + _globals['_PORTFOLIOBALANCES']._serialized_end=2460 + _globals['_STREAMACCOUNTPORTFOLIOREQUEST']._serialized_start=2463 + _globals['_STREAMACCOUNTPORTFOLIOREQUEST']._serialized_end=2592 + _globals['_STREAMACCOUNTPORTFOLIORESPONSE']._serialized_start=2595 + _globals['_STREAMACCOUNTPORTFOLIORESPONSE']._serialized_end=2760 + _globals['_INJECTIVEPORTFOLIORPC']._serialized_start=2763 + _globals['_INJECTIVEPORTFOLIORPC']._serialized_end=3304 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_referral_rpc_pb2.py b/pyinjective/proto/exchange/injective_referral_rpc_pb2.py new file mode 100644 index 00000000..189f038c --- /dev/null +++ b/pyinjective/proto/exchange/injective_referral_rpc_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_referral_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%exchange/injective_referral_rpc.proto\x12\x16injective_referral_rpc\"F\n\x19GetReferrerDetailsRequest\x12)\n\x10referrer_address\x18\x01 \x01(\tR\x0freferrerAddress\"\xe3\x01\n\x1aGetReferrerDetailsResponse\x12\x43\n\x08invitees\x18\x01 \x03(\x0b\x32\'.injective_referral_rpc.ReferralInviteeR\x08invitees\x12)\n\x10total_commission\x18\x02 \x01(\tR\x0ftotalCommission\x12\x30\n\x14total_trading_volume\x18\x03 \x01(\tR\x12totalTradingVolume\x12#\n\rreferrer_code\x18\x04 \x01(\tR\x0creferrerCode\"\x8f\x01\n\x0fReferralInvitee\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x1e\n\ncommission\x18\x02 \x01(\tR\ncommission\x12%\n\x0etrading_volume\x18\x03 \x01(\tR\rtradingVolume\x12\x1b\n\tjoin_date\x18\x04 \x01(\tR\x08joinDate\"C\n\x18GetInviteeDetailsRequest\x12\'\n\x0finvitee_address\x18\x01 \x01(\tR\x0einviteeAddress\"\xb0\x01\n\x19GetInviteeDetailsResponse\x12\x1a\n\x08referrer\x18\x01 \x01(\tR\x08referrer\x12\x1b\n\tused_code\x18\x02 \x01(\tR\x08usedCode\x12%\n\x0etrading_volume\x18\x03 \x01(\tR\rtradingVolume\x12\x1b\n\tjoined_at\x18\x04 \x01(\tR\x08joinedAt\x12\x16\n\x06\x61\x63tive\x18\x05 \x01(\x08R\x06\x61\x63tive\"?\n\x18GetReferrerByCodeRequest\x12#\n\rreferral_code\x18\x01 \x01(\tR\x0creferralCode\"F\n\x19GetReferrerByCodeResponse\x12)\n\x10referrer_address\x18\x01 \x01(\tR\x0freferrerAddress2\x87\x03\n\x14InjectiveReferralRPC\x12{\n\x12GetReferrerDetails\x12\x31.injective_referral_rpc.GetReferrerDetailsRequest\x1a\x32.injective_referral_rpc.GetReferrerDetailsResponse\x12x\n\x11GetInviteeDetails\x12\x30.injective_referral_rpc.GetInviteeDetailsRequest\x1a\x31.injective_referral_rpc.GetInviteeDetailsResponse\x12x\n\x11GetReferrerByCode\x12\x30.injective_referral_rpc.GetReferrerByCodeRequest\x1a\x31.injective_referral_rpc.GetReferrerByCodeResponseB\xc2\x01\n\x1a\x63om.injective_referral_rpcB\x19InjectiveReferralRpcProtoP\x01Z\x19/injective_referral_rpcpb\xa2\x02\x03IXX\xaa\x02\x14InjectiveReferralRpc\xca\x02\x14InjectiveReferralRpc\xe2\x02 InjectiveReferralRpc\\GPBMetadata\xea\x02\x14InjectiveReferralRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_referral_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_referral_rpcB\031InjectiveReferralRpcProtoP\001Z\031/injective_referral_rpcpb\242\002\003IXX\252\002\024InjectiveReferralRpc\312\002\024InjectiveReferralRpc\342\002 InjectiveReferralRpc\\GPBMetadata\352\002\024InjectiveReferralRpc' + _globals['_GETREFERRERDETAILSREQUEST']._serialized_start=65 + _globals['_GETREFERRERDETAILSREQUEST']._serialized_end=135 + _globals['_GETREFERRERDETAILSRESPONSE']._serialized_start=138 + _globals['_GETREFERRERDETAILSRESPONSE']._serialized_end=365 + _globals['_REFERRALINVITEE']._serialized_start=368 + _globals['_REFERRALINVITEE']._serialized_end=511 + _globals['_GETINVITEEDETAILSREQUEST']._serialized_start=513 + _globals['_GETINVITEEDETAILSREQUEST']._serialized_end=580 + _globals['_GETINVITEEDETAILSRESPONSE']._serialized_start=583 + _globals['_GETINVITEEDETAILSRESPONSE']._serialized_end=759 + _globals['_GETREFERRERBYCODEREQUEST']._serialized_start=761 + _globals['_GETREFERRERBYCODEREQUEST']._serialized_end=824 + _globals['_GETREFERRERBYCODERESPONSE']._serialized_start=826 + _globals['_GETREFERRERBYCODERESPONSE']._serialized_end=896 + _globals['_INJECTIVEREFERRALRPC']._serialized_start=899 + _globals['_INJECTIVEREFERRALRPC']._serialized_end=1290 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_referral_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_referral_rpc_pb2_grpc.py new file mode 100644 index 00000000..64f0ae10 --- /dev/null +++ b/pyinjective/proto/exchange/injective_referral_rpc_pb2_grpc.py @@ -0,0 +1,170 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_referral_rpc_pb2 as exchange_dot_injective__referral__rpc__pb2 + + +class InjectiveReferralRPCStub(object): + """InjectiveReferralRPC defines gRPC API for referral system + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetReferrerDetails = channel.unary_unary( + '/injective_referral_rpc.InjectiveReferralRPC/GetReferrerDetails', + request_serializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsResponse.FromString, + _registered_method=True) + self.GetInviteeDetails = channel.unary_unary( + '/injective_referral_rpc.InjectiveReferralRPC/GetInviteeDetails', + request_serializer=exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsResponse.FromString, + _registered_method=True) + self.GetReferrerByCode = channel.unary_unary( + '/injective_referral_rpc.InjectiveReferralRPC/GetReferrerByCode', + request_serializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeRequest.SerializeToString, + response_deserializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeResponse.FromString, + _registered_method=True) + + +class InjectiveReferralRPCServicer(object): + """InjectiveReferralRPC defines gRPC API for referral system + """ + + def GetReferrerDetails(self, request, context): + """Get referrer details including their invitees, commissions and trading + volumes + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInviteeDetails(self, request, context): + """Get invitee details including their referrer, trading volume and join date + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetReferrerByCode(self, request, context): + """Get referrer details by their referral code + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveReferralRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetReferrerDetails': grpc.unary_unary_rpc_method_handler( + servicer.GetReferrerDetails, + request_deserializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsRequest.FromString, + response_serializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsResponse.SerializeToString, + ), + 'GetInviteeDetails': grpc.unary_unary_rpc_method_handler( + servicer.GetInviteeDetails, + request_deserializer=exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsRequest.FromString, + response_serializer=exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsResponse.SerializeToString, + ), + 'GetReferrerByCode': grpc.unary_unary_rpc_method_handler( + servicer.GetReferrerByCode, + request_deserializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeRequest.FromString, + response_serializer=exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_referral_rpc.InjectiveReferralRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_referral_rpc.InjectiveReferralRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveReferralRPC(object): + """InjectiveReferralRPC defines gRPC API for referral system + """ + + @staticmethod + def GetReferrerDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_referral_rpc.InjectiveReferralRPC/GetReferrerDetails', + exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsRequest.SerializeToString, + exchange_dot_injective__referral__rpc__pb2.GetReferrerDetailsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetInviteeDetails(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_referral_rpc.InjectiveReferralRPC/GetInviteeDetails', + exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsRequest.SerializeToString, + exchange_dot_injective__referral__rpc__pb2.GetInviteeDetailsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetReferrerByCode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_referral_rpc.InjectiveReferralRPC/GetReferrerByCode', + exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeRequest.SerializeToString, + exchange_dot_injective__referral__rpc__pb2.GetReferrerByCodeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py new file mode 100644 index 00000000..79ec2847 --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_rfq_gw_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_rfq_gw_rpc.proto\x12\x14injective_rfq_gw_rpc\"u\n\x1cPrepareEip712AutoSignRequest\x12U\n\x07request\x18\x01 \x01(\x0b\x32;.injective_rfq_gw_rpc.RFQGwPrepareEip712AutoSignRequestTypeR\x07request\"\xb5\x07\n%RFQGwPrepareEip712AutoSignRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12)\n\x10\x61utosign_address\x18\x07 \x01(\tR\x0f\x61utosignAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12(\n\x10\x61utosign_pub_key\x18\t \x01(\tR\x0e\x61utosignPubKey\x12\x36\n\x17\x61utosign_account_number\x18\n \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\x0b \x01(\x04R\x17\x61utosignAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0c \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\r \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12-\n\x13quotes_wait_time_ms\x18\x14 \x01(\x04R\x10quotesWaitTimeMs\x12^\n\x0funfilled_action\x18\x15 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12)\n\x10subaccount_nonce\x18\x16 \x01(\rR\x0fsubaccountNonce\x12\x10\n\x03\x63id\x18\x17 \x01(\tR\x03\x63id\x12\x1a\n\x08simulate\x18\x18 \x01(\x08R\x08simulate\x12 \n\x0ctx_body_memo\x18\x19 \x01(\tR\ntxBodyMemo\x12#\n\rtaker_address\x18\x1e \x01(\tR\x0ctakerAddress\x12 \n\x0c\x65th_chain_id\x18\x1f \x01(\x04R\nethChainId\x12%\n\x0e\x65ip712_wrapper\x18 \x01(\tR\reip712Wrapper\x12\x10\n\x03gas\x18! \x01(\x04R\x03gas\"\xb8\x01\n\x1fRFQSettlementUnfilledActionType\x12H\n\x05limit\x18\x01 \x01(\x0b\x32\x32.injective_rfq_gw_rpc.RFQSettlementLimitActionTypeR\x05limit\x12K\n\x06market\x18\x02 \x01(\x0b\x32\x33.injective_rfq_gw_rpc.RFQSettlementMarketActionTypeR\x06market\"4\n\x1cRFQSettlementLimitActionType\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"\x1f\n\x1dRFQSettlementMarketActionType\"\xac\x04\n\x1dPrepareEip712AutoSignResponse\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\tR\x04\x64\x61ta\x12\"\n\rfee_payer_sig\x18\x03 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\x1b\n\tsign_mode\x18\x05 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\x12M\n\x11\x66\x65\x65_payer_pub_key\x18\x07 \x01(\x0b\x32\".injective_rfq_gw_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\x12\x45\n\x06quotes\x18\x08 \x03(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareQuoteResultR\x06quotes\x12\x36\n\x17\x61utosign_account_number\x18\t \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\n \x01(\x04R\x17\x61utosignAccountSequence\x12$\n\x0equotes_wait_ms\x18\x0b \x01(\x04R\x0cquotesWaitMs\x12\x30\n\x14\x65xpired_quotes_count\x18\x0c \x01(\x04R\x12\x65xpiredQuotesCount\"4\n\x0c\x43osmosPubKey\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\"y\n\x17RFQGwPrepareQuoteResult\x12\x14\n\x05maker\x18\x01 \x01(\tR\x05maker\x12\x14\n\x05price\x18\x02 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x03 \x01(\tR\x08quantity\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\"i\n\x16PrepareAutoSignRequest\x12O\n\x07request\x18\x01 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQGwPrepareAutoSignRequestTypeR\x07request\"\xd4\x06\n\x1fRFQGwPrepareAutoSignRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12)\n\x10\x61utosign_address\x18\x07 \x01(\tR\x0f\x61utosignAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12(\n\x10\x61utosign_pub_key\x18\t \x01(\tR\x0e\x61utosignPubKey\x12\x36\n\x17\x61utosign_account_number\x18\n \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\x0b \x01(\x04R\x17\x61utosignAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0c \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\r \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12-\n\x13quotes_wait_time_ms\x18\x14 \x01(\x04R\x10quotesWaitTimeMs\x12^\n\x0funfilled_action\x18\x15 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12)\n\x10subaccount_nonce\x18\x16 \x01(\rR\x0fsubaccountNonce\x12\x10\n\x03\x63id\x18\x17 \x01(\tR\x03\x63id\x12\x1a\n\x08simulate\x18\x18 \x01(\x08R\x08simulate\x12 \n\x0ctx_body_memo\x18\x19 \x01(\tR\ntxBodyMemo\x12#\n\rtaker_address\x18\x1e \x01(\tR\x0ctakerAddress\"\x98\x05\n\x17PrepareAutoSignResponse\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x0e\n\x02tx\x18\x02 \x01(\x0cR\x02tx\x12\"\n\rfee_payer_sig\x18\x03 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\x1b\n\tsign_mode\x18\x05 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\x12M\n\x11\x66\x65\x65_payer_pub_key\x18\x07 \x01(\x0b\x32\".injective_rfq_gw_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\x12\x45\n\x06quotes\x18\x08 \x03(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareQuoteResultR\x06quotes\x12\x36\n\x17\x61utosign_account_number\x18\t \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\n \x01(\x04R\x17\x61utosignAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0b \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\x0c \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12$\n\x0equotes_wait_ms\x18\r \x01(\x04R\x0cquotesWaitMs\x12\x30\n\x14\x65xpired_quotes_count\x18\x0e \x01(\x04R\x12\x65xpiredQuotesCount\"e\n\x14PrepareEip712Request\x12M\n\x07request\x18\x01 \x01(\x0b\x32\x33.injective_rfq_gw_rpc.RFQGwPrepareEip712RequestTypeR\x07request\"\xf0\x06\n\x1dRFQGwPrepareEip712RequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12#\n\rtaker_address\x18\x07 \x01(\tR\x0ctakerAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12\"\n\rtaker_pub_key\x18\t \x01(\tR\x0btakerPubKey\x12\x30\n\x14taker_account_number\x18\n \x01(\x04R\x12takerAccountNumber\x12\x34\n\x16taker_account_sequence\x18\x0b \x01(\x04R\x14takerAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0c \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\r \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12-\n\x13quotes_wait_time_ms\x18\x14 \x01(\x04R\x10quotesWaitTimeMs\x12^\n\x0funfilled_action\x18\x15 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12)\n\x10subaccount_nonce\x18\x16 \x01(\rR\x0fsubaccountNonce\x12\x10\n\x03\x63id\x18\x17 \x01(\tR\x03\x63id\x12\x1a\n\x08simulate\x18\x18 \x01(\x08R\x08simulate\x12 \n\x0ctx_body_memo\x18\x19 \x01(\tR\ntxBodyMemo\x12 \n\x0c\x65th_chain_id\x18\x1e \x01(\x04R\nethChainId\x12%\n\x0e\x65ip712_wrapper\x18\x1f \x01(\tR\reip712Wrapper\x12\x10\n\x03gas\x18 \x01(\x04R\x03gas\"\x98\x04\n\x15PrepareEip712Response\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\tR\x04\x64\x61ta\x12\"\n\rfee_payer_sig\x18\x03 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\x1b\n\tsign_mode\x18\x05 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\x12M\n\x11\x66\x65\x65_payer_pub_key\x18\x07 \x01(\x0b\x32\".injective_rfq_gw_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\x12\x45\n\x06quotes\x18\x08 \x03(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareQuoteResultR\x06quotes\x12\x30\n\x14taker_account_number\x18\t \x01(\x04R\x12takerAccountNumber\x12\x34\n\x16taker_account_sequence\x18\n \x01(\x04R\x14takerAccountSequence\x12$\n\x0equotes_wait_ms\x18\x0b \x01(\x04R\x0cquotesWaitMs\x12\x30\n\x14\x65xpired_quotes_count\x18\x0c \x01(\x04R\x12\x65xpiredQuotesCount\"Y\n\x0ePrepareRequest\x12G\n\x07request\x18\x01 \x01(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareRequestTypeR\x07request\"\x8f\x06\n\x17RFQGwPrepareRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12#\n\rtaker_address\x18\x07 \x01(\tR\x0ctakerAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12\"\n\rtaker_pub_key\x18\t \x01(\tR\x0btakerPubKey\x12\x30\n\x14taker_account_number\x18\n \x01(\x04R\x12takerAccountNumber\x12\x34\n\x16taker_account_sequence\x18\x0b \x01(\x04R\x14takerAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0c \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\r \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12-\n\x13quotes_wait_time_ms\x18\x14 \x01(\x04R\x10quotesWaitTimeMs\x12^\n\x0funfilled_action\x18\x15 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12)\n\x10subaccount_nonce\x18\x16 \x01(\rR\x0fsubaccountNonce\x12\x10\n\x03\x63id\x18\x17 \x01(\tR\x03\x63id\x12\x1a\n\x08simulate\x18\x18 \x01(\x08R\x08simulate\x12 \n\x0ctx_body_memo\x18\x19 \x01(\tR\ntxBodyMemo\"\x84\x05\n\x0fPrepareResponse\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x0e\n\x02tx\x18\x02 \x01(\x0cR\x02tx\x12\"\n\rfee_payer_sig\x18\x03 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\x1b\n\tsign_mode\x18\x05 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\x12M\n\x11\x66\x65\x65_payer_pub_key\x18\x07 \x01(\x0b\x32\".injective_rfq_gw_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\x12\x45\n\x06quotes\x18\x08 \x03(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareQuoteResultR\x06quotes\x12\x30\n\x14taker_account_number\x18\t \x01(\x04R\x12takerAccountNumber\x12\x34\n\x16taker_account_sequence\x18\n \x01(\x04R\x14takerAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0b \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\x0c \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12$\n\x0equotes_wait_ms\x18\r \x01(\x04R\x0cquotesWaitMs\x12\x30\n\x14\x65xpired_quotes_count\x18\x0e \x01(\x04R\x12\x65xpiredQuotesCount2\xc8\x03\n\x11InjectiveRfqGwRPC\x12\x80\x01\n\x15PrepareEip712AutoSign\x12\x32.injective_rfq_gw_rpc.PrepareEip712AutoSignRequest\x1a\x33.injective_rfq_gw_rpc.PrepareEip712AutoSignResponse\x12n\n\x0fPrepareAutoSign\x12,.injective_rfq_gw_rpc.PrepareAutoSignRequest\x1a-.injective_rfq_gw_rpc.PrepareAutoSignResponse\x12h\n\rPrepareEip712\x12*.injective_rfq_gw_rpc.PrepareEip712Request\x1a+.injective_rfq_gw_rpc.PrepareEip712Response\x12V\n\x07Prepare\x12$.injective_rfq_gw_rpc.PrepareRequest\x1a%.injective_rfq_gw_rpc.PrepareResponseB\xaf\x01\n\x18\x63om.injective_rfq_gw_rpcB\x16InjectiveRfqGwRpcProtoP\x01Z\x17/injective_rfq_gw_rpcpb\xa2\x02\x03IXX\xaa\x02\x11InjectiveRfqGwRpc\xca\x02\x11InjectiveRfqGwRpc\xe2\x02\x1dInjectiveRfqGwRpc\\GPBMetadata\xea\x02\x11InjectiveRfqGwRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_rfq_gw_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\030com.injective_rfq_gw_rpcB\026InjectiveRfqGwRpcProtoP\001Z\027/injective_rfq_gw_rpcpb\242\002\003IXX\252\002\021InjectiveRfqGwRpc\312\002\021InjectiveRfqGwRpc\342\002\035InjectiveRfqGwRpc\\GPBMetadata\352\002\021InjectiveRfqGwRpc' + _globals['_PREPAREEIP712AUTOSIGNREQUEST']._serialized_start=61 + _globals['_PREPAREEIP712AUTOSIGNREQUEST']._serialized_end=178 + _globals['_RFQGWPREPAREEIP712AUTOSIGNREQUESTTYPE']._serialized_start=181 + _globals['_RFQGWPREPAREEIP712AUTOSIGNREQUESTTYPE']._serialized_end=1130 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_start=1133 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_end=1317 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_start=1319 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_end=1371 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_start=1373 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_end=1404 + _globals['_PREPAREEIP712AUTOSIGNRESPONSE']._serialized_start=1407 + _globals['_PREPAREEIP712AUTOSIGNRESPONSE']._serialized_end=1963 + _globals['_COSMOSPUBKEY']._serialized_start=1965 + _globals['_COSMOSPUBKEY']._serialized_end=2017 + _globals['_RFQGWPREPAREQUOTERESULT']._serialized_start=2019 + _globals['_RFQGWPREPAREQUOTERESULT']._serialized_end=2140 + _globals['_PREPAREAUTOSIGNREQUEST']._serialized_start=2142 + _globals['_PREPAREAUTOSIGNREQUEST']._serialized_end=2247 + _globals['_RFQGWPREPAREAUTOSIGNREQUESTTYPE']._serialized_start=2250 + _globals['_RFQGWPREPAREAUTOSIGNREQUESTTYPE']._serialized_end=3102 + _globals['_PREPAREAUTOSIGNRESPONSE']._serialized_start=3105 + _globals['_PREPAREAUTOSIGNRESPONSE']._serialized_end=3769 + _globals['_PREPAREEIP712REQUEST']._serialized_start=3771 + _globals['_PREPAREEIP712REQUEST']._serialized_end=3872 + _globals['_RFQGWPREPAREEIP712REQUESTTYPE']._serialized_start=3875 + _globals['_RFQGWPREPAREEIP712REQUESTTYPE']._serialized_end=4755 + _globals['_PREPAREEIP712RESPONSE']._serialized_start=4758 + _globals['_PREPAREEIP712RESPONSE']._serialized_end=5294 + _globals['_PREPAREREQUEST']._serialized_start=5296 + _globals['_PREPAREREQUEST']._serialized_end=5385 + _globals['_RFQGWPREPAREREQUESTTYPE']._serialized_start=5388 + _globals['_RFQGWPREPAREREQUESTTYPE']._serialized_end=6171 + _globals['_PREPARERESPONSE']._serialized_start=6174 + _globals['_PREPARERESPONSE']._serialized_end=6818 + _globals['_INJECTIVERFQGWRPC']._serialized_start=6821 + _globals['_INJECTIVERFQGWRPC']._serialized_end=7277 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py new file mode 100644 index 00000000..a84abaf1 --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py @@ -0,0 +1,218 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_rfq_gw_rpc_pb2 as exchange_dot_injective__rfq__gw__rpc__pb2 + + +class InjectiveRfqGwRPCStub(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.PrepareEip712AutoSign = channel.unary_unary( + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareEip712AutoSign', + request_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignResponse.FromString, + _registered_method=True) + self.PrepareAutoSign = channel.unary_unary( + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareAutoSign', + request_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.FromString, + _registered_method=True) + self.PrepareEip712 = channel.unary_unary( + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareEip712', + request_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Request.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Response.FromString, + _registered_method=True) + self.Prepare = channel.unary_unary( + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/Prepare', + request_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareResponse.FromString, + _registered_method=True) + + +class InjectiveRfqGwRPCServicer(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + def PrepareEip712AutoSign(self, request, context): + """Full RFQ cycle for EVM autosign wallets: create request, wait for quotes, + prepare fee-delegated EIP712 typed data with MsgExec wrapper signable by the + ephemeral autosign EVM key + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PrepareAutoSign(self, request, context): + """Full RFQ cycle for autosign wallets: create request, wait for quotes, + prepare fee-delegated MsgExec tx signable by the ephemeral autosign key + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PrepareEip712(self, request, context): + """Full RFQ cycle with EIP712 output: create request, wait for quotes, prepare + fee-delegated EIP712 typed data for eth_signTypedData_v4 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Prepare(self, request, context): + """Full RFQ cycle: create request, wait for quotes, prepare fee-delegated + accept tx + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveRfqGwRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'PrepareEip712AutoSign': grpc.unary_unary_rpc_method_handler( + servicer.PrepareEip712AutoSign, + request_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignRequest.FromString, + response_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignResponse.SerializeToString, + ), + 'PrepareAutoSign': grpc.unary_unary_rpc_method_handler( + servicer.PrepareAutoSign, + request_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.FromString, + response_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.SerializeToString, + ), + 'PrepareEip712': grpc.unary_unary_rpc_method_handler( + servicer.PrepareEip712, + request_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Request.FromString, + response_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Response.SerializeToString, + ), + 'Prepare': grpc.unary_unary_rpc_method_handler( + servicer.Prepare, + request_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareRequest.FromString, + response_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_rfq_gw_rpc.InjectiveRfqGwRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_rfq_gw_rpc.InjectiveRfqGwRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveRfqGwRPC(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + @staticmethod + def PrepareEip712AutoSign(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareEip712AutoSign', + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignRequest.SerializeToString, + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712AutoSignResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PrepareAutoSign(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareAutoSign', + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.SerializeToString, + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PrepareEip712(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareEip712', + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Request.SerializeToString, + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareEip712Response.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Prepare(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/Prepare', + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareRequest.SerializeToString, + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py b/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py new file mode 100644 index 00000000..9a2c8c14 --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_rfq_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n exchange/injective_rfq_rpc.proto\x12\x11injective_rfq_rpc\"5\n\x14StreamRequestRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\x7f\n\x15StreamRequestResponse\x12;\n\x07request\x18\x01 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xae\x03\n\x0eRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x15\n\x06rfq_id\x18\x02 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x08 \x01(\tR\x0erequestAddress\x12\x16\n\x06\x65xpiry\x18\t \x01(\x04R\x06\x65xpiry\x12\x16\n\x06status\x18\n \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12)\n\x10transaction_time\x18\r \x01(\x04R\x0ftransactionTime\x12\x16\n\x06height\x18\x0e \x01(\x04R\x06height\"Q\n\x12StreamQuoteRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\x80\x01\n\x13StreamQuoteResponse\x12>\n\x05quote\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x05quote\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\x8b\x07\n\x15RFQProcessedQuoteType\x12\x14\n\x05\x65rror\x18\x32 \x01(\tR\x05\x65rror\x12+\n\x11\x65xecuted_quantity\x18\x33 \x01(\tR\x10\x65xecutedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x34 \x01(\tR\x0e\x65xecutedMargin\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\rR\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\x12\x1b\n\tsign_mode\x18\x17 \x01(\tR\x08signMode\x12 \n\x0c\x65vm_chain_id\x18\x18 \x01(\x04R\nevmChainId\"E\n\rRFQExpiryType\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"f\n\x15ListSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x19\n\x08per_page\x18\x02 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\"t\n\x16ListSettlementResponse\x12\x46\n\x0bsettlements\x18\x01 \x03(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\x0bsettlements\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xce\x04\n\x11RFQSettlementType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\x12\x17\n\x07tx_hash\x18\x11 \x01(\tR\x06txHash\"\xb2\x01\n\x1fRFQSettlementUnfilledActionType\x12\x45\n\x05limit\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.RFQSettlementLimitActionTypeR\x05limit\x12H\n\x06market\x18\x02 \x01(\x0b\x32\x30.injective_rfq_rpc.RFQSettlementMarketActionTypeR\x06market\"4\n\x1cRFQSettlementLimitActionType\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"\x1f\n\x1dRFQSettlementMarketActionType\"7\n\x17StreamSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"\x8b\x01\n\x18StreamSettlementResponse\x12\x44\n\nsettlement\x18\x01 \x01(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\nsettlement\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xbc\x01\n\x1d\x43reateConditionalOrderRequest\x12>\n\x05order\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x05order\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\x12\x1b\n\tsign_mode\x18\x03 \x01(\tR\x08signMode\x12 \n\x0c\x65vm_chain_id\x18\x04 \x01(\x04R\nevmChainId\"\xd8\x05\n\x15\x43onditionalOrderInput\x12\x18\n\x07version\x18\x01 \x01(\rR\x07version\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x14\n\x05taker\x18\x04 \x01(\tR\x05taker\x12\x14\n\x05\x65poch\x18\x05 \x01(\x04R\x05\x65poch\x12\x15\n\x06rfq_id\x18\x06 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12)\n\x10subaccount_nonce\x18\x08 \x01(\rR\x0fsubaccountNonce\x12!\n\x0clane_version\x18\t \x01(\x04R\x0blaneVersion\x12\x1f\n\x0b\x64\x65\x61\x64line_ms\x18\n \x01(\x04R\ndeadlineMs\x12\x1c\n\tdirection\x18\x0b \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x0c \x01(\tR\x08quantity\x12\x16\n\x06margin\x18\r \x01(\tR\x06margin\x12\x1f\n\x0bworst_price\x18\x0e \x01(\tR\nworstPrice\x12\x35\n\x17min_total_fill_quantity\x18\x0f \x01(\tR\x14minTotalFillQuantity\x12!\n\x0ctrigger_type\x18\x10 \x01(\tR\x0btriggerType\x12#\n\rtrigger_price\x18\x11 \x01(\tR\x0ctriggerPrice\x12\'\n\x0funfilled_action\x18\x12 \x01(\tR\x0eunfilledAction\x12\x10\n\x03\x63id\x18\x13 \x01(\tR\x03\x63id\x12\'\n\x0f\x61llowed_relayer\x18\x14 \x01(\tR\x0e\x61llowedRelayer\x12:\n\x1ataker_nonce_time_window_ms\x18\x15 \x01(\x04R\x16takerNonceTimeWindowMs\"g\n\x1e\x43reateConditionalOrderResponse\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"\xc7\x05\n\x1c\x43onditionalOrderResponseType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x07 \x01(\tR\x0erequestAddress\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x16\n\x06status\x18\t \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\n \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x1d\n\nexpires_at\x18\x0c \x01(\x12R\texpiresAt\x12!\n\x0ctrigger_type\x18\r \x01(\tR\x0btriggerType\x12\x35\n\x17min_total_fill_quantity\x18\x0e \x01(\tR\x14minTotalFillQuantity\x12\x1d\n\nevent_time\x18\x0f \x01(\x04R\teventTime\x12\x14\n\x05\x65rror\x18\x10 \x01(\tR\x05\x65rror\x12\x17\n\x07tx_hash\x18\x11 \x01(\tR\x06txHash\x12\x1f\n\x0bterminal_at\x18\x12 \x01(\x12R\nterminalAt\x12 \n\x0c\x65vm_chain_id\x18\x13 \x01(\x04R\nevmChainId\x12:\n\x1ataker_nonce_time_window_ms\x18\x14 \x01(\x04R\x16takerNonceTimeWindowMs\x12\x16\n\x06\x65rrors\x18\x15 \x03(\tR\x06\x65rrors\"\xad\x01\n\x1cListConditionalOrdersRequest\x12\'\n\x0frequest_address\x18\x01 \x01(\tR\x0erequestAddress\x12\x16\n\x06status\x18\x02 \x03(\tR\x06status\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"|\n\x1dListConditionalOrdersResponse\x12G\n\x06orders\x18\x01 \x03(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9d\x03\n\x1bTakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x41\n\x07request\x18\x02 \x01(\x0b\x32\'.injective_rfq_rpc.CreateRFQRequestTypeR\x07request\x12U\n\x11\x63onditional_order\x18\x03 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x10\x63onditionalOrder\x12>\n\x1b\x63onditional_order_signature\x18\x04 \x01(\tR\x19\x63onditionalOrderSignature\x12=\n\x1b\x63onditional_order_sign_mode\x18\x05 \x01(\tR\x18\x63onditionalOrderSignMode\x12\x42\n\x1e\x63onditional_order_evm_chain_id\x18\x06 \x01(\x04R\x1a\x63onditionalOrderEvmChainId\"\xfc\x01\n\x14\x43reateRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\x16\n\x06\x65xpiry\x18\x07 \x01(\x04R\x06\x65xpiry\x12\x1f\n\x0bprice_check\x18\x08 \x01(\x08R\npriceCheck\"\xa5\x03\n\x13TakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\x12\x44\n\x0brequest_ack\x18\x03 \x01(\x0b\x32#.injective_rfq_rpc.RequestStreamAckR\nrequestAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Z\n\x15\x63onditional_order_ack\x18\x05 \x01(\x0b\x32&.injective_rfq_rpc.ConditionalOrderAckR\x13\x63onditionalOrderAck\x12\\\n\x11\x63onditional_order\x18\x06 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x10\x63onditionalOrder\"\x96\x06\n\x0cRFQQuoteType\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\rR\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\x12\x1b\n\tsign_mode\x18\x17 \x01(\tR\x08signMode\x12 \n\x0c\x65vm_chain_id\x18\x18 \x01(\x04R\nevmChainId\"^\n\x10RequestStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\"y\n\x0bStreamError\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\x12\x19\n\x08message_\x18\x02 \x01(\tR\x07message\x12\x0e\n\x02id\x18\x03 \x01(\tR\x02id\x12\x14\n\x05taker\x18\x04 \x01(\tR\x05taker\x12\x15\n\x06rfq_id\x18\x05 \x01(\x04R\x05rfqId\"\\\n\x13\x43onditionalOrderAck\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"\xa9\x01\n\x1bMakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\x12\x30\n\x04\x61uth\x18\x03 \x01(\x0b\x32\x1c.injective_rfq_rpc.MakerAuthR\x04\x61uth\"K\n\tMakerAuth\x12 \n\x0c\x65vm_chain_id\x18\x01 \x01(\x04R\nevmChainId\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"\xcc\x03\n\x13MakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12;\n\x07request\x18\x02 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12>\n\tquote_ack\x18\x03 \x01(\x0b\x32!.injective_rfq_rpc.QuoteStreamAckR\x08quoteAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Q\n\x0fprocessed_quote\x18\x05 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x0eprocessedQuote\x12K\n\nsettlement\x18\x06 \x01(\x0b\x32+.injective_rfq_rpc.RFQSettlementMakerUpdateR\nsettlement\x12?\n\tchallenge\x18\x07 \x01(\x0b\x32!.injective_rfq_rpc.MakerChallengeR\tchallenge\"U\n\x0eQuoteStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\"\x94\x05\n\x18RFQSettlementMakerUpdate\x12=\n\x06quotes\x18\x32 \x03(\x0b\x32%.injective_rfq_rpc.RFQSettlementQuoteR\x06quotes\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\x12\x17\n\x07tx_hash\x18\x11 \x01(\tR\x06txHash\"\xea\x02\n\x12RFQSettlementQuote\x12\x14\n\x05maker\x18\x01 \x01(\tR\x05maker\x12\x14\n\x05price\x18\x02 \x01(\tR\x05price\x12#\n\rquoted_margin\x18\x03 \x01(\tR\x0cquotedMargin\x12\'\n\x0fquoted_quantity\x18\x04 \x01(\tR\x0equotedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x05 \x01(\tR\x0e\x65xecutedMargin\x12+\n\x11\x65xecuted_quantity\x18\x06 \x01(\tR\x10\x65xecutedQuantity\x12\x38\n\x06\x65xpiry\x18\x07 \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x1c\n\tsignature\x18\x08 \x01(\tR\tsignature\x12\x14\n\x05nonce\x18\t \x01(\x04R\x05nonce\x12\x16\n\x06status\x18\n \x01(\tR\x06status\"g\n\x0eMakerChallenge\x12\x14\n\x05nonce\x18\x01 \x01(\tR\x05nonce\x12 \n\x0c\x65vm_chain_id\x18\x02 \x01(\x04R\nevmChainId\x12\x1d\n\nexpires_at\x18\x03 \x01(\x12R\texpiresAt2\xfe\x06\n\x0fInjectiveRfqRPC\x12\x64\n\rStreamRequest\x12\'.injective_rfq_rpc.StreamRequestRequest\x1a(.injective_rfq_rpc.StreamRequestResponse0\x01\x12^\n\x0bStreamQuote\x12%.injective_rfq_rpc.StreamQuoteRequest\x1a&.injective_rfq_rpc.StreamQuoteResponse0\x01\x12\x65\n\x0eListSettlement\x12(.injective_rfq_rpc.ListSettlementRequest\x1a).injective_rfq_rpc.ListSettlementResponse\x12m\n\x10StreamSettlement\x12*.injective_rfq_rpc.StreamSettlementRequest\x1a+.injective_rfq_rpc.StreamSettlementResponse0\x01\x12}\n\x16\x43reateConditionalOrder\x12\x30.injective_rfq_rpc.CreateConditionalOrderRequest\x1a\x31.injective_rfq_rpc.CreateConditionalOrderResponse\x12z\n\x15ListConditionalOrders\x12/.injective_rfq_rpc.ListConditionalOrdersRequest\x1a\x30.injective_rfq_rpc.ListConditionalOrdersResponse\x12i\n\x0bTakerStream\x12..injective_rfq_rpc.TakerStreamStreamingRequest\x1a&.injective_rfq_rpc.TakerStreamResponse(\x01\x30\x01\x12i\n\x0bMakerStream\x12..injective_rfq_rpc.MakerStreamStreamingRequest\x1a&.injective_rfq_rpc.MakerStreamResponse(\x01\x30\x01\x42\x9f\x01\n\x15\x63om.injective_rfq_rpcB\x14InjectiveRfqRpcProtoP\x01Z\x14/injective_rfq_rpcpb\xa2\x02\x03IXX\xaa\x02\x0fInjectiveRfqRpc\xca\x02\x0fInjectiveRfqRpc\xe2\x02\x1bInjectiveRfqRpc\\GPBMetadata\xea\x02\x0fInjectiveRfqRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_rfq_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.injective_rfq_rpcB\024InjectiveRfqRpcProtoP\001Z\024/injective_rfq_rpcpb\242\002\003IXX\252\002\017InjectiveRfqRpc\312\002\017InjectiveRfqRpc\342\002\033InjectiveRfqRpc\\GPBMetadata\352\002\017InjectiveRfqRpc' + _globals['_STREAMREQUESTREQUEST']._serialized_start=55 + _globals['_STREAMREQUESTREQUEST']._serialized_end=108 + _globals['_STREAMREQUESTRESPONSE']._serialized_start=110 + _globals['_STREAMREQUESTRESPONSE']._serialized_end=237 + _globals['_RFQREQUESTTYPE']._serialized_start=240 + _globals['_RFQREQUESTTYPE']._serialized_end=670 + _globals['_STREAMQUOTEREQUEST']._serialized_start=672 + _globals['_STREAMQUOTEREQUEST']._serialized_end=753 + _globals['_STREAMQUOTERESPONSE']._serialized_start=756 + _globals['_STREAMQUOTERESPONSE']._serialized_end=884 + _globals['_RFQPROCESSEDQUOTETYPE']._serialized_start=887 + _globals['_RFQPROCESSEDQUOTETYPE']._serialized_end=1794 + _globals['_RFQEXPIRYTYPE']._serialized_start=1796 + _globals['_RFQEXPIRYTYPE']._serialized_end=1865 + _globals['_LISTSETTLEMENTREQUEST']._serialized_start=1867 + _globals['_LISTSETTLEMENTREQUEST']._serialized_end=1969 + _globals['_LISTSETTLEMENTRESPONSE']._serialized_start=1971 + _globals['_LISTSETTLEMENTRESPONSE']._serialized_end=2087 + _globals['_RFQSETTLEMENTTYPE']._serialized_start=2090 + _globals['_RFQSETTLEMENTTYPE']._serialized_end=2680 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_start=2683 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_end=2861 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_start=2863 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_end=2915 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_start=2917 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_end=2948 + _globals['_STREAMSETTLEMENTREQUEST']._serialized_start=2950 + _globals['_STREAMSETTLEMENTREQUEST']._serialized_end=3005 + _globals['_STREAMSETTLEMENTRESPONSE']._serialized_start=3008 + _globals['_STREAMSETTLEMENTRESPONSE']._serialized_end=3147 + _globals['_CREATECONDITIONALORDERREQUEST']._serialized_start=3150 + _globals['_CREATECONDITIONALORDERREQUEST']._serialized_end=3338 + _globals['_CONDITIONALORDERINPUT']._serialized_start=3341 + _globals['_CONDITIONALORDERINPUT']._serialized_end=4069 + _globals['_CREATECONDITIONALORDERRESPONSE']._serialized_start=4071 + _globals['_CREATECONDITIONALORDERRESPONSE']._serialized_end=4174 + _globals['_CONDITIONALORDERRESPONSETYPE']._serialized_start=4177 + _globals['_CONDITIONALORDERRESPONSETYPE']._serialized_end=4888 + _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_start=4891 + _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_end=5064 + _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_start=5066 + _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_end=5190 + _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_start=5193 + _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_end=5606 + _globals['_CREATERFQREQUESTTYPE']._serialized_start=5609 + _globals['_CREATERFQREQUESTTYPE']._serialized_end=5861 + _globals['_TAKERSTREAMRESPONSE']._serialized_start=5864 + _globals['_TAKERSTREAMRESPONSE']._serialized_end=6285 + _globals['_RFQQUOTETYPE']._serialized_start=6288 + _globals['_RFQQUOTETYPE']._serialized_end=7078 + _globals['_REQUESTSTREAMACK']._serialized_start=7080 + _globals['_REQUESTSTREAMACK']._serialized_end=7174 + _globals['_STREAMERROR']._serialized_start=7176 + _globals['_STREAMERROR']._serialized_end=7297 + _globals['_CONDITIONALORDERACK']._serialized_start=7299 + _globals['_CONDITIONALORDERACK']._serialized_end=7391 + _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_start=7394 + _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_end=7563 + _globals['_MAKERAUTH']._serialized_start=7565 + _globals['_MAKERAUTH']._serialized_end=7640 + _globals['_MAKERSTREAMRESPONSE']._serialized_start=7643 + _globals['_MAKERSTREAMRESPONSE']._serialized_end=8103 + _globals['_QUOTESTREAMACK']._serialized_start=8105 + _globals['_QUOTESTREAMACK']._serialized_end=8190 + _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_start=8193 + _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_end=8853 + _globals['_RFQSETTLEMENTQUOTE']._serialized_start=8856 + _globals['_RFQSETTLEMENTQUOTE']._serialized_end=9218 + _globals['_MAKERCHALLENGE']._serialized_start=9220 + _globals['_MAKERCHALLENGE']._serialized_end=9323 + _globals['_INJECTIVERFQRPC']._serialized_start=9326 + _globals['_INJECTIVERFQRPC']._serialized_end=10220 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_rfq_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_rfq_rpc_pb2_grpc.py new file mode 100644 index 00000000..e9b1c4fe --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_rpc_pb2_grpc.py @@ -0,0 +1,389 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_rfq_rpc_pb2 as exchange_dot_injective__rfq__rpc__pb2 + + +class InjectiveRfqRPCStub(object): + """InjectiveRfqRPC defines gRPC API of the RFQ (Request for Quote) API. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.StreamRequest = channel.unary_stream( + '/injective_rfq_rpc.InjectiveRfqRPC/StreamRequest', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamRequestRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamRequestResponse.FromString, + _registered_method=True) + self.StreamQuote = channel.unary_stream( + '/injective_rfq_rpc.InjectiveRfqRPC/StreamQuote', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamQuoteRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamQuoteResponse.FromString, + _registered_method=True) + self.ListSettlement = channel.unary_unary( + '/injective_rfq_rpc.InjectiveRfqRPC/ListSettlement', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.ListSettlementRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.ListSettlementResponse.FromString, + _registered_method=True) + self.StreamSettlement = channel.unary_stream( + '/injective_rfq_rpc.InjectiveRfqRPC/StreamSettlement', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamSettlementRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamSettlementResponse.FromString, + _registered_method=True) + self.CreateConditionalOrder = channel.unary_unary( + '/injective_rfq_rpc.InjectiveRfqRPC/CreateConditionalOrder', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderResponse.FromString, + _registered_method=True) + self.ListConditionalOrders = channel.unary_unary( + '/injective_rfq_rpc.InjectiveRfqRPC/ListConditionalOrders', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersResponse.FromString, + _registered_method=True) + self.TakerStream = channel.stream_stream( + '/injective_rfq_rpc.InjectiveRfqRPC/TakerStream', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.TakerStreamStreamingRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.TakerStreamResponse.FromString, + _registered_method=True) + self.MakerStream = channel.stream_stream( + '/injective_rfq_rpc.InjectiveRfqRPC/MakerStream', + request_serializer=exchange_dot_injective__rfq__rpc__pb2.MakerStreamStreamingRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__rpc__pb2.MakerStreamResponse.FromString, + _registered_method=True) + + +class InjectiveRfqRPCServicer(object): + """InjectiveRfqRPC defines gRPC API of the RFQ (Request for Quote) API. + """ + + def StreamRequest(self, request, context): + """Stream RFQ requests + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamQuote(self, request, context): + """Stream RFQ quotes + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSettlement(self, request, context): + """List RFQ settlements + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamSettlement(self, request, context): + """Stream RFQ settlements + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateConditionalOrder(self, request, context): + """Create a conditional TP/SL order + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListConditionalOrders(self, request, context): + """List conditional TP/SL orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TakerStream(self, request_iterator, context): + """Bidirectional stream for takers: send requests, receive quotes + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MakerStream(self, request_iterator, context): + """Bidirectional stream for makers: receive requests, send quotes + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveRfqRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'StreamRequest': grpc.unary_stream_rpc_method_handler( + servicer.StreamRequest, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamRequestRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamRequestResponse.SerializeToString, + ), + 'StreamQuote': grpc.unary_stream_rpc_method_handler( + servicer.StreamQuote, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamQuoteRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamQuoteResponse.SerializeToString, + ), + 'ListSettlement': grpc.unary_unary_rpc_method_handler( + servicer.ListSettlement, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.ListSettlementRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.ListSettlementResponse.SerializeToString, + ), + 'StreamSettlement': grpc.unary_stream_rpc_method_handler( + servicer.StreamSettlement, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.StreamSettlementRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.StreamSettlementResponse.SerializeToString, + ), + 'CreateConditionalOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateConditionalOrder, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderResponse.SerializeToString, + ), + 'ListConditionalOrders': grpc.unary_unary_rpc_method_handler( + servicer.ListConditionalOrders, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersResponse.SerializeToString, + ), + 'TakerStream': grpc.stream_stream_rpc_method_handler( + servicer.TakerStream, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.TakerStreamStreamingRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.TakerStreamResponse.SerializeToString, + ), + 'MakerStream': grpc.stream_stream_rpc_method_handler( + servicer.MakerStream, + request_deserializer=exchange_dot_injective__rfq__rpc__pb2.MakerStreamStreamingRequest.FromString, + response_serializer=exchange_dot_injective__rfq__rpc__pb2.MakerStreamResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_rfq_rpc.InjectiveRfqRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_rfq_rpc.InjectiveRfqRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveRfqRPC(object): + """InjectiveRfqRPC defines gRPC API of the RFQ (Request for Quote) API. + """ + + @staticmethod + def StreamRequest(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/StreamRequest', + exchange_dot_injective__rfq__rpc__pb2.StreamRequestRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.StreamRequestResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamQuote(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/StreamQuote', + exchange_dot_injective__rfq__rpc__pb2.StreamQuoteRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.StreamQuoteResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListSettlement(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/ListSettlement', + exchange_dot_injective__rfq__rpc__pb2.ListSettlementRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.ListSettlementResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamSettlement(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/StreamSettlement', + exchange_dot_injective__rfq__rpc__pb2.StreamSettlementRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.StreamSettlementResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateConditionalOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/CreateConditionalOrder', + exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.CreateConditionalOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ListConditionalOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/ListConditionalOrders', + exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.ListConditionalOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TakerStream(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream( + request_iterator, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/TakerStream', + exchange_dot_injective__rfq__rpc__pb2.TakerStreamStreamingRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.TakerStreamResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MakerStream(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream( + request_iterator, + target, + '/injective_rfq_rpc.InjectiveRfqRPC/MakerStream', + exchange_dot_injective__rfq__rpc__pb2.MakerStreamStreamingRequest.SerializeToString, + exchange_dot_injective__rfq__rpc__pb2.MakerStreamResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2.py b/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2.py index 69db7106..4b5584c3 100644 --- a/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*exchange/injective_spot_exchange_rpc.proto\x12\x1binjective_spot_exchange_rpc\"\x9e\x01\n\x0eMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\'\n\x0fmarket_statuses\x18\x04 \x03(\tR\x0emarketStatuses\"X\n\x0fMarketsResponse\x12\x45\n\x07markets\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x07markets\"\xd1\x04\n\x0eSpotMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12N\n\x0f\x62\x61se_token_meta\x18\x05 \x01(\x0b\x32&.injective_spot_exchange_rpc.TokenMetaR\rbaseTokenMeta\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12P\n\x10quote_token_meta\x18\x07 \x01(\x0b\x32&.injective_spot_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x08 \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\t \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\n \x01(\tR\x12serviceProviderFee\x12-\n\x13min_price_tick_size\x18\x0b \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x0c \x01(\tR\x13minQuantityTickSize\x12!\n\x0cmin_notional\x18\r \x01(\tR\x0bminNotional\"\xa0\x01\n\tTokenMeta\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x12\n\x04logo\x18\x04 \x01(\tR\x04logo\x12\x1a\n\x08\x64\x65\x63imals\x18\x05 \x01(\x11R\x08\x64\x65\x63imals\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\",\n\rMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"U\n\x0eMarketResponse\x12\x43\n\x06market\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x06market\"5\n\x14StreamMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xa1\x01\n\x15StreamMarketsResponse\x12\x43\n\x06market\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x06market\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"1\n\x12OrderbookV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"f\n\x13OrderbookV2Response\x12O\n\torderbook\x18\x01 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\"\xcc\x01\n\x14SpotLimitOrderbookV2\x12;\n\x04\x62uys\x18\x01 \x03(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x04\x62uys\x12=\n\x05sells\x18\x02 \x03(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x05sells\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"4\n\x13OrderbooksV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"o\n\x14OrderbooksV2Response\x12W\n\norderbooks\x18\x01 \x03(\x0b\x32\x37.injective_spot_exchange_rpc.SingleSpotLimitOrderbookV2R\norderbooks\"\x8a\x01\n\x1aSingleSpotLimitOrderbookV2\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12O\n\torderbook\x18\x02 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\"9\n\x18StreamOrderbookV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xce\x01\n\x19StreamOrderbookV2Response\x12O\n\torderbook\x18\x01 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"=\n\x1cStreamOrderbookUpdateRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xed\x01\n\x1dStreamOrderbookUpdateResponse\x12j\n\x17orderbook_level_updates\x18\x01 \x01(\x0b\x32\x32.injective_spot_exchange_rpc.OrderbookLevelUpdatesR\x15orderbookLevelUpdates\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"\xf7\x01\n\x15OrderbookLevelUpdates\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12\x41\n\x04\x62uys\x18\x03 \x03(\x0b\x32-.injective_spot_exchange_rpc.PriceLevelUpdateR\x04\x62uys\x12\x43\n\x05sells\x18\x04 \x03(\x0b\x32-.injective_spot_exchange_rpc.PriceLevelUpdateR\x05sells\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\"\x7f\n\x10PriceLevelUpdate\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\x83\x03\n\rOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12)\n\x10include_inactive\x18\t \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\n \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\x92\x01\n\x0eOrdersResponse\x12\x43\n\x06orders\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xb8\x03\n\x0eSpotLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\x07 \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\n \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x17\n\x07tx_hash\x18\r \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\x89\x03\n\x13StreamOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12)\n\x10include_inactive\x18\t \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\n \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\x9e\x01\n\x14StreamOrdersResponse\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xbf\x03\n\rTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x8d\x01\n\x0eTradesResponse\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xb2\x03\n\tSpotTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12\'\n\x0ftrade_direction\x18\x05 \x01(\tR\x0etradeDirection\x12=\n\x05price\x18\x06 \x01(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x05price\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\x08 \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\n \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0b \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\xc5\x03\n\x13StreamTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x99\x01\n\x14StreamTradesResponse\x12<\n\x05trade\x18\x01 \x01(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc1\x03\n\x0fTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x8f\x01\n\x10TradesV2Response\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xc7\x03\n\x15StreamTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x9b\x01\n\x16StreamTradesV2Response\x12<\n\x05trade\x18\x01 \x01(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x89\x01\n\x1bSubaccountOrdersListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xa0\x01\n\x1cSubaccountOrdersListResponse\x12\x43\n\x06orders\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xce\x01\n\x1bSubaccountTradesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_type\x18\x03 \x01(\tR\rexecutionType\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\"^\n\x1cSubaccountTradesListResponse\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\"\xb6\x03\n\x14OrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0border_types\x18\x05 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x06 \x01(\tR\tdirection\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x14\n\x05state\x18\t \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\n \x03(\tR\x0e\x65xecutionTypes\x12\x1d\n\nmarket_ids\x18\x0b \x03(\tR\tmarketIds\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12.\n\x13\x61\x63tive_markets_only\x18\r \x01(\x08R\x11\x61\x63tiveMarketsOnly\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x9b\x01\n\x15OrdersHistoryResponse\x12\x45\n\x06orders\x18\x01 \x03(\x0b\x32-.injective_spot_exchange_rpc.SpotOrderHistoryR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xf3\x03\n\x10SpotOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1c\n\tdirection\x18\x0e \x01(\tR\tdirection\x12\x17\n\x07tx_hash\x18\x0f \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xdc\x01\n\x1aStreamOrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0border_types\x18\x03 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x14\n\x05state\x18\x05 \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x06 \x03(\tR\x0e\x65xecutionTypes\"\xa7\x01\n\x1bStreamOrdersHistoryResponse\x12\x43\n\x05order\x18\x01 \x01(\x0b\x32-.injective_spot_exchange_rpc.SpotOrderHistoryR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc7\x01\n\x18\x41tomicSwapHistoryRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04skip\x18\x03 \x01(\x11R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0b\x66rom_number\x18\x05 \x01(\x11R\nfromNumber\x12\x1b\n\tto_number\x18\x06 \x01(\x11R\x08toNumber\"\x95\x01\n\x19\x41tomicSwapHistoryResponse\x12;\n\x06paging\x18\x01 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\x12;\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\'.injective_spot_exchange_rpc.AtomicSwapR\x04\x64\x61ta\"\xe0\x03\n\nAtomicSwap\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05route\x18\x02 \x01(\tR\x05route\x12\x42\n\x0bsource_coin\x18\x03 \x01(\x0b\x32!.injective_spot_exchange_rpc.CoinR\nsourceCoin\x12>\n\tdest_coin\x18\x04 \x01(\x0b\x32!.injective_spot_exchange_rpc.CoinR\x08\x64\x65stCoin\x12\x35\n\x04\x66\x65\x65s\x18\x05 \x03(\x0b\x32!.injective_spot_exchange_rpc.CoinR\x04\x66\x65\x65s\x12)\n\x10\x63ontract_address\x18\x06 \x01(\tR\x0f\x63ontractAddress\x12&\n\x0findex_by_sender\x18\x07 \x01(\x11R\rindexBySender\x12\x37\n\x18index_by_sender_contract\x18\x08 \x01(\x11R\x15indexBySenderContract\x12\x17\n\x07tx_hash\x18\t \x01(\tR\x06txHash\x12\x1f\n\x0b\x65xecuted_at\x18\n \x01(\x12R\nexecutedAt\x12#\n\rrefund_amount\x18\x0b \x01(\tR\x0crefundAmount\"4\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount2\x9e\x11\n\x18InjectiveSpotExchangeRPC\x12\x64\n\x07Markets\x12+.injective_spot_exchange_rpc.MarketsRequest\x1a,.injective_spot_exchange_rpc.MarketsResponse\x12\x61\n\x06Market\x12*.injective_spot_exchange_rpc.MarketRequest\x1a+.injective_spot_exchange_rpc.MarketResponse\x12x\n\rStreamMarkets\x12\x31.injective_spot_exchange_rpc.StreamMarketsRequest\x1a\x32.injective_spot_exchange_rpc.StreamMarketsResponse0\x01\x12p\n\x0bOrderbookV2\x12/.injective_spot_exchange_rpc.OrderbookV2Request\x1a\x30.injective_spot_exchange_rpc.OrderbookV2Response\x12s\n\x0cOrderbooksV2\x12\x30.injective_spot_exchange_rpc.OrderbooksV2Request\x1a\x31.injective_spot_exchange_rpc.OrderbooksV2Response\x12\x84\x01\n\x11StreamOrderbookV2\x12\x35.injective_spot_exchange_rpc.StreamOrderbookV2Request\x1a\x36.injective_spot_exchange_rpc.StreamOrderbookV2Response0\x01\x12\x90\x01\n\x15StreamOrderbookUpdate\x12\x39.injective_spot_exchange_rpc.StreamOrderbookUpdateRequest\x1a:.injective_spot_exchange_rpc.StreamOrderbookUpdateResponse0\x01\x12\x61\n\x06Orders\x12*.injective_spot_exchange_rpc.OrdersRequest\x1a+.injective_spot_exchange_rpc.OrdersResponse\x12u\n\x0cStreamOrders\x12\x30.injective_spot_exchange_rpc.StreamOrdersRequest\x1a\x31.injective_spot_exchange_rpc.StreamOrdersResponse0\x01\x12\x61\n\x06Trades\x12*.injective_spot_exchange_rpc.TradesRequest\x1a+.injective_spot_exchange_rpc.TradesResponse\x12u\n\x0cStreamTrades\x12\x30.injective_spot_exchange_rpc.StreamTradesRequest\x1a\x31.injective_spot_exchange_rpc.StreamTradesResponse0\x01\x12g\n\x08TradesV2\x12,.injective_spot_exchange_rpc.TradesV2Request\x1a-.injective_spot_exchange_rpc.TradesV2Response\x12{\n\x0eStreamTradesV2\x12\x32.injective_spot_exchange_rpc.StreamTradesV2Request\x1a\x33.injective_spot_exchange_rpc.StreamTradesV2Response0\x01\x12\x8b\x01\n\x14SubaccountOrdersList\x12\x38.injective_spot_exchange_rpc.SubaccountOrdersListRequest\x1a\x39.injective_spot_exchange_rpc.SubaccountOrdersListResponse\x12\x8b\x01\n\x14SubaccountTradesList\x12\x38.injective_spot_exchange_rpc.SubaccountTradesListRequest\x1a\x39.injective_spot_exchange_rpc.SubaccountTradesListResponse\x12v\n\rOrdersHistory\x12\x31.injective_spot_exchange_rpc.OrdersHistoryRequest\x1a\x32.injective_spot_exchange_rpc.OrdersHistoryResponse\x12\x8a\x01\n\x13StreamOrdersHistory\x12\x37.injective_spot_exchange_rpc.StreamOrdersHistoryRequest\x1a\x38.injective_spot_exchange_rpc.StreamOrdersHistoryResponse0\x01\x12\x82\x01\n\x11\x41tomicSwapHistory\x12\x35.injective_spot_exchange_rpc.AtomicSwapHistoryRequest\x1a\x36.injective_spot_exchange_rpc.AtomicSwapHistoryResponseB\xe0\x01\n\x1f\x63om.injective_spot_exchange_rpcB\x1dInjectiveSpotExchangeRpcProtoP\x01Z\x1e/injective_spot_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x18InjectiveSpotExchangeRpc\xca\x02\x18InjectiveSpotExchangeRpc\xe2\x02$InjectiveSpotExchangeRpc\\GPBMetadata\xea\x02\x18InjectiveSpotExchangeRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*exchange/injective_spot_exchange_rpc.proto\x12\x1binjective_spot_exchange_rpc\"\x9e\x01\n\x0eMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\'\n\x0fmarket_statuses\x18\x04 \x03(\tR\x0emarketStatuses\"X\n\x0fMarketsResponse\x12\x45\n\x07markets\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x07markets\"\xd1\x04\n\x0eSpotMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12N\n\x0f\x62\x61se_token_meta\x18\x05 \x01(\x0b\x32&.injective_spot_exchange_rpc.TokenMetaR\rbaseTokenMeta\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12P\n\x10quote_token_meta\x18\x07 \x01(\x0b\x32&.injective_spot_exchange_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x08 \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\t \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\n \x01(\tR\x12serviceProviderFee\x12-\n\x13min_price_tick_size\x18\x0b \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x0c \x01(\tR\x13minQuantityTickSize\x12!\n\x0cmin_notional\x18\r \x01(\tR\x0bminNotional\"\xa0\x01\n\tTokenMeta\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x12\n\x04logo\x18\x04 \x01(\tR\x04logo\x12\x1a\n\x08\x64\x65\x63imals\x18\x05 \x01(\x11R\x08\x64\x65\x63imals\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\",\n\rMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"U\n\x0eMarketResponse\x12\x43\n\x06market\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x06market\"5\n\x14StreamMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xa1\x01\n\x15StreamMarketsResponse\x12\x43\n\x06market\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotMarketInfoR\x06market\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"G\n\x12OrderbookV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x11R\x05\x64\x65pth\"f\n\x13OrderbookV2Response\x12O\n\torderbook\x18\x01 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\"\xe4\x01\n\x14SpotLimitOrderbookV2\x12;\n\x04\x62uys\x18\x01 \x03(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x04\x62uys\x12=\n\x05sells\x18\x02 \x03(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x05sells\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\x12\x16\n\x06height\x18\x05 \x01(\x12R\x06height\"\\\n\nPriceLevel\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"J\n\x13OrderbooksV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x11R\x05\x64\x65pth\"o\n\x14OrderbooksV2Response\x12W\n\norderbooks\x18\x01 \x03(\x0b\x32\x37.injective_spot_exchange_rpc.SingleSpotLimitOrderbookV2R\norderbooks\"\x8a\x01\n\x1aSingleSpotLimitOrderbookV2\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12O\n\torderbook\x18\x02 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\"9\n\x18StreamOrderbookV2Request\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xce\x01\n\x19StreamOrderbookV2Response\x12O\n\torderbook\x18\x01 \x01(\x0b\x32\x31.injective_spot_exchange_rpc.SpotLimitOrderbookV2R\torderbook\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"=\n\x1cStreamOrderbookUpdateRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\xed\x01\n\x1dStreamOrderbookUpdateResponse\x12j\n\x17orderbook_level_updates\x18\x01 \x01(\x0b\x32\x32.injective_spot_exchange_rpc.OrderbookLevelUpdatesR\x15orderbookLevelUpdates\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\"\xf7\x01\n\x15OrderbookLevelUpdates\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12\x41\n\x04\x62uys\x18\x03 \x03(\x0b\x32-.injective_spot_exchange_rpc.PriceLevelUpdateR\x04\x62uys\x12\x43\n\x05sells\x18\x04 \x03(\x0b\x32-.injective_spot_exchange_rpc.PriceLevelUpdateR\x05sells\x12\x1d\n\nupdated_at\x18\x05 \x01(\x12R\tupdatedAt\"\x7f\n\x10PriceLevelUpdate\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x02 \x01(\tR\x08quantity\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"\x83\x03\n\rOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12)\n\x10include_inactive\x18\t \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\n \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\x92\x01\n\x0eOrdersResponse\x12\x43\n\x06orders\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xb8\x03\n\x0eSpotLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\x07 \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\n \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12\x17\n\x07tx_hash\x18\r \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\x89\x03\n\x13StreamOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x04 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x05 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\x08 \x03(\tR\tmarketIds\x12)\n\x10include_inactive\x18\t \x01(\x08R\x0fincludeInactive\x12\x36\n\x17subaccount_total_orders\x18\n \x01(\x08R\x15subaccountTotalOrders\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\x9e\x01\n\x14StreamOrdersResponse\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe4\x03\n\rTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\x8d\x01\n\x0eTradesResponse\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xb2\x03\n\tSpotTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12\'\n\x0ftrade_direction\x18\x05 \x01(\tR\x0etradeDirection\x12=\n\x05price\x18\x06 \x01(\x0b\x32\'.injective_spot_exchange_rpc.PriceLevelR\x05price\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\x08 \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\t \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\n \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0b \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\x0c \x01(\tR\x03\x63id\"\xea\x03\n\x13StreamTradesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\x99\x01\n\x14StreamTradesResponse\x12<\n\x05trade\x18\x01 \x01(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe6\x03\n\x0fTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\x8f\x01\n\x10TradesV2Response\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xec\x03\n\x15StreamTradesV2Request\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_side\x18\x02 \x01(\tR\rexecutionSide\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x1d\n\nmarket_ids\x18\t \x03(\tR\tmarketIds\x12%\n\x0esubaccount_ids\x18\n \x03(\tR\rsubaccountIds\x12\'\n\x0f\x65xecution_types\x18\x0b \x03(\tR\x0e\x65xecutionTypes\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12\'\n\x0f\x61\x63\x63ount_address\x18\r \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\x12#\n\rfee_recipient\x18\x0f \x01(\tR\x0c\x66\x65\x65Recipient\"\x9b\x01\n\x16StreamTradesV2Response\x12<\n\x05trade\x18\x01 \x01(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\x89\x01\n\x1bSubaccountOrdersListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\"\xa0\x01\n\x1cSubaccountOrdersListResponse\x12\x43\n\x06orders\x18\x01 \x03(\x0b\x32+.injective_spot_exchange_rpc.SpotLimitOrderR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xce\x01\n\x1bSubaccountTradesListRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12%\n\x0e\x65xecution_type\x18\x03 \x01(\tR\rexecutionType\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x12\n\x04skip\x18\x05 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x06 \x01(\x11R\x05limit\"^\n\x1cSubaccountTradesListResponse\x12>\n\x06trades\x18\x01 \x03(\x0b\x32&.injective_spot_exchange_rpc.SpotTradeR\x06trades\"\xb6\x03\n\x14OrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x12\n\x04skip\x18\x03 \x01(\x04R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0border_types\x18\x05 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x06 \x01(\tR\tdirection\x12\x1d\n\nstart_time\x18\x07 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x08 \x01(\x12R\x07\x65ndTime\x12\x14\n\x05state\x18\t \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\n \x03(\tR\x0e\x65xecutionTypes\x12\x1d\n\nmarket_ids\x18\x0b \x03(\tR\tmarketIds\x12\x19\n\x08trade_id\x18\x0c \x01(\tR\x07tradeId\x12.\n\x13\x61\x63tive_markets_only\x18\r \x01(\x08R\x11\x61\x63tiveMarketsOnly\x12\x10\n\x03\x63id\x18\x0e \x01(\tR\x03\x63id\"\x9b\x01\n\x15OrdersHistoryResponse\x12\x45\n\x06orders\x18\x01 \x03(\x0b\x32-.injective_spot_exchange_rpc.SpotOrderHistoryR\x06orders\x12;\n\x06paging\x18\x02 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\"\xf3\x03\n\x10SpotOrderHistory\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1c\n\tdirection\x18\x0e \x01(\tR\tdirection\x12\x17\n\x07tx_hash\x18\x0f \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xdc\x01\n\x1aStreamOrdersHistoryRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1f\n\x0border_types\x18\x03 \x03(\tR\norderTypes\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x14\n\x05state\x18\x05 \x01(\tR\x05state\x12\'\n\x0f\x65xecution_types\x18\x06 \x03(\tR\x0e\x65xecutionTypes\"\xa7\x01\n\x1bStreamOrdersHistoryResponse\x12\x43\n\x05order\x18\x01 \x01(\x0b\x32-.injective_spot_exchange_rpc.SpotOrderHistoryR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xc7\x01\n\x18\x41tomicSwapHistoryRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04skip\x18\x03 \x01(\x11R\x04skip\x12\x14\n\x05limit\x18\x04 \x01(\x11R\x05limit\x12\x1f\n\x0b\x66rom_number\x18\x05 \x01(\x11R\nfromNumber\x12\x1b\n\tto_number\x18\x06 \x01(\x11R\x08toNumber\"\x95\x01\n\x19\x41tomicSwapHistoryResponse\x12;\n\x06paging\x18\x01 \x01(\x0b\x32#.injective_spot_exchange_rpc.PagingR\x06paging\x12;\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\'.injective_spot_exchange_rpc.AtomicSwapR\x04\x64\x61ta\"\xe0\x03\n\nAtomicSwap\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05route\x18\x02 \x01(\tR\x05route\x12\x42\n\x0bsource_coin\x18\x03 \x01(\x0b\x32!.injective_spot_exchange_rpc.CoinR\nsourceCoin\x12>\n\tdest_coin\x18\x04 \x01(\x0b\x32!.injective_spot_exchange_rpc.CoinR\x08\x64\x65stCoin\x12\x35\n\x04\x66\x65\x65s\x18\x05 \x03(\x0b\x32!.injective_spot_exchange_rpc.CoinR\x04\x66\x65\x65s\x12)\n\x10\x63ontract_address\x18\x06 \x01(\tR\x0f\x63ontractAddress\x12&\n\x0findex_by_sender\x18\x07 \x01(\x11R\rindexBySender\x12\x37\n\x18index_by_sender_contract\x18\x08 \x01(\x11R\x15indexBySenderContract\x12\x17\n\x07tx_hash\x18\t \x01(\tR\x06txHash\x12\x1f\n\x0b\x65xecuted_at\x18\n \x01(\x12R\nexecutedAt\x12#\n\rrefund_amount\x18\x0b \x01(\tR\x0crefundAmount\"Q\n\x04\x43oin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\x12\x1b\n\tusd_value\x18\x03 \x01(\tR\x08usdValue2\x9e\x11\n\x18InjectiveSpotExchangeRPC\x12\x64\n\x07Markets\x12+.injective_spot_exchange_rpc.MarketsRequest\x1a,.injective_spot_exchange_rpc.MarketsResponse\x12\x61\n\x06Market\x12*.injective_spot_exchange_rpc.MarketRequest\x1a+.injective_spot_exchange_rpc.MarketResponse\x12x\n\rStreamMarkets\x12\x31.injective_spot_exchange_rpc.StreamMarketsRequest\x1a\x32.injective_spot_exchange_rpc.StreamMarketsResponse0\x01\x12p\n\x0bOrderbookV2\x12/.injective_spot_exchange_rpc.OrderbookV2Request\x1a\x30.injective_spot_exchange_rpc.OrderbookV2Response\x12s\n\x0cOrderbooksV2\x12\x30.injective_spot_exchange_rpc.OrderbooksV2Request\x1a\x31.injective_spot_exchange_rpc.OrderbooksV2Response\x12\x84\x01\n\x11StreamOrderbookV2\x12\x35.injective_spot_exchange_rpc.StreamOrderbookV2Request\x1a\x36.injective_spot_exchange_rpc.StreamOrderbookV2Response0\x01\x12\x90\x01\n\x15StreamOrderbookUpdate\x12\x39.injective_spot_exchange_rpc.StreamOrderbookUpdateRequest\x1a:.injective_spot_exchange_rpc.StreamOrderbookUpdateResponse0\x01\x12\x61\n\x06Orders\x12*.injective_spot_exchange_rpc.OrdersRequest\x1a+.injective_spot_exchange_rpc.OrdersResponse\x12u\n\x0cStreamOrders\x12\x30.injective_spot_exchange_rpc.StreamOrdersRequest\x1a\x31.injective_spot_exchange_rpc.StreamOrdersResponse0\x01\x12\x61\n\x06Trades\x12*.injective_spot_exchange_rpc.TradesRequest\x1a+.injective_spot_exchange_rpc.TradesResponse\x12u\n\x0cStreamTrades\x12\x30.injective_spot_exchange_rpc.StreamTradesRequest\x1a\x31.injective_spot_exchange_rpc.StreamTradesResponse0\x01\x12g\n\x08TradesV2\x12,.injective_spot_exchange_rpc.TradesV2Request\x1a-.injective_spot_exchange_rpc.TradesV2Response\x12{\n\x0eStreamTradesV2\x12\x32.injective_spot_exchange_rpc.StreamTradesV2Request\x1a\x33.injective_spot_exchange_rpc.StreamTradesV2Response0\x01\x12\x8b\x01\n\x14SubaccountOrdersList\x12\x38.injective_spot_exchange_rpc.SubaccountOrdersListRequest\x1a\x39.injective_spot_exchange_rpc.SubaccountOrdersListResponse\x12\x8b\x01\n\x14SubaccountTradesList\x12\x38.injective_spot_exchange_rpc.SubaccountTradesListRequest\x1a\x39.injective_spot_exchange_rpc.SubaccountTradesListResponse\x12v\n\rOrdersHistory\x12\x31.injective_spot_exchange_rpc.OrdersHistoryRequest\x1a\x32.injective_spot_exchange_rpc.OrdersHistoryResponse\x12\x8a\x01\n\x13StreamOrdersHistory\x12\x37.injective_spot_exchange_rpc.StreamOrdersHistoryRequest\x1a\x38.injective_spot_exchange_rpc.StreamOrdersHistoryResponse0\x01\x12\x82\x01\n\x11\x41tomicSwapHistory\x12\x35.injective_spot_exchange_rpc.AtomicSwapHistoryRequest\x1a\x36.injective_spot_exchange_rpc.AtomicSwapHistoryResponseB\xe0\x01\n\x1f\x63om.injective_spot_exchange_rpcB\x1dInjectiveSpotExchangeRpcProtoP\x01Z\x1e/injective_spot_exchange_rpcpb\xa2\x02\x03IXX\xaa\x02\x18InjectiveSpotExchangeRpc\xca\x02\x18InjectiveSpotExchangeRpc\xe2\x02$InjectiveSpotExchangeRpc\\GPBMetadata\xea\x02\x18InjectiveSpotExchangeRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -39,87 +39,87 @@ _globals['_STREAMMARKETSRESPONSE']._serialized_start=1274 _globals['_STREAMMARKETSRESPONSE']._serialized_end=1435 _globals['_ORDERBOOKV2REQUEST']._serialized_start=1437 - _globals['_ORDERBOOKV2REQUEST']._serialized_end=1486 - _globals['_ORDERBOOKV2RESPONSE']._serialized_start=1488 - _globals['_ORDERBOOKV2RESPONSE']._serialized_end=1590 - _globals['_SPOTLIMITORDERBOOKV2']._serialized_start=1593 - _globals['_SPOTLIMITORDERBOOKV2']._serialized_end=1797 - _globals['_PRICELEVEL']._serialized_start=1799 - _globals['_PRICELEVEL']._serialized_end=1891 - _globals['_ORDERBOOKSV2REQUEST']._serialized_start=1893 - _globals['_ORDERBOOKSV2REQUEST']._serialized_end=1945 - _globals['_ORDERBOOKSV2RESPONSE']._serialized_start=1947 - _globals['_ORDERBOOKSV2RESPONSE']._serialized_end=2058 - _globals['_SINGLESPOTLIMITORDERBOOKV2']._serialized_start=2061 - _globals['_SINGLESPOTLIMITORDERBOOKV2']._serialized_end=2199 - _globals['_STREAMORDERBOOKV2REQUEST']._serialized_start=2201 - _globals['_STREAMORDERBOOKV2REQUEST']._serialized_end=2258 - _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_start=2261 - _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_end=2467 - _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_start=2469 - _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_end=2530 - _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_start=2533 - _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_end=2770 - _globals['_ORDERBOOKLEVELUPDATES']._serialized_start=2773 - _globals['_ORDERBOOKLEVELUPDATES']._serialized_end=3020 - _globals['_PRICELEVELUPDATE']._serialized_start=3022 - _globals['_PRICELEVELUPDATE']._serialized_end=3149 - _globals['_ORDERSREQUEST']._serialized_start=3152 - _globals['_ORDERSREQUEST']._serialized_end=3539 - _globals['_ORDERSRESPONSE']._serialized_start=3542 - _globals['_ORDERSRESPONSE']._serialized_end=3688 - _globals['_SPOTLIMITORDER']._serialized_start=3691 - _globals['_SPOTLIMITORDER']._serialized_end=4131 - _globals['_PAGING']._serialized_start=4134 - _globals['_PAGING']._serialized_end=4268 - _globals['_STREAMORDERSREQUEST']._serialized_start=4271 - _globals['_STREAMORDERSREQUEST']._serialized_end=4664 - _globals['_STREAMORDERSRESPONSE']._serialized_start=4667 - _globals['_STREAMORDERSRESPONSE']._serialized_end=4825 - _globals['_TRADESREQUEST']._serialized_start=4828 - _globals['_TRADESREQUEST']._serialized_end=5275 - _globals['_TRADESRESPONSE']._serialized_start=5278 - _globals['_TRADESRESPONSE']._serialized_end=5419 - _globals['_SPOTTRADE']._serialized_start=5422 - _globals['_SPOTTRADE']._serialized_end=5856 - _globals['_STREAMTRADESREQUEST']._serialized_start=5859 - _globals['_STREAMTRADESREQUEST']._serialized_end=6312 - _globals['_STREAMTRADESRESPONSE']._serialized_start=6315 - _globals['_STREAMTRADESRESPONSE']._serialized_end=6468 - _globals['_TRADESV2REQUEST']._serialized_start=6471 - _globals['_TRADESV2REQUEST']._serialized_end=6920 - _globals['_TRADESV2RESPONSE']._serialized_start=6923 - _globals['_TRADESV2RESPONSE']._serialized_end=7066 - _globals['_STREAMTRADESV2REQUEST']._serialized_start=7069 - _globals['_STREAMTRADESV2REQUEST']._serialized_end=7524 - _globals['_STREAMTRADESV2RESPONSE']._serialized_start=7527 - _globals['_STREAMTRADESV2RESPONSE']._serialized_end=7682 - _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_start=7685 - _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_end=7822 - _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_start=7825 - _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_end=7985 - _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_start=7988 - _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_end=8194 - _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_start=8196 - _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_end=8290 - _globals['_ORDERSHISTORYREQUEST']._serialized_start=8293 - _globals['_ORDERSHISTORYREQUEST']._serialized_end=8731 - _globals['_ORDERSHISTORYRESPONSE']._serialized_start=8734 - _globals['_ORDERSHISTORYRESPONSE']._serialized_end=8889 - _globals['_SPOTORDERHISTORY']._serialized_start=8892 - _globals['_SPOTORDERHISTORY']._serialized_end=9391 - _globals['_STREAMORDERSHISTORYREQUEST']._serialized_start=9394 - _globals['_STREAMORDERSHISTORYREQUEST']._serialized_end=9614 - _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_start=9617 - _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_end=9784 - _globals['_ATOMICSWAPHISTORYREQUEST']._serialized_start=9787 - _globals['_ATOMICSWAPHISTORYREQUEST']._serialized_end=9986 - _globals['_ATOMICSWAPHISTORYRESPONSE']._serialized_start=9989 - _globals['_ATOMICSWAPHISTORYRESPONSE']._serialized_end=10138 - _globals['_ATOMICSWAP']._serialized_start=10141 - _globals['_ATOMICSWAP']._serialized_end=10621 - _globals['_COIN']._serialized_start=10623 - _globals['_COIN']._serialized_end=10675 - _globals['_INJECTIVESPOTEXCHANGERPC']._serialized_start=10678 - _globals['_INJECTIVESPOTEXCHANGERPC']._serialized_end=12884 + _globals['_ORDERBOOKV2REQUEST']._serialized_end=1508 + _globals['_ORDERBOOKV2RESPONSE']._serialized_start=1510 + _globals['_ORDERBOOKV2RESPONSE']._serialized_end=1612 + _globals['_SPOTLIMITORDERBOOKV2']._serialized_start=1615 + _globals['_SPOTLIMITORDERBOOKV2']._serialized_end=1843 + _globals['_PRICELEVEL']._serialized_start=1845 + _globals['_PRICELEVEL']._serialized_end=1937 + _globals['_ORDERBOOKSV2REQUEST']._serialized_start=1939 + _globals['_ORDERBOOKSV2REQUEST']._serialized_end=2013 + _globals['_ORDERBOOKSV2RESPONSE']._serialized_start=2015 + _globals['_ORDERBOOKSV2RESPONSE']._serialized_end=2126 + _globals['_SINGLESPOTLIMITORDERBOOKV2']._serialized_start=2129 + _globals['_SINGLESPOTLIMITORDERBOOKV2']._serialized_end=2267 + _globals['_STREAMORDERBOOKV2REQUEST']._serialized_start=2269 + _globals['_STREAMORDERBOOKV2REQUEST']._serialized_end=2326 + _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_start=2329 + _globals['_STREAMORDERBOOKV2RESPONSE']._serialized_end=2535 + _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_start=2537 + _globals['_STREAMORDERBOOKUPDATEREQUEST']._serialized_end=2598 + _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_start=2601 + _globals['_STREAMORDERBOOKUPDATERESPONSE']._serialized_end=2838 + _globals['_ORDERBOOKLEVELUPDATES']._serialized_start=2841 + _globals['_ORDERBOOKLEVELUPDATES']._serialized_end=3088 + _globals['_PRICELEVELUPDATE']._serialized_start=3090 + _globals['_PRICELEVELUPDATE']._serialized_end=3217 + _globals['_ORDERSREQUEST']._serialized_start=3220 + _globals['_ORDERSREQUEST']._serialized_end=3607 + _globals['_ORDERSRESPONSE']._serialized_start=3610 + _globals['_ORDERSRESPONSE']._serialized_end=3756 + _globals['_SPOTLIMITORDER']._serialized_start=3759 + _globals['_SPOTLIMITORDER']._serialized_end=4199 + _globals['_PAGING']._serialized_start=4202 + _globals['_PAGING']._serialized_end=4336 + _globals['_STREAMORDERSREQUEST']._serialized_start=4339 + _globals['_STREAMORDERSREQUEST']._serialized_end=4732 + _globals['_STREAMORDERSRESPONSE']._serialized_start=4735 + _globals['_STREAMORDERSRESPONSE']._serialized_end=4893 + _globals['_TRADESREQUEST']._serialized_start=4896 + _globals['_TRADESREQUEST']._serialized_end=5380 + _globals['_TRADESRESPONSE']._serialized_start=5383 + _globals['_TRADESRESPONSE']._serialized_end=5524 + _globals['_SPOTTRADE']._serialized_start=5527 + _globals['_SPOTTRADE']._serialized_end=5961 + _globals['_STREAMTRADESREQUEST']._serialized_start=5964 + _globals['_STREAMTRADESREQUEST']._serialized_end=6454 + _globals['_STREAMTRADESRESPONSE']._serialized_start=6457 + _globals['_STREAMTRADESRESPONSE']._serialized_end=6610 + _globals['_TRADESV2REQUEST']._serialized_start=6613 + _globals['_TRADESV2REQUEST']._serialized_end=7099 + _globals['_TRADESV2RESPONSE']._serialized_start=7102 + _globals['_TRADESV2RESPONSE']._serialized_end=7245 + _globals['_STREAMTRADESV2REQUEST']._serialized_start=7248 + _globals['_STREAMTRADESV2REQUEST']._serialized_end=7740 + _globals['_STREAMTRADESV2RESPONSE']._serialized_start=7743 + _globals['_STREAMTRADESV2RESPONSE']._serialized_end=7898 + _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_start=7901 + _globals['_SUBACCOUNTORDERSLISTREQUEST']._serialized_end=8038 + _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_start=8041 + _globals['_SUBACCOUNTORDERSLISTRESPONSE']._serialized_end=8201 + _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_start=8204 + _globals['_SUBACCOUNTTRADESLISTREQUEST']._serialized_end=8410 + _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_start=8412 + _globals['_SUBACCOUNTTRADESLISTRESPONSE']._serialized_end=8506 + _globals['_ORDERSHISTORYREQUEST']._serialized_start=8509 + _globals['_ORDERSHISTORYREQUEST']._serialized_end=8947 + _globals['_ORDERSHISTORYRESPONSE']._serialized_start=8950 + _globals['_ORDERSHISTORYRESPONSE']._serialized_end=9105 + _globals['_SPOTORDERHISTORY']._serialized_start=9108 + _globals['_SPOTORDERHISTORY']._serialized_end=9607 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_start=9610 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_end=9830 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_start=9833 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_end=10000 + _globals['_ATOMICSWAPHISTORYREQUEST']._serialized_start=10003 + _globals['_ATOMICSWAPHISTORYREQUEST']._serialized_end=10202 + _globals['_ATOMICSWAPHISTORYRESPONSE']._serialized_start=10205 + _globals['_ATOMICSWAPHISTORYRESPONSE']._serialized_end=10354 + _globals['_ATOMICSWAP']._serialized_start=10357 + _globals['_ATOMICSWAP']._serialized_end=10837 + _globals['_COIN']._serialized_start=10839 + _globals['_COIN']._serialized_end=10920 + _globals['_INJECTIVESPOTEXCHANGERPC']._serialized_start=10923 + _globals['_INJECTIVESPOTEXCHANGERPC']._serialized_end=13129 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py new file mode 100644 index 00000000..8abfe0a1 --- /dev/null +++ b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_tc_derivatives_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+exchange/injective_tc_derivatives_rpc.proto\x12\x1cinjective_tc_derivatives_rpc\"\xcf\x01\n\x0eMarketsRequest\x12#\n\rmarket_status\x18\x01 \x01(\tR\x0cmarketStatus\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12\'\n\x0fmarket_statuses\x18\x03 \x03(\tR\x0emarketStatuses\x12\x1d\n\nmarket_ids\x18\x04 \x03(\tR\tmarketIds\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\"s\n\x0fMarketsResponse\x12L\n\x07markets\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeMarketInfoR\x07markets\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xe3\t\n\x14\x44\x65rivativeMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_status\x18\x02 \x01(\tR\x0cmarketStatus\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x1f\n\x0boracle_type\x18\x06 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x30\n\x14initial_margin_ratio\x18\x08 \x01(\tR\x12initialMarginRatio\x12\x38\n\x18maintenance_margin_ratio\x18\t \x01(\tR\x16maintenanceMarginRatio\x12\x1f\n\x0bquote_denom\x18\n \x01(\tR\nquoteDenom\x12Q\n\x10quote_token_meta\x18\x0b \x01(\x0b\x32\'.injective_tc_derivatives_rpc.TokenMetaR\x0equoteTokenMeta\x12$\n\x0emaker_fee_rate\x18\x0c \x01(\tR\x0cmakerFeeRate\x12$\n\x0etaker_fee_rate\x18\r \x01(\tR\x0ctakerFeeRate\x12\x30\n\x14service_provider_fee\x18\x0e \x01(\tR\x12serviceProviderFee\x12!\n\x0cis_perpetual\x18\x0f \x01(\x08R\x0bisPerpetual\x12-\n\x13min_price_tick_size\x18\x10 \x01(\tR\x10minPriceTickSize\x12\x33\n\x16min_quantity_tick_size\x18\x11 \x01(\tR\x13minQuantityTickSize\x12\x65\n\x15perpetual_market_info\x18\x12 \x01(\x0b\x32\x31.injective_tc_derivatives_rpc.PerpetualMarketInfoR\x13perpetualMarketInfo\x12n\n\x18perpetual_market_funding\x18\x13 \x01(\x0b\x32\x34.injective_tc_derivatives_rpc.PerpetualMarketFundingR\x16perpetualMarketFunding\x12r\n\x1a\x65xpiry_futures_market_info\x18\x14 \x01(\x0b\x32\x35.injective_tc_derivatives_rpc.ExpiryFuturesMarketInfoR\x17\x65xpiryFuturesMarketInfo\x12!\n\x0cmin_notional\x18\x15 \x01(\tR\x0bminNotional\x12.\n\x13reduce_margin_ratio\x18\x16 \x01(\tR\x11reduceMarginRatio\x12Y\n\x11open_notional_cap\x18\x17 \x01(\x0b\x32-.injective_tc_derivatives_rpc.OpenNotionalCapR\x0fopenNotionalCap\"\xa0\x01\n\tTokenMeta\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x12\n\x04logo\x18\x04 \x01(\tR\x04logo\x12\x1a\n\x08\x64\x65\x63imals\x18\x05 \x01(\x11R\x08\x64\x65\x63imals\x12\x1d\n\nupdated_at\x18\x06 \x01(\x12R\tupdatedAt\"\xdf\x01\n\x13PerpetualMarketInfo\x12\x35\n\x17hourly_funding_rate_cap\x18\x01 \x01(\tR\x14hourlyFundingRateCap\x12\x30\n\x14hourly_interest_rate\x18\x02 \x01(\tR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x03 \x01(\x12R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x04 \x01(\x12R\x0f\x66undingInterval\"\xc5\x01\n\x16PerpetualMarketFunding\x12-\n\x12\x63umulative_funding\x18\x01 \x01(\tR\x11\x63umulativeFunding\x12)\n\x10\x63umulative_price\x18\x02 \x01(\tR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x12R\rlastTimestamp\x12*\n\x11last_funding_rate\x18\x04 \x01(\tR\x0flastFundingRate\"w\n\x17\x45xpiryFuturesMarketInfo\x12\x31\n\x14\x65xpiration_timestamp\x18\x01 \x01(\x12R\x13\x65xpirationTimestamp\x12)\n\x10settlement_price\x18\x02 \x01(\tR\x0fsettlementPrice\"#\n\x0fOpenNotionalCap\x12\x10\n\x03\x63\x61p\x18\x01 \x01(\tR\x03\x63\x61p\"\xad\x01\n\x14OrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"\x7f\n\x15OrdersHistoryResponse\x12R\n\x06orders\x18\x01 \x03(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xd8\x05\n\x1cTCDerivativeOrderHistoryType\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\x12\'\n\x0f\x61\x63\x63ount_address\x18\x16 \x01(\tR\x0e\x61\x63\x63ountAddress\"d\n\x1aStreamOrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xb4\x01\n\x1bStreamOrdersHistoryResponse\x12P\n\x05order\x18\x01 \x01(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xa6\x01\n\rOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"p\n\x0eOrdersResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x80\x06\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\x12\'\n\x0f\x61\x63\x63ount_address\x18\x17 \x01(\tR\x0e\x61\x63\x63ountAddress\"]\n\x13StreamOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xa5\x01\n\x14StreamOrdersResponse\x12H\n\x05order\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xfa\x02\n\rTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12\x17\n\x07sort_by\x18\x06 \x01(\tR\x06sortBy\x12%\n\x0esort_direction\x18\x07 \x01(\tR\rsortDirection\x12\x1d\n\nstart_time\x18\x08 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\t \x01(\x12R\x07\x65ndTime\x12\x19\n\x08with_pnl\x18\n \x01(\x08R\x07withPnl\x12\x1b\n\trfq_maker\x18\x0b \x01(\tR\x08rfqMaker\x12 \n\x0bparticipant\x18\x0c \x01(\tR\x0bparticipant\"m\n\x0eTradesResponse\x12G\n\x06trades\x18\x01 \x03(\x0b\x32/.injective_tc_derivatives_rpc.TCDerivativeTradeR\x06trades\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xce\x06\n\x11TCDerivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12R\n\x0eposition_delta\x18\x06 \x01(\x0b\x32+.injective_tc_derivatives_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\x12\x10\n\x03pnl\x18\x0e \x01(\tR\x03pnl\x12(\n\x10position_is_long\x18\x0f \x01(\x08R\x0epositionIsLong\x12,\n\x12position_opened_at\x18\x10 \x01(\x12R\x10positionOpenedAt\x12\x30\n\x14position_entry_price\x18\x11 \x01(\tR\x12positionEntryPrice\x12,\n\x12is_position_closed\x18\x12 \x01(\x08R\x10isPositionClosed\x12\x1b\n\trfq_maker\x18\x13 \x01(\tR\x08rfqMaker\x12\'\n\x0f\x61\x63\x63ount_address\x18\x14 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x15\n\x06rfq_id\x18\x15 \x01(\x04R\x05rfqId\x12\x17\n\x07tx_hash\x18\x16 \x01(\tR\x06txHash\x12\'\n\x0frfq_participant\x18\x17 \x01(\tR\x0erfqParticipant\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"\x9c\x01\n\x13StreamTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1b\n\trfq_maker\x18\x03 \x01(\tR\x08rfqMaker\x12 \n\x0bparticipant\x18\x04 \x01(\tR\x0bparticipant\"\xa2\x01\n\x14StreamTradesResponse\x12\x45\n\x05trade\x18\x01 \x01(\x0b\x32/.injective_tc_derivatives_rpc.TCDerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe5\x01\n\x10PositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1d\n\nwith_count\x18\x04 \x01(\x08R\twithCount\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x1b\n\twith_upnl\x18\x07 \x01(\x08R\x08withUpnl\"\x8f\x01\n\x11PositionsResponse\x12P\n\tpositions\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\tpositions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\x12\x14\n\x05total\x18\x03 \x01(\x04R\x05total\"\xf0\x05\n\x14\x44\x65rivativePositionV2\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x14\n\x05\x64\x65nom\x18\x0c \x01(\tR\x05\x64\x65nom\x12!\n\x0c\x66unding_last\x18\r \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0e \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x0f \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x10 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\x12\x12\n\x04upnl\x18\x11 \x01(\tR\x04upnl\x12)\n\x10initial_leverage\x18\x12 \x01(\tR\x0finitialLeverage\x12%\n\x0einitial_margin\x18\x13 \x01(\tR\rinitialMargin\x12.\n\x13initial_entry_price\x18\x14 \x01(\tR\x11initialEntryPrice\x12)\n\x10initial_quantity\x18\x15 \x01(\tR\x0finitialQuantity\"`\n\x16StreamPositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xae\x01\n\x17StreamPositionsResponse\x12N\n\x08position\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12%\n\x0eoperation_type\x18\x03 \x01(\tR\roperationType\"h\n\x16\x46undingPaymentsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x19\n\x08per_page\x18\x02 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\"w\n\x17\x46undingPaymentsResponse\x12H\n\x08payments\x18\x01 \x03(\x0b\x32,.injective_tc_derivatives_rpc.FundingPaymentR\x08payments\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x88\x01\n\x0e\x46undingPayment\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06\x61mount\x18\x03 \x01(\tR\x06\x61mount\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp2\xb9\t\n\x19InjectiveTCDerivativesRPC\x12\x66\n\x07Markets\x12,.injective_tc_derivatives_rpc.MarketsRequest\x1a-.injective_tc_derivatives_rpc.MarketsResponse\x12x\n\rOrdersHistory\x12\x32.injective_tc_derivatives_rpc.OrdersHistoryRequest\x1a\x33.injective_tc_derivatives_rpc.OrdersHistoryResponse\x12\x8c\x01\n\x13StreamOrdersHistory\x12\x38.injective_tc_derivatives_rpc.StreamOrdersHistoryRequest\x1a\x39.injective_tc_derivatives_rpc.StreamOrdersHistoryResponse0\x01\x12\x63\n\x06Orders\x12+.injective_tc_derivatives_rpc.OrdersRequest\x1a,.injective_tc_derivatives_rpc.OrdersResponse\x12w\n\x0cStreamOrders\x12\x31.injective_tc_derivatives_rpc.StreamOrdersRequest\x1a\x32.injective_tc_derivatives_rpc.StreamOrdersResponse0\x01\x12\x63\n\x06Trades\x12+.injective_tc_derivatives_rpc.TradesRequest\x1a,.injective_tc_derivatives_rpc.TradesResponse\x12w\n\x0cStreamTrades\x12\x31.injective_tc_derivatives_rpc.StreamTradesRequest\x1a\x32.injective_tc_derivatives_rpc.StreamTradesResponse0\x01\x12l\n\tPositions\x12..injective_tc_derivatives_rpc.PositionsRequest\x1a/.injective_tc_derivatives_rpc.PositionsResponse\x12\x80\x01\n\x0fStreamPositions\x12\x34.injective_tc_derivatives_rpc.StreamPositionsRequest\x1a\x35.injective_tc_derivatives_rpc.StreamPositionsResponse0\x01\x12~\n\x0f\x46undingPayments\x12\x34.injective_tc_derivatives_rpc.FundingPaymentsRequest\x1a\x35.injective_tc_derivatives_rpc.FundingPaymentsResponseB\xe7\x01\n com.injective_tc_derivatives_rpcB\x1eInjectiveTcDerivativesRpcProtoP\x01Z\x1f/injective_tc_derivatives_rpcpb\xa2\x02\x03IXX\xaa\x02\x19InjectiveTcDerivativesRpc\xca\x02\x19InjectiveTcDerivativesRpc\xe2\x02%InjectiveTcDerivativesRpc\\GPBMetadata\xea\x02\x19InjectiveTcDerivativesRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_tc_derivatives_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.injective_tc_derivatives_rpcB\036InjectiveTcDerivativesRpcProtoP\001Z\037/injective_tc_derivatives_rpcpb\242\002\003IXX\252\002\031InjectiveTcDerivativesRpc\312\002\031InjectiveTcDerivativesRpc\342\002%InjectiveTcDerivativesRpc\\GPBMetadata\352\002\031InjectiveTcDerivativesRpc' + _globals['_MARKETSREQUEST']._serialized_start=78 + _globals['_MARKETSREQUEST']._serialized_end=285 + _globals['_MARKETSRESPONSE']._serialized_start=287 + _globals['_MARKETSRESPONSE']._serialized_end=402 + _globals['_DERIVATIVEMARKETINFO']._serialized_start=405 + _globals['_DERIVATIVEMARKETINFO']._serialized_end=1656 + _globals['_TOKENMETA']._serialized_start=1659 + _globals['_TOKENMETA']._serialized_end=1819 + _globals['_PERPETUALMARKETINFO']._serialized_start=1822 + _globals['_PERPETUALMARKETINFO']._serialized_end=2045 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=2048 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=2245 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=2247 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=2366 + _globals['_OPENNOTIONALCAP']._serialized_start=2368 + _globals['_OPENNOTIONALCAP']._serialized_end=2403 + _globals['_ORDERSHISTORYREQUEST']._serialized_start=2406 + _globals['_ORDERSHISTORYREQUEST']._serialized_end=2579 + _globals['_ORDERSHISTORYRESPONSE']._serialized_start=2581 + _globals['_ORDERSHISTORYRESPONSE']._serialized_end=2708 + _globals['_TCDERIVATIVEORDERHISTORYTYPE']._serialized_start=2711 + _globals['_TCDERIVATIVEORDERHISTORYTYPE']._serialized_end=3439 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_start=3441 + _globals['_STREAMORDERSHISTORYREQUEST']._serialized_end=3541 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_start=3544 + _globals['_STREAMORDERSHISTORYRESPONSE']._serialized_end=3724 + _globals['_ORDERSREQUEST']._serialized_start=3727 + _globals['_ORDERSREQUEST']._serialized_end=3893 + _globals['_ORDERSRESPONSE']._serialized_start=3895 + _globals['_ORDERSRESPONSE']._serialized_end=4007 + _globals['_DERIVATIVELIMITORDER']._serialized_start=4010 + _globals['_DERIVATIVELIMITORDER']._serialized_end=4778 + _globals['_STREAMORDERSREQUEST']._serialized_start=4780 + _globals['_STREAMORDERSREQUEST']._serialized_end=4873 + _globals['_STREAMORDERSRESPONSE']._serialized_start=4876 + _globals['_STREAMORDERSRESPONSE']._serialized_end=5041 + _globals['_TRADESREQUEST']._serialized_start=5044 + _globals['_TRADESREQUEST']._serialized_end=5422 + _globals['_TRADESRESPONSE']._serialized_start=5424 + _globals['_TRADESRESPONSE']._serialized_end=5533 + _globals['_TCDERIVATIVETRADE']._serialized_start=5536 + _globals['_TCDERIVATIVETRADE']._serialized_end=6382 + _globals['_POSITIONDELTA']._serialized_start=6385 + _globals['_POSITIONDELTA']._serialized_end=6572 + _globals['_STREAMTRADESREQUEST']._serialized_start=6575 + _globals['_STREAMTRADESREQUEST']._serialized_end=6731 + _globals['_STREAMTRADESRESPONSE']._serialized_start=6734 + _globals['_STREAMTRADESRESPONSE']._serialized_end=6896 + _globals['_POSITIONSREQUEST']._serialized_start=6899 + _globals['_POSITIONSREQUEST']._serialized_end=7128 + _globals['_POSITIONSRESPONSE']._serialized_start=7131 + _globals['_POSITIONSRESPONSE']._serialized_end=7274 + _globals['_DERIVATIVEPOSITIONV2']._serialized_start=7277 + _globals['_DERIVATIVEPOSITIONV2']._serialized_end=8029 + _globals['_STREAMPOSITIONSREQUEST']._serialized_start=8031 + _globals['_STREAMPOSITIONSREQUEST']._serialized_end=8127 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_start=8130 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_end=8304 + _globals['_FUNDINGPAYMENTSREQUEST']._serialized_start=8306 + _globals['_FUNDINGPAYMENTSREQUEST']._serialized_end=8410 + _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_start=8412 + _globals['_FUNDINGPAYMENTSRESPONSE']._serialized_end=8531 + _globals['_FUNDINGPAYMENT']._serialized_start=8534 + _globals['_FUNDINGPAYMENT']._serialized_end=8670 + _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_start=8673 + _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_end=9882 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2_grpc.py new file mode 100644 index 00000000..725f381b --- /dev/null +++ b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2_grpc.py @@ -0,0 +1,478 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_tc_derivatives_rpc_pb2 as exchange_dot_injective__tc__derivatives__rpc__pb2 + + +class InjectiveTCDerivativesRPCStub(object): + """InjectiveTCDerivativesRPC defines gRPC API of the TC Derivatives API. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Markets = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Markets', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsResponse.FromString, + _registered_method=True) + self.OrdersHistory = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/OrdersHistory', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryResponse.FromString, + _registered_method=True) + self.StreamOrdersHistory = channel.unary_stream( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamOrdersHistory', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryResponse.FromString, + _registered_method=True) + self.Orders = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Orders', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersResponse.FromString, + _registered_method=True) + self.StreamOrders = channel.unary_stream( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamOrders', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersResponse.FromString, + _registered_method=True) + self.Trades = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Trades', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.TradesRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.TradesResponse.FromString, + _registered_method=True) + self.StreamTrades = channel.unary_stream( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamTrades', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesResponse.FromString, + _registered_method=True) + self.Positions = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Positions', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsResponse.FromString, + _registered_method=True) + self.StreamPositions = channel.unary_stream( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamPositions', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsResponse.FromString, + _registered_method=True) + self.FundingPayments = channel.unary_unary( + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/FundingPayments', + request_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsResponse.FromString, + _registered_method=True) + + +class InjectiveTCDerivativesRPCServicer(object): + """InjectiveTCDerivativesRPC defines gRPC API of the TC Derivatives API. + """ + + def Markets(self, request, context): + """Markets gets a list of TC derivative markets + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OrdersHistory(self, request, context): + """Get TC order history combining settlement requests with on-chain order data + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamOrdersHistory(self, request, context): + """Stream updates to TC order history entries + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Orders(self, request, context): + """Get TC derivative limit orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamOrders(self, request, context): + """Stream updates to TC derivative limit orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Trades(self, request, context): + """Get TC derivative trades + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamTrades(self, request, context): + """Stream newly executed trades from TC Derivative Markets + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Positions(self, request, context): + """Positions gets the positions for a trader. V2 removed some redundant fields + and had performance improvements + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamPositions(self, request, context): + """StreamPositions streams TC derivatives position updates + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FundingPayments(self, request, context): + """FundingPayments lists funding payments, optionally filtered by market. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveTCDerivativesRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Markets': grpc.unary_unary_rpc_method_handler( + servicer.Markets, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsResponse.SerializeToString, + ), + 'OrdersHistory': grpc.unary_unary_rpc_method_handler( + servicer.OrdersHistory, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryResponse.SerializeToString, + ), + 'StreamOrdersHistory': grpc.unary_stream_rpc_method_handler( + servicer.StreamOrdersHistory, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryResponse.SerializeToString, + ), + 'Orders': grpc.unary_unary_rpc_method_handler( + servicer.Orders, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersResponse.SerializeToString, + ), + 'StreamOrders': grpc.unary_stream_rpc_method_handler( + servicer.StreamOrders, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersResponse.SerializeToString, + ), + 'Trades': grpc.unary_unary_rpc_method_handler( + servicer.Trades, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.TradesRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.TradesResponse.SerializeToString, + ), + 'StreamTrades': grpc.unary_stream_rpc_method_handler( + servicer.StreamTrades, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesResponse.SerializeToString, + ), + 'Positions': grpc.unary_unary_rpc_method_handler( + servicer.Positions, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsResponse.SerializeToString, + ), + 'StreamPositions': grpc.unary_stream_rpc_method_handler( + servicer.StreamPositions, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsResponse.SerializeToString, + ), + 'FundingPayments': grpc.unary_unary_rpc_method_handler( + servicer.FundingPayments, + request_deserializer=exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsRequest.FromString, + response_serializer=exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveTCDerivativesRPC(object): + """InjectiveTCDerivativesRPC defines gRPC API of the TC Derivatives API. + """ + + @staticmethod + def Markets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Markets', + exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.MarketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OrdersHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/OrdersHistory', + exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamOrdersHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamOrdersHistory', + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersHistoryResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Orders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Orders', + exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.OrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamOrders', + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Trades(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Trades', + exchange_dot_injective__tc__derivatives__rpc__pb2.TradesRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.TradesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamTrades(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamTrades', + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamTradesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Positions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/Positions', + exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.PositionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamPositions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/StreamPositions', + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.StreamPositionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FundingPayments(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_tc_derivatives_rpc.InjectiveTCDerivativesRPC/FundingPayments', + exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsRequest.SerializeToString, + exchange_dot_injective__tc__derivatives__rpc__pb2.FundingPaymentsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_trading_rpc_pb2.py b/pyinjective/proto/exchange/injective_trading_rpc_pb2.py index 833b12d5..2d086c16 100644 --- a/pyinjective/proto/exchange/injective_trading_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_trading_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$exchange/injective_trading_rpc.proto\x12\x15injective_trading_rpc\"\xf6\x02\n\x1cListTradingStrategiesRequest\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x04 \x01(\tR\x0e\x61\x63\x63ountAddress\x12+\n\x11pending_execution\x18\x05 \x01(\x08R\x10pendingExecution\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x14\n\x05limit\x18\x08 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\t \x01(\x04R\x04skip\x12#\n\rstrategy_type\x18\n \x03(\tR\x0cstrategyType\x12\x1f\n\x0bmarket_type\x18\x0b \x01(\tR\nmarketType\"\x9e\x01\n\x1dListTradingStrategiesResponse\x12\x46\n\nstrategies\x18\x01 \x03(\x0b\x32&.injective_trading_rpc.TradingStrategyR\nstrategies\x12\x35\n\x06paging\x18\x02 \x01(\x0b\x32\x1d.injective_trading_rpc.PagingR\x06paging\"\xd9\n\n\x0fTradingStrategy\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x04 \x01(\tR\x0e\x61\x63\x63ountAddress\x12)\n\x10\x63ontract_address\x18\x05 \x01(\tR\x0f\x63ontractAddress\x12\'\n\x0f\x65xecution_price\x18\x06 \x01(\tR\x0e\x65xecutionPrice\x12#\n\rbase_quantity\x18\x07 \x01(\tR\x0c\x62\x61seQuantity\x12%\n\x0equote_quantity\x18\x14 \x01(\tR\rquoteQuantity\x12\x1f\n\x0blower_bound\x18\x08 \x01(\tR\nlowerBound\x12\x1f\n\x0bupper_bound\x18\t \x01(\tR\nupperBound\x12\x1b\n\tstop_loss\x18\n \x01(\tR\x08stopLoss\x12\x1f\n\x0btake_profit\x18\x0b \x01(\tR\ntakeProfit\x12\x19\n\x08swap_fee\x18\x0c \x01(\tR\x07swapFee\x12!\n\x0c\x62\x61se_deposit\x18\x11 \x01(\tR\x0b\x62\x61seDeposit\x12#\n\rquote_deposit\x18\x12 \x01(\tR\x0cquoteDeposit\x12(\n\x10market_mid_price\x18\x13 \x01(\tR\x0emarketMidPrice\x12>\n\x1bsubscription_quote_quantity\x18\x15 \x01(\tR\x19subscriptionQuoteQuantity\x12<\n\x1asubscription_base_quantity\x18\x16 \x01(\tR\x18subscriptionBaseQuantity\x12\x31\n\x15number_of_grid_levels\x18\x17 \x01(\tR\x12numberOfGridLevels\x12<\n\x1bshould_exit_with_quote_only\x18\x18 \x01(\x08R\x17shouldExitWithQuoteOnly\x12\x1f\n\x0bstop_reason\x18\x19 \x01(\tR\nstopReason\x12+\n\x11pending_execution\x18\x1a \x01(\x08R\x10pendingExecution\x12%\n\x0e\x63reated_height\x18\r \x01(\x12R\rcreatedHeight\x12%\n\x0eremoved_height\x18\x0e \x01(\x12R\rremovedHeight\x12\x1d\n\ncreated_at\x18\x0f \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\x12R\tupdatedAt\x12\x1b\n\texit_type\x18\x1b \x01(\tR\x08\x65xitType\x12K\n\x10stop_loss_config\x18\x1c \x01(\x0b\x32!.injective_trading_rpc.ExitConfigR\x0estopLossConfig\x12O\n\x12take_profit_config\x18\x1d \x01(\x0b\x32!.injective_trading_rpc.ExitConfigR\x10takeProfitConfig\x12#\n\rstrategy_type\x18\x1e \x01(\tR\x0cstrategyType\x12)\n\x10\x63ontract_version\x18\x1f \x01(\tR\x0f\x63ontractVersion\x12#\n\rcontract_name\x18 \x01(\tR\x0c\x63ontractName\x12\x1f\n\x0bmarket_type\x18! \x01(\tR\nmarketType\"H\n\nExitConfig\x12\x1b\n\texit_type\x18\x01 \x01(\tR\x08\x65xitType\x12\x1d\n\nexit_price\x18\x02 \x01(\tR\texitPrice\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next2\x9a\x01\n\x13InjectiveTradingRPC\x12\x82\x01\n\x15ListTradingStrategies\x12\x33.injective_trading_rpc.ListTradingStrategiesRequest\x1a\x34.injective_trading_rpc.ListTradingStrategiesResponseB\xbb\x01\n\x19\x63om.injective_trading_rpcB\x18InjectiveTradingRpcProtoP\x01Z\x18/injective_trading_rpcpb\xa2\x02\x03IXX\xaa\x02\x13InjectiveTradingRpc\xca\x02\x13InjectiveTradingRpc\xe2\x02\x1fInjectiveTradingRpc\\GPBMetadata\xea\x02\x13InjectiveTradingRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$exchange/injective_trading_rpc.proto\x12\x15injective_trading_rpc\"\x9c\x04\n\x1cListTradingStrategiesRequest\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x04 \x01(\tR\x0e\x61\x63\x63ountAddress\x12+\n\x11pending_execution\x18\x05 \x01(\x08R\x10pendingExecution\x12\x1d\n\nstart_time\x18\x06 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\x07 \x01(\x12R\x07\x65ndTime\x12\x14\n\x05limit\x18\x08 \x01(\x11R\x05limit\x12\x12\n\x04skip\x18\t \x01(\x04R\x04skip\x12#\n\rstrategy_type\x18\n \x03(\tR\x0cstrategyType\x12\x1f\n\x0bmarket_type\x18\x0b \x01(\tR\nmarketType\x12,\n\x12last_executed_time\x18\x0c \x01(\x12R\x10lastExecutedTime\x12\x19\n\x08with_tvl\x18\r \x01(\x08R\x07withTvl\x12\x30\n\x14is_trailing_strategy\x18\x0e \x01(\x08R\x12isTrailingStrategy\x12)\n\x10with_performance\x18\x0f \x01(\x08R\x0fwithPerformance\"\x9e\x01\n\x1dListTradingStrategiesResponse\x12\x46\n\nstrategies\x18\x01 \x03(\x0b\x32&.injective_trading_rpc.TradingStrategyR\nstrategies\x12\x35\n\x06paging\x18\x02 \x01(\x0b\x32\x1d.injective_trading_rpc.PagingR\x06paging\"\xf6\x11\n\x0fTradingStrategy\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x04 \x01(\tR\x0e\x61\x63\x63ountAddress\x12)\n\x10\x63ontract_address\x18\x05 \x01(\tR\x0f\x63ontractAddress\x12\'\n\x0f\x65xecution_price\x18\x06 \x01(\tR\x0e\x65xecutionPrice\x12#\n\rbase_quantity\x18\x07 \x01(\tR\x0c\x62\x61seQuantity\x12%\n\x0equote_quantity\x18\x14 \x01(\tR\rquoteQuantity\x12\x1f\n\x0blower_bound\x18\x08 \x01(\tR\nlowerBound\x12\x1f\n\x0bupper_bound\x18\t \x01(\tR\nupperBound\x12\x1b\n\tstop_loss\x18\n \x01(\tR\x08stopLoss\x12\x1f\n\x0btake_profit\x18\x0b \x01(\tR\ntakeProfit\x12\x19\n\x08swap_fee\x18\x0c \x01(\tR\x07swapFee\x12!\n\x0c\x62\x61se_deposit\x18\x11 \x01(\tR\x0b\x62\x61seDeposit\x12#\n\rquote_deposit\x18\x12 \x01(\tR\x0cquoteDeposit\x12(\n\x10market_mid_price\x18\x13 \x01(\tR\x0emarketMidPrice\x12>\n\x1bsubscription_quote_quantity\x18\x15 \x01(\tR\x19subscriptionQuoteQuantity\x12<\n\x1asubscription_base_quantity\x18\x16 \x01(\tR\x18subscriptionBaseQuantity\x12\x31\n\x15number_of_grid_levels\x18\x17 \x01(\tR\x12numberOfGridLevels\x12<\n\x1bshould_exit_with_quote_only\x18\x18 \x01(\x08R\x17shouldExitWithQuoteOnly\x12\x1f\n\x0bstop_reason\x18\x19 \x01(\tR\nstopReason\x12+\n\x11pending_execution\x18\x1a \x01(\x08R\x10pendingExecution\x12%\n\x0e\x63reated_height\x18\r \x01(\x12R\rcreatedHeight\x12%\n\x0eremoved_height\x18\x0e \x01(\x12R\rremovedHeight\x12\x1d\n\ncreated_at\x18\x0f \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x10 \x01(\x12R\tupdatedAt\x12\x1b\n\texit_type\x18\x1b \x01(\tR\x08\x65xitType\x12K\n\x10stop_loss_config\x18\x1c \x01(\x0b\x32!.injective_trading_rpc.ExitConfigR\x0estopLossConfig\x12O\n\x12take_profit_config\x18\x1d \x01(\x0b\x32!.injective_trading_rpc.ExitConfigR\x10takeProfitConfig\x12#\n\rstrategy_type\x18\x1e \x01(\tR\x0cstrategyType\x12)\n\x10\x63ontract_version\x18\x1f \x01(\tR\x0f\x63ontractVersion\x12#\n\rcontract_name\x18 \x01(\tR\x0c\x63ontractName\x12\x1f\n\x0bmarket_type\x18! \x01(\tR\nmarketType\x12(\n\x10last_executed_at\x18\" \x01(\x12R\x0elastExecutedAt\x12$\n\x0etrail_up_price\x18# \x01(\tR\x0ctrailUpPrice\x12(\n\x10trail_down_price\x18$ \x01(\tR\x0etrailDownPrice\x12(\n\x10trail_up_counter\x18% \x01(\x12R\x0etrailUpCounter\x12,\n\x12trail_down_counter\x18& \x01(\x12R\x10trailDownCounter\x12\x10\n\x03tvl\x18\' \x01(\tR\x03tvl\x12\x10\n\x03pnl\x18( \x01(\tR\x03pnl\x12\x19\n\x08pnl_perc\x18) \x01(\tR\x07pnlPerc\x12$\n\x0epnl_updated_at\x18* \x01(\x12R\x0cpnlUpdatedAt\x12 \n\x0bperformance\x18+ \x01(\tR\x0bperformance\x12\x10\n\x03roi\x18, \x01(\tR\x03roi\x12,\n\x12initial_base_price\x18- \x01(\tR\x10initialBasePrice\x12.\n\x13initial_quote_price\x18. \x01(\tR\x11initialQuotePrice\x12,\n\x12\x63urrent_base_price\x18/ \x01(\tR\x10\x63urrentBasePrice\x12.\n\x13\x63urrent_quote_price\x18\x30 \x01(\tR\x11\x63urrentQuotePrice\x12(\n\x10\x66inal_base_price\x18\x31 \x01(\tR\x0e\x66inalBasePrice\x12*\n\x11\x66inal_quote_price\x18\x32 \x01(\tR\x0f\x66inalQuotePrice\x12G\n\nfinal_data\x18\x33 \x01(\x0b\x32(.injective_trading_rpc.StrategyFinalDataR\tfinalData\x12!\n\x0cmargin_ratio\x18\x34 \x01(\tR\x0bmarginRatio\x12\x30\n\x14lower_trailing_bound\x18\x35 \x01(\tR\x12lowerTrailingBound\x12\x30\n\x14upper_trailing_bound\x18\x36 \x01(\tR\x12upperTrailingBound\x12&\n\x0fnew_upper_bound\x18\x37 \x01(\tR\rnewUpperBound\x12&\n\x0fnew_lower_bound\x18\x38 \x01(\tR\rnewLowerBound\"H\n\nExitConfig\x12\x1b\n\texit_type\x18\x01 \x01(\tR\x08\x65xitType\x12\x1d\n\nexit_price\x18\x02 \x01(\tR\texitPrice\"\x83\x03\n\x11StrategyFinalData\x12.\n\x13initial_base_amount\x18\x01 \x01(\tR\x11initialBaseAmount\x12\x30\n\x14initial_quote_amount\x18\x02 \x01(\tR\x12initialQuoteAmount\x12*\n\x11\x66inal_base_amount\x18\x03 \x01(\tR\x0f\x66inalBaseAmount\x12,\n\x12\x66inal_quote_amount\x18\x04 \x01(\tR\x10\x66inalQuoteAmount\x12,\n\x12initial_base_price\x18\x05 \x01(\tR\x10initialBasePrice\x12.\n\x13initial_quote_price\x18\x06 \x01(\tR\x11initialQuotePrice\x12(\n\x10\x66inal_base_price\x18\x07 \x01(\tR\x0e\x66inalBasePrice\x12*\n\x11\x66inal_quote_price\x18\x08 \x01(\tR\x0f\x66inalQuotePrice\"\x86\x01\n\x06Paging\x12\x14\n\x05total\x18\x01 \x01(\x12R\x05total\x12\x12\n\x04\x66rom\x18\x02 \x01(\x11R\x04\x66rom\x12\x0e\n\x02to\x18\x03 \x01(\x11R\x02to\x12.\n\x13\x63ount_by_subaccount\x18\x04 \x01(\x12R\x11\x63ountBySubaccount\x12\x12\n\x04next\x18\x05 \x03(\tR\x04next\"\x18\n\x16GetTradingStatsRequest\"\xf4\x01\n\x17GetTradingStatsResponse\x12:\n\x19\x61\x63tive_trading_strategies\x18\x01 \x01(\x04R\x17\x61\x63tiveTradingStrategies\x12G\n total_trading_strategies_created\x18\x02 \x01(\x04R\x1dtotalTradingStrategiesCreated\x12\x1b\n\ttotal_tvl\x18\x03 \x01(\tR\x08totalTvl\x12\x37\n\x07markets\x18\x04 \x03(\x0b\x32\x1d.injective_trading_rpc.MarketR\x07markets\"a\n\x06Market\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12:\n\x19\x61\x63tive_trading_strategies\x18\x02 \x01(\x04R\x17\x61\x63tiveTradingStrategies\"a\n\x15StreamStrategyRequest\x12+\n\x11\x61\x63\x63ount_addresses\x18\x01 \x03(\tR\x10\x61\x63\x63ountAddresses\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x89\x01\n\x16StreamStrategyResponse\x12Q\n\x10trading_strategy\x18\x01 \x01(\x0b\x32&.injective_trading_rpc.TradingStrategyR\x0ftradingStrategy\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp2\xfd\x02\n\x13InjectiveTradingRPC\x12\x82\x01\n\x15ListTradingStrategies\x12\x33.injective_trading_rpc.ListTradingStrategiesRequest\x1a\x34.injective_trading_rpc.ListTradingStrategiesResponse\x12p\n\x0fGetTradingStats\x12-.injective_trading_rpc.GetTradingStatsRequest\x1a..injective_trading_rpc.GetTradingStatsResponse\x12o\n\x0eStreamStrategy\x12,.injective_trading_rpc.StreamStrategyRequest\x1a-.injective_trading_rpc.StreamStrategyResponse0\x01\x42\xbb\x01\n\x19\x63om.injective_trading_rpcB\x18InjectiveTradingRpcProtoP\x01Z\x18/injective_trading_rpcpb\xa2\x02\x03IXX\xaa\x02\x13InjectiveTradingRpc\xca\x02\x13InjectiveTradingRpc\xe2\x02\x1fInjectiveTradingRpc\\GPBMetadata\xea\x02\x13InjectiveTradingRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,15 +23,27 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective_trading_rpcB\030InjectiveTradingRpcProtoP\001Z\030/injective_trading_rpcpb\242\002\003IXX\252\002\023InjectiveTradingRpc\312\002\023InjectiveTradingRpc\342\002\037InjectiveTradingRpc\\GPBMetadata\352\002\023InjectiveTradingRpc' _globals['_LISTTRADINGSTRATEGIESREQUEST']._serialized_start=64 - _globals['_LISTTRADINGSTRATEGIESREQUEST']._serialized_end=438 - _globals['_LISTTRADINGSTRATEGIESRESPONSE']._serialized_start=441 - _globals['_LISTTRADINGSTRATEGIESRESPONSE']._serialized_end=599 - _globals['_TRADINGSTRATEGY']._serialized_start=602 - _globals['_TRADINGSTRATEGY']._serialized_end=1971 - _globals['_EXITCONFIG']._serialized_start=1973 - _globals['_EXITCONFIG']._serialized_end=2045 - _globals['_PAGING']._serialized_start=2048 - _globals['_PAGING']._serialized_end=2182 - _globals['_INJECTIVETRADINGRPC']._serialized_start=2185 - _globals['_INJECTIVETRADINGRPC']._serialized_end=2339 + _globals['_LISTTRADINGSTRATEGIESREQUEST']._serialized_end=604 + _globals['_LISTTRADINGSTRATEGIESRESPONSE']._serialized_start=607 + _globals['_LISTTRADINGSTRATEGIESRESPONSE']._serialized_end=765 + _globals['_TRADINGSTRATEGY']._serialized_start=768 + _globals['_TRADINGSTRATEGY']._serialized_end=3062 + _globals['_EXITCONFIG']._serialized_start=3064 + _globals['_EXITCONFIG']._serialized_end=3136 + _globals['_STRATEGYFINALDATA']._serialized_start=3139 + _globals['_STRATEGYFINALDATA']._serialized_end=3526 + _globals['_PAGING']._serialized_start=3529 + _globals['_PAGING']._serialized_end=3663 + _globals['_GETTRADINGSTATSREQUEST']._serialized_start=3665 + _globals['_GETTRADINGSTATSREQUEST']._serialized_end=3689 + _globals['_GETTRADINGSTATSRESPONSE']._serialized_start=3692 + _globals['_GETTRADINGSTATSRESPONSE']._serialized_end=3936 + _globals['_MARKET']._serialized_start=3938 + _globals['_MARKET']._serialized_end=4035 + _globals['_STREAMSTRATEGYREQUEST']._serialized_start=4037 + _globals['_STREAMSTRATEGYREQUEST']._serialized_end=4134 + _globals['_STREAMSTRATEGYRESPONSE']._serialized_start=4137 + _globals['_STREAMSTRATEGYRESPONSE']._serialized_end=4274 + _globals['_INJECTIVETRADINGRPC']._serialized_start=4277 + _globals['_INJECTIVETRADINGRPC']._serialized_end=4658 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_trading_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_trading_rpc_pb2_grpc.py index f0c3e8df..d6176321 100644 --- a/pyinjective/proto/exchange/injective_trading_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_trading_rpc_pb2_grpc.py @@ -21,6 +21,16 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesRequest.SerializeToString, response_deserializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesResponse.FromString, _registered_method=True) + self.GetTradingStats = channel.unary_unary( + '/injective_trading_rpc.InjectiveTradingRPC/GetTradingStats', + request_serializer=exchange_dot_injective__trading__rpc__pb2.GetTradingStatsRequest.SerializeToString, + response_deserializer=exchange_dot_injective__trading__rpc__pb2.GetTradingStatsResponse.FromString, + _registered_method=True) + self.StreamStrategy = channel.unary_stream( + '/injective_trading_rpc.InjectiveTradingRPC/StreamStrategy', + request_serializer=exchange_dot_injective__trading__rpc__pb2.StreamStrategyRequest.SerializeToString, + response_deserializer=exchange_dot_injective__trading__rpc__pb2.StreamStrategyResponse.FromString, + _registered_method=True) class InjectiveTradingRPCServicer(object): @@ -35,6 +45,20 @@ def ListTradingStrategies(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def GetTradingStats(self, request, context): + """GetStats returns global statistics in the last 24hs + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamStrategy(self, request, context): + """StreamStrategy streams the trading strategies on state change + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_InjectiveTradingRPCServicer_to_server(servicer, server): rpc_method_handlers = { @@ -43,6 +67,16 @@ def add_InjectiveTradingRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesRequest.FromString, response_serializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesResponse.SerializeToString, ), + 'GetTradingStats': grpc.unary_unary_rpc_method_handler( + servicer.GetTradingStats, + request_deserializer=exchange_dot_injective__trading__rpc__pb2.GetTradingStatsRequest.FromString, + response_serializer=exchange_dot_injective__trading__rpc__pb2.GetTradingStatsResponse.SerializeToString, + ), + 'StreamStrategy': grpc.unary_stream_rpc_method_handler( + servicer.StreamStrategy, + request_deserializer=exchange_dot_injective__trading__rpc__pb2.StreamStrategyRequest.FromString, + response_serializer=exchange_dot_injective__trading__rpc__pb2.StreamStrategyResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective_trading_rpc.InjectiveTradingRPC', rpc_method_handlers) @@ -82,3 +116,57 @@ def ListTradingStrategies(request, timeout, metadata, _registered_method=True) + + @staticmethod + def GetTradingStats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective_trading_rpc.InjectiveTradingRPC/GetTradingStats', + exchange_dot_injective__trading__rpc__pb2.GetTradingStatsRequest.SerializeToString, + exchange_dot_injective__trading__rpc__pb2.GetTradingStatsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamStrategy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective_trading_rpc.InjectiveTradingRPC/StreamStrategy', + exchange_dot_injective__trading__rpc__pb2.StreamStrategyRequest.SerializeToString, + exchange_dot_injective__trading__rpc__pb2.StreamStrategyResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/google/api/client_pb2.py b/pyinjective/proto/google/api/client_pb2.py index 57d8f80c..f749a2ce 100644 --- a/pyinjective/proto/google/api/client_pb2.py +++ b/pyinjective/proto/google/api/client_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\x94\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xfd\x01\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1aI\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"H\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc2\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\xf8\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\x12\x62\n\x1aselective_gapic_generation\x18\x03 \x01(\x0b\x32$.google.api.SelectiveGapicGenerationR\x18selectiveGapicGeneration\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"r\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\'\n\x0flibrary_package\x18\x02 \x01(\tR\x0elibraryPackage\"\x87\x03\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1a\xd2\x01\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\x12\x45\n\x1fprotobuf_pythonic_types_enabled\x18\x02 \x01(\x08R\x1cprotobufPythonicTypesEnabled\x12@\n\x1cunversioned_package_disabled\x18\x03 \x01(\x08R\x1aunversionedPackageDisabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xe4\x01\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12V\n\x10renamed_services\x18\x02 \x03(\x0b\x32+.google.api.GoSettings.RenamedServicesEntryR\x0frenamedServices\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xff\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x12;\n\x08\x62\x61tching\x18\x04 \x01(\x0b\x32\x1f.google.api.BatchingConfigProtoR\x08\x62\x61tching\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout\"u\n\x18SelectiveGapicGeneration\x12\x18\n\x07methods\x18\x01 \x03(\tR\x07methods\x12?\n\x1cgenerate_omitted_as_internal\x18\x02 \x01(\x08R\x19generateOmittedAsInternal\"\xa8\x01\n\x13\x42\x61tchingConfigProto\x12\x41\n\nthresholds\x18\x01 \x01(\x0b\x32!.google.api.BatchingSettingsProtoR\nthresholds\x12N\n\x10\x62\x61tch_descriptor\x18\x02 \x01(\x0b\x32#.google.api.BatchingDescriptorProtoR\x0f\x62\x61tchDescriptor\"\x9f\x04\n\x15\x42\x61tchingSettingsProto\x12\x36\n\x17\x65lement_count_threshold\x18\x01 \x01(\x05R\x15\x65lementCountThreshold\x12\x34\n\x16request_byte_threshold\x18\x02 \x01(\x03R\x14requestByteThreshold\x12\x42\n\x0f\x64\x65lay_threshold\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0e\x64\x65layThreshold\x12.\n\x13\x65lement_count_limit\x18\x04 \x01(\x05R\x11\x65lementCountLimit\x12,\n\x12request_byte_limit\x18\x05 \x01(\x05R\x10requestByteLimit\x12;\n\x1a\x66low_control_element_limit\x18\x06 \x01(\x05R\x17\x66lowControlElementLimit\x12\x35\n\x17\x66low_control_byte_limit\x18\x07 \x01(\x05R\x14\x66lowControlByteLimit\x12\x81\x01\n$flow_control_limit_exceeded_behavior\x18\x08 \x01(\x0e\x32\x31.google.api.FlowControlLimitExceededBehaviorProtoR flowControlLimitExceededBehavior\"\x9e\x01\n\x17\x42\x61tchingDescriptorProto\x12#\n\rbatched_field\x18\x01 \x01(\tR\x0c\x62\x61tchedField\x12\x31\n\x14\x64iscriminator_fields\x18\x02 \x03(\tR\x13\x64iscriminatorFields\x12+\n\x11subresponse_field\x18\x03 \x01(\tR\x10subresponseField*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14*g\n%FlowControlLimitExceededBehaviorProto\x12\x12\n\x0eUNSET_BEHAVIOR\x10\x00\x12\x13\n\x0fTHROW_EXCEPTION\x10\x01\x12\t\n\x05\x42LOCK\x10\x02\x12\n\n\x06IGNORE\x10\x03:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,42 +33,56 @@ _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_options = b'8\001' _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._loaded_options = None _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_options = b'8\001' - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=3512 - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=3675 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=3677 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=3780 + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._loaded_options = None + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._serialized_options = b'8\001' + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=5006 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=5169 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=5171 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=5274 + _globals['_FLOWCONTROLLIMITEXCEEDEDBEHAVIORPROTO']._serialized_start=5276 + _globals['_FLOWCONTROLLIMITEXCEEDEDBEHAVIORPROTO']._serialized_end=5379 _globals['_COMMONLANGUAGESETTINGS']._serialized_start=137 - _globals['_COMMONLANGUAGESETTINGS']._serialized_end=285 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=288 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=947 - _globals['_PUBLISHING']._serialized_start=950 - _globals['_PUBLISHING']._serialized_end=1578 - _globals['_JAVASETTINGS']._serialized_start=1581 - _globals['_JAVASETTINGS']._serialized_end=1863 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1795 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1863 - _globals['_CPPSETTINGS']._serialized_start=1865 - _globals['_CPPSETTINGS']._serialized_end=1938 - _globals['_PHPSETTINGS']._serialized_start=1940 - _globals['_PHPSETTINGS']._serialized_end=2013 - _globals['_PYTHONSETTINGS']._serialized_start=2016 - _globals['_PYTHONSETTINGS']._serialized_end=2269 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2196 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2269 - _globals['_NODESETTINGS']._serialized_start=2271 - _globals['_NODESETTINGS']._serialized_end=2345 - _globals['_DOTNETSETTINGS']._serialized_start=2348 - _globals['_DOTNETSETTINGS']._serialized_end=2906 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2771 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=2837 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=2839 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=2906 - _globals['_RUBYSETTINGS']._serialized_start=2908 - _globals['_RUBYSETTINGS']._serialized_end=2982 - _globals['_GOSETTINGS']._serialized_start=2984 - _globals['_GOSETTINGS']._serialized_end=3056 - _globals['_METHODSETTINGS']._serialized_start=3059 - _globals['_METHODSETTINGS']._serialized_end=3509 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3233 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3509 + _globals['_COMMONLANGUAGESETTINGS']._serialized_end=385 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=388 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=1047 + _globals['_PUBLISHING']._serialized_start=1050 + _globals['_PUBLISHING']._serialized_end=1678 + _globals['_JAVASETTINGS']._serialized_start=1681 + _globals['_JAVASETTINGS']._serialized_end=1963 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1895 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1963 + _globals['_CPPSETTINGS']._serialized_start=1965 + _globals['_CPPSETTINGS']._serialized_end=2038 + _globals['_PHPSETTINGS']._serialized_start=2040 + _globals['_PHPSETTINGS']._serialized_end=2154 + _globals['_PYTHONSETTINGS']._serialized_start=2157 + _globals['_PYTHONSETTINGS']._serialized_end=2548 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2338 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2548 + _globals['_NODESETTINGS']._serialized_start=2550 + _globals['_NODESETTINGS']._serialized_end=2624 + _globals['_DOTNETSETTINGS']._serialized_start=2627 + _globals['_DOTNETSETTINGS']._serialized_end=3185 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=3050 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3116 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=3118 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=3185 + _globals['_RUBYSETTINGS']._serialized_start=3187 + _globals['_RUBYSETTINGS']._serialized_end=3261 + _globals['_GOSETTINGS']._serialized_start=3264 + _globals['_GOSETTINGS']._serialized_end=3492 + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=3050 + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3116 + _globals['_METHODSETTINGS']._serialized_start=3495 + _globals['_METHODSETTINGS']._serialized_end=4006 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3730 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=4006 + _globals['_SELECTIVEGAPICGENERATION']._serialized_start=4008 + _globals['_SELECTIVEGAPICGENERATION']._serialized_end=4125 + _globals['_BATCHINGCONFIGPROTO']._serialized_start=4128 + _globals['_BATCHINGCONFIGPROTO']._serialized_end=4296 + _globals['_BATCHINGSETTINGSPROTO']._serialized_start=4299 + _globals['_BATCHINGSETTINGSPROTO']._serialized_end=4842 + _globals['_BATCHINGDESCRIPTORPROTO']._serialized_start=4845 + _globals['_BATCHINGDESCRIPTORPROTO']._serialized_end=5003 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py b/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py index 1aef2660..19895f19 100644 --- a/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py +++ b/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py @@ -17,14 +17,14 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/api/expr/v1alpha1/checked.proto\x12\x18google.api.expr.v1alpha1\x1a%google/api/expr/v1alpha1/syntax.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x9a\x04\n\x0b\x43heckedExpr\x12\\\n\rreference_map\x18\x02 \x03(\x0b\x32\x37.google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntryR\x0creferenceMap\x12M\n\x08type_map\x18\x03 \x03(\x0b\x32\x32.google.api.expr.v1alpha1.CheckedExpr.TypeMapEntryR\x07typeMap\x12\x45\n\x0bsource_info\x18\x05 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfoR\nsourceInfo\x12!\n\x0c\x65xpr_version\x18\x06 \x01(\tR\x0b\x65xprVersion\x12\x32\n\x04\x65xpr\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprR\x04\x65xpr\x1a\x64\n\x11ReferenceMapEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.google.api.expr.v1alpha1.ReferenceR\x05value:\x02\x38\x01\x1aZ\n\x0cTypeMapEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x05value:\x02\x38\x01\"\xc8\x0b\n\x04Type\x12*\n\x03\x64yn\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00R\x03\x64yn\x12\x30\n\x04null\x18\x02 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00R\x04null\x12L\n\tprimitive\x18\x03 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00R\tprimitive\x12H\n\x07wrapper\x18\x04 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00R\x07wrapper\x12M\n\nwell_known\x18\x05 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.WellKnownTypeH\x00R\twellKnown\x12\x46\n\tlist_type\x18\x06 \x01(\x0b\x32\'.google.api.expr.v1alpha1.Type.ListTypeH\x00R\x08listType\x12\x43\n\x08map_type\x18\x07 \x01(\x0b\x32&.google.api.expr.v1alpha1.Type.MapTypeH\x00R\x07mapType\x12I\n\x08\x66unction\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.FunctionTypeH\x00R\x08\x66unction\x12#\n\x0cmessage_type\x18\t \x01(\tH\x00R\x0bmessageType\x12\x1f\n\ntype_param\x18\n \x01(\tH\x00R\ttypeParam\x12\x34\n\x04type\x18\x0b \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeH\x00R\x04type\x12.\n\x05\x65rror\x18\x0c \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00R\x05\x65rror\x12R\n\rabstract_type\x18\x0e \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.AbstractTypeH\x00R\x0c\x61\x62stractType\x1aG\n\x08ListType\x12;\n\telem_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x08\x65lemType\x1a\x83\x01\n\x07MapType\x12\x39\n\x08key_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x07keyType\x12=\n\nvalue_type\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\tvalueType\x1a\x8c\x01\n\x0c\x46unctionType\x12?\n\x0bresult_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\nresultType\x12;\n\targ_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x08\x61rgTypes\x1ak\n\x0c\x41\x62stractType\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\x0fparameter_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x0eparameterTypes\"s\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\n\n\x06UINT64\x10\x03\x12\n\n\x06\x44OUBLE\x10\x04\x12\n\n\x06STRING\x10\x05\x12\t\n\x05\x42YTES\x10\x06\"V\n\rWellKnownType\x12\x1f\n\x1bWELL_KNOWN_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41NY\x10\x01\x12\r\n\tTIMESTAMP\x10\x02\x12\x0c\n\x08\x44URATION\x10\x03\x42\x0b\n\ttype_kind\"\xb3\x05\n\x04\x44\x65\x63l\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x05ident\x18\x02 \x01(\x0b\x32(.google.api.expr.v1alpha1.Decl.IdentDeclH\x00R\x05ident\x12I\n\x08\x66unction\x18\x03 \x01(\x0b\x32+.google.api.expr.v1alpha1.Decl.FunctionDeclH\x00R\x08\x66unction\x1a\x8b\x01\n\tIdentDecl\x12\x32\n\x04type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x04type\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantR\x05value\x12\x10\n\x03\x64oc\x18\x03 \x01(\tR\x03\x64oc\x1a\xee\x02\n\x0c\x46unctionDecl\x12R\n\toverloads\x18\x01 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.Decl.FunctionDecl.OverloadR\toverloads\x1a\x89\x02\n\x08Overload\x12\x1f\n\x0boverload_id\x18\x01 \x01(\tR\noverloadId\x12\x36\n\x06params\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x06params\x12\x1f\n\x0btype_params\x18\x03 \x03(\tR\ntypeParams\x12?\n\x0bresult_type\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\nresultType\x12\x30\n\x14is_instance_function\x18\x05 \x01(\x08R\x12isInstanceFunction\x12\x10\n\x03\x64oc\x18\x06 \x01(\tR\x03\x64ocB\x0b\n\tdecl_kind\"z\n\tReference\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0boverload_id\x18\x03 \x03(\tR\noverloadId\x12\x38\n\x05value\x18\x04 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantR\x05valueB\xf0\x01\n\x1c\x63om.google.api.expr.v1alpha1B\x0c\x43heckedProtoP\x01Z\n\nVisibility\x12\x30\n\x05rules\x18\x01 \x03(\x0b\x32\x1a.google.api.VisibilityRuleR\x05rules\"N\n\x0eVisibilityRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12 \n\x0brestriction\x18\x02 \x01(\tR\x0brestriction:d\n\x0f\x65num_visibility\x12\x1c.google.protobuf.EnumOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0e\x65numVisibility:k\n\x10value_visibility\x12!.google.protobuf.EnumValueOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0fvalueVisibility:g\n\x10\x66ield_visibility\x12\x1d.google.protobuf.FieldOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0f\x66ieldVisibility:m\n\x12message_visibility\x12\x1f.google.protobuf.MessageOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x11messageVisibility:j\n\x11method_visibility\x12\x1e.google.protobuf.MethodOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x10methodVisibility:e\n\x0e\x61pi_visibility\x12\x1f.google.protobuf.ServiceOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\rapiVisibilityB\xae\x01\n\x0e\x63om.google.apiB\x0fVisibilityProtoP\x01Z?google.golang.org/genproto/googleapis/api/visibility;visibility\xf8\x01\x01\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgoogle/api/visibility.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\">\n\nVisibility\x12\x30\n\x05rules\x18\x01 \x03(\x0b\x32\x1a.google.api.VisibilityRuleR\x05rules\"N\n\x0eVisibilityRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12 \n\x0brestriction\x18\x02 \x01(\tR\x0brestriction:d\n\x0f\x65num_visibility\x12\x1c.google.protobuf.EnumOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0e\x65numVisibility:k\n\x10value_visibility\x12!.google.protobuf.EnumValueOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0fvalueVisibility:g\n\x10\x66ield_visibility\x12\x1d.google.protobuf.FieldOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x0f\x66ieldVisibility:m\n\x12message_visibility\x12\x1f.google.protobuf.MessageOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x11messageVisibility:j\n\x11method_visibility\x12\x1e.google.protobuf.MethodOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\x10methodVisibility:e\n\x0e\x61pi_visibility\x12\x1f.google.protobuf.ServiceOptions\x18\xaf\xca\xbc\" \x01(\x0b\x32\x1a.google.api.VisibilityRuleR\rapiVisibilityB\xab\x01\n\x0e\x63om.google.apiB\x0fVisibilityProtoP\x01Z?google.golang.org/genproto/googleapis/api/visibility;visibility\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.visibility_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\017VisibilityProtoP\001Z?google.golang.org/genproto/googleapis/api/visibility;visibility\370\001\001\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\017VisibilityProtoP\001Z?google.golang.org/genproto/googleapis/api/visibility;visibility\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' _globals['_VISIBILITY']._serialized_start=77 _globals['_VISIBILITY']._serialized_end=139 _globals['_VISIBILITYRULE']._serialized_start=141 diff --git a/pyinjective/proto/google/iam/v1/iam_policy_pb2.py b/pyinjective/proto/google/iam/v1/iam_policy_pb2.py new file mode 100644 index 00000000..72123c90 --- /dev/null +++ b/pyinjective/proto/google/iam/v1/iam_policy_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/iam/v1/iam_policy.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from pyinjective.proto.google.api import client_pb2 as google_dot_api_dot_client__pb2 +from pyinjective.proto.google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 +from pyinjective.proto.google.api import resource_pb2 as google_dot_api_dot_resource__pb2 +from google.iam.v1 import options_pb2 as google_dot_iam_dot_v1_dot_options__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 +from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1egoogle/iam/v1/iam_policy.proto\x12\rgoogle.iam.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/iam/v1/options.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a google/protobuf/field_mask.proto\"\xad\x01\n\x13SetIamPolicyRequest\x12%\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*R\x08resource\x12\x32\n\x06policy\x18\x02 \x01(\x0b\x32\x15.google.iam.v1.PolicyB\x03\xe0\x41\x02R\x06policy\x12;\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskR\nupdateMask\"w\n\x13GetIamPolicyRequest\x12%\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*R\x08resource\x12\x39\n\x07options\x18\x02 \x01(\x0b\x32\x1f.google.iam.v1.GetPolicyOptionsR\x07options\"i\n\x19TestIamPermissionsRequest\x12%\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*R\x08resource\x12%\n\x0bpermissions\x18\x02 \x03(\tB\x03\xe0\x41\x02R\x0bpermissions\">\n\x1aTestIamPermissionsResponse\x12 \n\x0bpermissions\x18\x01 \x03(\tR\x0bpermissions2\xb4\x03\n\tIAMPolicy\x12t\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:setIamPolicy:\x01*\x12t\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:getIamPolicy:\x01*\x12\x9a\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"/\x82\xd3\xe4\x93\x02)\"$/v1/{resource=**}:testIamPermissions:\x01*\x1a\x1e\xca\x41\x1biam-meta-api.googleapis.comB\xa4\x01\n\x11\x63om.google.iam.v1B\x0eIamPolicyProtoP\x01Z)cloud.google.com/go/iam/apiv1/iampb;iampb\xa2\x02\x03GIX\xaa\x02\rGoogle.Iam.V1\xca\x02\rGoogle\\Iam\\V1\xe2\x02\x19Google\\Iam\\V1\\GPBMetadata\xea\x02\x0fGoogle::Iam::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.iam.v1.iam_policy_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\021com.google.iam.v1B\016IamPolicyProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\242\002\003GIX\252\002\rGoogle.Iam.V1\312\002\rGoogle\\Iam\\V1\342\002\031Google\\Iam\\V1\\GPBMetadata\352\002\017Google::Iam::V1' + _globals['_SETIAMPOLICYREQUEST'].fields_by_name['resource']._loaded_options = None + _globals['_SETIAMPOLICYREQUEST'].fields_by_name['resource']._serialized_options = b'\340A\002\372A\003\n\001*' + _globals['_SETIAMPOLICYREQUEST'].fields_by_name['policy']._loaded_options = None + _globals['_SETIAMPOLICYREQUEST'].fields_by_name['policy']._serialized_options = b'\340A\002' + _globals['_GETIAMPOLICYREQUEST'].fields_by_name['resource']._loaded_options = None + _globals['_GETIAMPOLICYREQUEST'].fields_by_name['resource']._serialized_options = b'\340A\002\372A\003\n\001*' + _globals['_TESTIAMPERMISSIONSREQUEST'].fields_by_name['resource']._loaded_options = None + _globals['_TESTIAMPERMISSIONSREQUEST'].fields_by_name['resource']._serialized_options = b'\340A\002\372A\003\n\001*' + _globals['_TESTIAMPERMISSIONSREQUEST'].fields_by_name['permissions']._loaded_options = None + _globals['_TESTIAMPERMISSIONSREQUEST'].fields_by_name['permissions']._serialized_options = b'\340A\002' + _globals['_IAMPOLICY']._loaded_options = None + _globals['_IAMPOLICY']._serialized_options = b'\312A\033iam-meta-api.googleapis.com' + _globals['_IAMPOLICY'].methods_by_name['SetIamPolicy']._loaded_options = None + _globals['_IAMPOLICY'].methods_by_name['SetIamPolicy']._serialized_options = b'\202\323\344\223\002#\"\036/v1/{resource=**}:setIamPolicy:\001*' + _globals['_IAMPOLICY'].methods_by_name['GetIamPolicy']._loaded_options = None + _globals['_IAMPOLICY'].methods_by_name['GetIamPolicy']._serialized_options = b'\202\323\344\223\002#\"\036/v1/{resource=**}:getIamPolicy:\001*' + _globals['_IAMPOLICY'].methods_by_name['TestIamPermissions']._loaded_options = None + _globals['_IAMPOLICY'].methods_by_name['TestIamPermissions']._serialized_options = b'\202\323\344\223\002)\"$/v1/{resource=**}:testIamPermissions:\001*' + _globals['_SETIAMPOLICYREQUEST']._serialized_start=256 + _globals['_SETIAMPOLICYREQUEST']._serialized_end=429 + _globals['_GETIAMPOLICYREQUEST']._serialized_start=431 + _globals['_GETIAMPOLICYREQUEST']._serialized_end=550 + _globals['_TESTIAMPERMISSIONSREQUEST']._serialized_start=552 + _globals['_TESTIAMPERMISSIONSREQUEST']._serialized_end=657 + _globals['_TESTIAMPERMISSIONSRESPONSE']._serialized_start=659 + _globals['_TESTIAMPERMISSIONSRESPONSE']._serialized_end=721 + _globals['_IAMPOLICY']._serialized_start=724 + _globals['_IAMPOLICY']._serialized_end=1160 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/iam/v1/iam_policy_pb2_grpc.py b/pyinjective/proto/google/iam/v1/iam_policy_pb2_grpc.py new file mode 100644 index 00000000..394bdcfd --- /dev/null +++ b/pyinjective/proto/google/iam/v1/iam_policy_pb2_grpc.py @@ -0,0 +1,253 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.iam.v1 import iam_policy_pb2 as google_dot_iam_dot_v1_dot_iam__policy__pb2 +from google.iam.v1 import policy_pb2 as google_dot_iam_dot_v1_dot_policy__pb2 + + +class IAMPolicyStub(object): + """API Overview + + Manages Identity and Access Management (IAM) policies. + + Any implementation of an API that offers access control features + implements the google.iam.v1.IAMPolicy interface. + + ## Data model + + Access control is applied when a principal (user or service account), takes + some action on a resource exposed by a service. Resources, identified by + URI-like names, are the unit of access control specification. Service + implementations can choose the granularity of access control and the + supported permissions for their resources. + For example one database service may allow access control to be + specified only at the Table level, whereas another might allow access control + to also be specified at the Column level. + + ## Policy Structure + + See google.iam.v1.Policy + + This is intentionally not a CRUD style API because access control policies + are created and deleted implicitly with the resources to which they are + attached. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SetIamPolicy = channel.unary_unary( + '/google.iam.v1.IAMPolicy/SetIamPolicy', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + _registered_method=True) + self.GetIamPolicy = channel.unary_unary( + '/google.iam.v1.IAMPolicy/GetIamPolicy', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + _registered_method=True) + self.TestIamPermissions = channel.unary_unary( + '/google.iam.v1.IAMPolicy/TestIamPermissions', + request_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + response_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + _registered_method=True) + + +class IAMPolicyServicer(object): + """API Overview + + Manages Identity and Access Management (IAM) policies. + + Any implementation of an API that offers access control features + implements the google.iam.v1.IAMPolicy interface. + + ## Data model + + Access control is applied when a principal (user or service account), takes + some action on a resource exposed by a service. Resources, identified by + URI-like names, are the unit of access control specification. Service + implementations can choose the granularity of access control and the + supported permissions for their resources. + For example one database service may allow access control to be + specified only at the Table level, whereas another might allow access control + to also be specified at the Column level. + + ## Policy Structure + + See google.iam.v1.Policy + + This is intentionally not a CRUD style API because access control policies + are created and deleted implicitly with the resources to which they are + attached. + """ + + def SetIamPolicy(self, request, context): + """Sets the access control policy on the specified resource. Replaces any + existing policy. + + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetIamPolicy(self, request, context): + """Gets the access control policy for a resource. + Returns an empty policy if the resource exists and does not have a policy + set. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TestIamPermissions(self, request, context): + """Returns permissions that a caller has on the specified resource. + If the resource does not exist, this will return an empty set of + permissions, not a `NOT_FOUND` error. + + Note: This operation is designed to be used for building permission-aware + UIs and command-line tools, not for authorization checking. This operation + may "fail open" without warning. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_IAMPolicyServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.SetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'GetIamPolicy': grpc.unary_unary_rpc_method_handler( + servicer.GetIamPolicy, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_policy__pb2.Policy.SerializeToString, + ), + 'TestIamPermissions': grpc.unary_unary_rpc_method_handler( + servicer.TestIamPermissions, + request_deserializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.FromString, + response_serializer=google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.iam.v1.IAMPolicy', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('google.iam.v1.IAMPolicy', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class IAMPolicy(object): + """API Overview + + Manages Identity and Access Management (IAM) policies. + + Any implementation of an API that offers access control features + implements the google.iam.v1.IAMPolicy interface. + + ## Data model + + Access control is applied when a principal (user or service account), takes + some action on a resource exposed by a service. Resources, identified by + URI-like names, are the unit of access control specification. Service + implementations can choose the granularity of access control and the + supported permissions for their resources. + For example one database service may allow access control to be + specified only at the Table level, whereas another might allow access control + to also be specified at the Column level. + + ## Policy Structure + + See google.iam.v1.Policy + + This is intentionally not a CRUD style API because access control policies + are created and deleted implicitly with the resources to which they are + attached. + """ + + @staticmethod + def SetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.iam.v1.IAMPolicy/SetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.SetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetIamPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.iam.v1.IAMPolicy/GetIamPolicy', + google_dot_iam_dot_v1_dot_iam__policy__pb2.GetIamPolicyRequest.SerializeToString, + google_dot_iam_dot_v1_dot_policy__pb2.Policy.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TestIamPermissions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.iam.v1.IAMPolicy/TestIamPermissions', + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsRequest.SerializeToString, + google_dot_iam_dot_v1_dot_iam__policy__pb2.TestIamPermissionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/google/iam/v1/options_pb2.py b/pyinjective/proto/google/iam/v1/options_pb2.py new file mode 100644 index 00000000..ada55639 --- /dev/null +++ b/pyinjective/proto/google/iam/v1/options_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/iam/v1/options.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgoogle/iam/v1/options.proto\x12\rgoogle.iam.v1\"L\n\x10GetPolicyOptions\x12\x38\n\x18requested_policy_version\x18\x01 \x01(\x05R\x16requestedPolicyVersionB\xa5\x01\n\x11\x63om.google.iam.v1B\x0cOptionsProtoP\x01Z)cloud.google.com/go/iam/apiv1/iampb;iampb\xf8\x01\x01\xa2\x02\x03GIX\xaa\x02\rGoogle.Iam.V1\xca\x02\rGoogle\\Iam\\V1\xe2\x02\x19Google\\Iam\\V1\\GPBMetadata\xea\x02\x0fGoogle::Iam::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.iam.v1.options_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\021com.google.iam.v1B\014OptionsProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\370\001\001\242\002\003GIX\252\002\rGoogle.Iam.V1\312\002\rGoogle\\Iam\\V1\342\002\031Google\\Iam\\V1\\GPBMetadata\352\002\017Google::Iam::V1' + _globals['_GETPOLICYOPTIONS']._serialized_start=46 + _globals['_GETPOLICYOPTIONS']._serialized_end=122 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/iam/v1/options_pb2_grpc.py b/pyinjective/proto/google/iam/v1/options_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/google/iam/v1/options_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/google/iam/v1/policy_pb2.py b/pyinjective/proto/google/iam/v1/policy_pb2.py new file mode 100644 index 00000000..f13dd001 --- /dev/null +++ b/pyinjective/proto/google/iam/v1/policy_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/iam/v1/policy.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.type import expr_pb2 as google_dot_type_dot_expr__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1agoogle/iam/v1/policy.proto\x12\rgoogle.iam.v1\x1a\x16google/type/expr.proto\"\xab\x01\n\x06Policy\x12\x18\n\x07version\x18\x01 \x01(\x05R\x07version\x12\x32\n\x08\x62indings\x18\x04 \x03(\x0b\x32\x16.google.iam.v1.BindingR\x08\x62indings\x12?\n\raudit_configs\x18\x06 \x03(\x0b\x32\x1a.google.iam.v1.AuditConfigR\x0c\x61uditConfigs\x12\x12\n\x04\x65tag\x18\x03 \x01(\x0cR\x04\x65tag\"h\n\x07\x42inding\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12\x18\n\x07members\x18\x02 \x03(\tR\x07members\x12/\n\tcondition\x18\x03 \x01(\x0b\x32\x11.google.type.ExprR\tcondition\"r\n\x0b\x41uditConfig\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12I\n\x11\x61udit_log_configs\x18\x03 \x03(\x0b\x32\x1d.google.iam.v1.AuditLogConfigR\x0f\x61uditLogConfigs\"\xd1\x01\n\x0e\x41uditLogConfig\x12@\n\x08log_type\x18\x01 \x01(\x0e\x32%.google.iam.v1.AuditLogConfig.LogTypeR\x07logType\x12)\n\x10\x65xempted_members\x18\x02 \x03(\tR\x0f\x65xemptedMembers\"R\n\x07LogType\x12\x18\n\x14LOG_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nADMIN_READ\x10\x01\x12\x0e\n\nDATA_WRITE\x10\x02\x12\r\n\tDATA_READ\x10\x03\"\xa2\x01\n\x0bPolicyDelta\x12\x42\n\x0e\x62inding_deltas\x18\x01 \x03(\x0b\x32\x1b.google.iam.v1.BindingDeltaR\rbindingDeltas\x12O\n\x13\x61udit_config_deltas\x18\x02 \x03(\x0b\x32\x1f.google.iam.v1.AuditConfigDeltaR\x11\x61uditConfigDeltas\"\xde\x01\n\x0c\x42indingDelta\x12:\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\".google.iam.v1.BindingDelta.ActionR\x06\x61\x63tion\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\x12\x16\n\x06member\x18\x03 \x01(\tR\x06member\x12/\n\tcondition\x18\x04 \x01(\x0b\x32\x11.google.type.ExprR\tcondition\"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\"\xe7\x01\n\x10\x41uditConfigDelta\x12>\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32&.google.iam.v1.AuditConfigDelta.ActionR\x06\x61\x63tion\x12\x18\n\x07service\x18\x02 \x01(\tR\x07service\x12\'\n\x0f\x65xempted_member\x18\x03 \x01(\tR\x0e\x65xemptedMember\x12\x19\n\x08log_type\x18\x04 \x01(\tR\x07logType\"5\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\x42\xa4\x01\n\x11\x63om.google.iam.v1B\x0bPolicyProtoP\x01Z)cloud.google.com/go/iam/apiv1/iampb;iampb\xf8\x01\x01\xa2\x02\x03GIX\xaa\x02\rGoogle.Iam.V1\xca\x02\rGoogle\\Iam\\V1\xe2\x02\x19Google\\Iam\\V1\\GPBMetadata\xea\x02\x0fGoogle::Iam::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.iam.v1.policy_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\021com.google.iam.v1B\013PolicyProtoP\001Z)cloud.google.com/go/iam/apiv1/iampb;iampb\370\001\001\242\002\003GIX\252\002\rGoogle.Iam.V1\312\002\rGoogle\\Iam\\V1\342\002\031Google\\Iam\\V1\\GPBMetadata\352\002\017Google::Iam::V1' + _globals['_POLICY']._serialized_start=70 + _globals['_POLICY']._serialized_end=241 + _globals['_BINDING']._serialized_start=243 + _globals['_BINDING']._serialized_end=347 + _globals['_AUDITCONFIG']._serialized_start=349 + _globals['_AUDITCONFIG']._serialized_end=463 + _globals['_AUDITLOGCONFIG']._serialized_start=466 + _globals['_AUDITLOGCONFIG']._serialized_end=675 + _globals['_AUDITLOGCONFIG_LOGTYPE']._serialized_start=593 + _globals['_AUDITLOGCONFIG_LOGTYPE']._serialized_end=675 + _globals['_POLICYDELTA']._serialized_start=678 + _globals['_POLICYDELTA']._serialized_end=840 + _globals['_BINDINGDELTA']._serialized_start=843 + _globals['_BINDINGDELTA']._serialized_end=1065 + _globals['_BINDINGDELTA_ACTION']._serialized_start=1012 + _globals['_BINDINGDELTA_ACTION']._serialized_end=1065 + _globals['_AUDITCONFIGDELTA']._serialized_start=1068 + _globals['_AUDITCONFIGDELTA']._serialized_end=1299 + _globals['_AUDITCONFIGDELTA_ACTION']._serialized_start=1012 + _globals['_AUDITCONFIGDELTA_ACTION']._serialized_end=1065 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/iam/v1/policy_pb2_grpc.py b/pyinjective/proto/google/iam/v1/policy_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/google/iam/v1/policy_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/google/longrunning/operations_pb2.py b/pyinjective/proto/google/longrunning/operations_pb2.py index 719371ca..84479219 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2.py +++ b/pyinjective/proto/google/longrunning/operations_pb2.py @@ -14,21 +14,24 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.google.api import client_pb2 as google_dot_api_dot_client__pb2 +from pyinjective.proto.google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a google/protobuf/descriptor.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x7f\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x7f\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xda\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\xb5\x01\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\x12\x34\n\x16return_partial_success\x18\x05 \x01(\x08R\x14returnPartialSuccess\"\xa6\x01\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12%\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06R\x0bunreachable\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xd7\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.longrunning.operations_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\370\001\001\242\002\003GLX\252\002\022Google.Longrunning\312\002\022Google\\Longrunning\342\002\036Google\\Longrunning\\GPBMetadata\352\002\023Google::Longrunning' + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.longrunningB\017OperationsProtoP\001ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\242\002\003GLX\252\002\022Google.Longrunning\312\002\022Google\\Longrunning\342\002\036Google\\Longrunning\\GPBMetadata\352\002\023Google::Longrunning' + _globals['_LISTOPERATIONSRESPONSE'].fields_by_name['unreachable']._loaded_options = None + _globals['_LISTOPERATIONSRESPONSE'].fields_by_name['unreachable']._serialized_options = b'\340A\006' _globals['_OPERATIONS']._loaded_options = None _globals['_OPERATIONS']._serialized_options = b'\312A\032longrunning.googleapis.com' _globals['_OPERATIONS'].methods_by_name['ListOperations']._loaded_options = None @@ -39,22 +42,22 @@ _globals['_OPERATIONS'].methods_by_name['DeleteOperation']._serialized_options = b'\332A\004name\202\323\344\223\002\032*\030/v1/{name=operations/**}' _globals['_OPERATIONS'].methods_by_name['CancelOperation']._loaded_options = None _globals['_OPERATIONS'].methods_by_name['CancelOperation']._serialized_options = b'\332A\004name\202\323\344\223\002$\"\037/v1/{name=operations/**}:cancel:\001*' - _globals['_OPERATION']._serialized_start=262 - _globals['_OPERATION']._serialized_end=469 - _globals['_GETOPERATIONREQUEST']._serialized_start=471 - _globals['_GETOPERATIONREQUEST']._serialized_end=512 - _globals['_LISTOPERATIONSREQUEST']._serialized_start=514 - _globals['_LISTOPERATIONSREQUEST']._serialized_end=641 - _globals['_LISTOPERATIONSRESPONSE']._serialized_start=643 - _globals['_LISTOPERATIONSRESPONSE']._serialized_end=770 - _globals['_CANCELOPERATIONREQUEST']._serialized_start=772 - _globals['_CANCELOPERATIONREQUEST']._serialized_end=816 - _globals['_DELETEOPERATIONREQUEST']._serialized_start=818 - _globals['_DELETEOPERATIONREQUEST']._serialized_end=862 - _globals['_WAITOPERATIONREQUEST']._serialized_start=864 - _globals['_WAITOPERATIONREQUEST']._serialized_end=959 - _globals['_OPERATIONINFO']._serialized_start=961 - _globals['_OPERATIONINFO']._serialized_end=1050 - _globals['_OPERATIONS']._serialized_start=1053 - _globals['_OPERATIONS']._serialized_end=1735 + _globals['_OPERATION']._serialized_start=295 + _globals['_OPERATION']._serialized_end=502 + _globals['_GETOPERATIONREQUEST']._serialized_start=504 + _globals['_GETOPERATIONREQUEST']._serialized_end=545 + _globals['_LISTOPERATIONSREQUEST']._serialized_start=548 + _globals['_LISTOPERATIONSREQUEST']._serialized_end=729 + _globals['_LISTOPERATIONSRESPONSE']._serialized_start=732 + _globals['_LISTOPERATIONSRESPONSE']._serialized_end=898 + _globals['_CANCELOPERATIONREQUEST']._serialized_start=900 + _globals['_CANCELOPERATIONREQUEST']._serialized_end=944 + _globals['_DELETEOPERATIONREQUEST']._serialized_start=946 + _globals['_DELETEOPERATIONREQUEST']._serialized_end=990 + _globals['_WAITOPERATIONREQUEST']._serialized_start=992 + _globals['_WAITOPERATIONREQUEST']._serialized_end=1087 + _globals['_OPERATIONINFO']._serialized_start=1089 + _globals['_OPERATIONINFO']._serialized_end=1178 + _globals['_OPERATIONS']._serialized_start=1181 + _globals['_OPERATIONS']._serialized_end=1863 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py index 533da2f8..e0b9948f 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py +++ b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py @@ -10,12 +10,12 @@ class OperationsStub(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def __init__(self, channel): @@ -55,25 +55,17 @@ class OperationsServicer(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def ListOperations(self, request, context): """Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - - NOTE: the `name` binding allows API services to override the binding - to use different resource name schemes, such as `users/*/operations`. To - override the binding, API services can add a binding such as - `"/v1/{name=users/*}/operations"` to their service configuration. - For backwards compatibility, the default name includes the operations - collection id, however overriding users must ensure the name binding - is the parent resource, without the operations collection id. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -107,8 +99,9 @@ def CancelOperation(self, request, context): other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with - an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - corresponding to `Code.CANCELLED`. + an [Operation.error][google.longrunning.Operation.error] value with a + [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + `Code.CANCELLED`. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -169,12 +162,12 @@ class Operations(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ @staticmethod diff --git a/pyinjective/proto/google/rpc/context/attribute_context_pb2.py b/pyinjective/proto/google/rpc/context/attribute_context_pb2.py index 4f3a626d..928a4a04 100644 --- a/pyinjective/proto/google/rpc/context/attribute_context_pb2.py +++ b/pyinjective/proto/google/rpc/context/attribute_context_pb2.py @@ -18,14 +18,14 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*google/rpc/context/attribute_context.proto\x12\x12google.rpc.context\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x14\n\x10\x41ttributeContext\x12\x41\n\x06origin\x18\x07 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06origin\x12\x41\n\x06source\x18\x01 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06source\x12K\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x0b\x64\x65stination\x12\x46\n\x07request\x18\x03 \x01(\x0b\x32,.google.rpc.context.AttributeContext.RequestR\x07request\x12I\n\x08response\x18\x04 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResponseR\x08response\x12I\n\x08resource\x18\x05 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResourceR\x08resource\x12:\n\x03\x61pi\x18\x06 \x01(\x0b\x32(.google.rpc.context.AttributeContext.ApiR\x03\x61pi\x12\x34\n\nextensions\x18\x08 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensions\x1a\xf3\x01\n\x04Peer\x12\x0e\n\x02ip\x18\x01 \x01(\tR\x02ip\x12\x12\n\x04port\x18\x02 \x01(\x03R\x04port\x12M\n\x06labels\x18\x06 \x03(\x0b\x32\x35.google.rpc.context.AttributeContext.Peer.LabelsEntryR\x06labels\x12\x1c\n\tprincipal\x18\x07 \x01(\tR\tprincipal\x12\x1f\n\x0bregion_code\x18\x08 \x01(\tR\nregionCode\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1as\n\x03\x41pi\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x1c\n\toperation\x18\x02 \x01(\tR\toperation\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x1a\xb6\x01\n\x04\x41uth\x12\x1c\n\tprincipal\x18\x01 \x01(\tR\tprincipal\x12\x1c\n\taudiences\x18\x02 \x03(\tR\taudiences\x12\x1c\n\tpresenter\x18\x03 \x01(\tR\tpresenter\x12/\n\x06\x63laims\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x06\x63laims\x12#\n\raccess_levels\x18\x05 \x03(\tR\x0c\x61\x63\x63\x65ssLevels\x1a\xcf\x03\n\x07Request\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x12S\n\x07headers\x18\x03 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Request.HeadersEntryR\x07headers\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x12\x12\n\x04host\x18\x05 \x01(\tR\x04host\x12\x16\n\x06scheme\x18\x06 \x01(\tR\x06scheme\x12\x14\n\x05query\x18\x07 \x01(\tR\x05query\x12.\n\x04time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x12\n\x04size\x18\n \x01(\x03R\x04size\x12\x1a\n\x08protocol\x18\x0b \x01(\tR\x08protocol\x12\x16\n\x06reason\x18\x0c \x01(\tR\x06reason\x12=\n\x04\x61uth\x18\r \x01(\x0b\x32).google.rpc.context.AttributeContext.AuthR\x04\x61uth\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\xb8\x02\n\x08Response\x12\x12\n\x04\x63ode\x18\x01 \x01(\x03R\x04\x63ode\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size\x12T\n\x07headers\x18\x03 \x03(\x0b\x32:.google.rpc.context.AttributeContext.Response.HeadersEntryR\x07headers\x12.\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x42\n\x0f\x62\x61\x63kend_latency\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0e\x62\x61\x63kendLatency\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x98\x05\n\x08Resource\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Resource.LabelsEntryR\x06labels\x12\x10\n\x03uid\x18\x05 \x01(\tR\x03uid\x12`\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32>.google.rpc.context.AttributeContext.Resource.AnnotationsEntryR\x0b\x61nnotations\x12!\n\x0c\x64isplay_name\x18\x07 \x01(\tR\x0b\x64isplayName\x12;\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\x12;\n\x0b\x64\x65lete_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndeleteTime\x12\x12\n\x04\x65tag\x18\x0b \x01(\tR\x04\x65tag\x12\x1a\n\x08location\x18\x0c \x01(\tR\x08location\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\xf3\x01\n\x16\x63om.google.rpc.contextB\x15\x41ttributeContextProtoP\x01ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\xf8\x01\x01\xa2\x02\x03GRC\xaa\x02\x12Google.Rpc.Context\xca\x02\x12Google\\Rpc\\Context\xe2\x02\x1eGoogle\\Rpc\\Context\\GPBMetadata\xea\x02\x14Google::Rpc::Contextb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*google/rpc/context/attribute_context.proto\x12\x12google.rpc.context\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x99\x14\n\x10\x41ttributeContext\x12\x41\n\x06origin\x18\x07 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06origin\x12\x41\n\x06source\x18\x01 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06source\x12K\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x0b\x64\x65stination\x12\x46\n\x07request\x18\x03 \x01(\x0b\x32,.google.rpc.context.AttributeContext.RequestR\x07request\x12I\n\x08response\x18\x04 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResponseR\x08response\x12I\n\x08resource\x18\x05 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResourceR\x08resource\x12:\n\x03\x61pi\x18\x06 \x01(\x0b\x32(.google.rpc.context.AttributeContext.ApiR\x03\x61pi\x12\x34\n\nextensions\x18\x08 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensions\x1a\xf3\x01\n\x04Peer\x12\x0e\n\x02ip\x18\x01 \x01(\tR\x02ip\x12\x12\n\x04port\x18\x02 \x01(\x03R\x04port\x12M\n\x06labels\x18\x06 \x03(\x0b\x32\x35.google.rpc.context.AttributeContext.Peer.LabelsEntryR\x06labels\x12\x1c\n\tprincipal\x18\x07 \x01(\tR\tprincipal\x12\x1f\n\x0bregion_code\x18\x08 \x01(\tR\nregionCode\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1as\n\x03\x41pi\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x1c\n\toperation\x18\x02 \x01(\tR\toperation\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x1a\xb6\x01\n\x04\x41uth\x12\x1c\n\tprincipal\x18\x01 \x01(\tR\tprincipal\x12\x1c\n\taudiences\x18\x02 \x03(\tR\taudiences\x12\x1c\n\tpresenter\x18\x03 \x01(\tR\tpresenter\x12/\n\x06\x63laims\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x06\x63laims\x12#\n\raccess_levels\x18\x05 \x03(\tR\x0c\x61\x63\x63\x65ssLevels\x1a\xe7\x03\n\x07Request\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x12S\n\x07headers\x18\x03 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Request.HeadersEntryR\x07headers\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x12\x12\n\x04host\x18\x05 \x01(\tR\x04host\x12\x16\n\x06scheme\x18\x06 \x01(\tR\x06scheme\x12\x14\n\x05query\x18\x07 \x01(\tR\x05query\x12.\n\x04time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x12\n\x04size\x18\n \x01(\x03R\x04size\x12\x1a\n\x08protocol\x18\x0b \x01(\tR\x08protocol\x12\x16\n\x06reason\x18\x0c \x01(\tR\x06reason\x12=\n\x04\x61uth\x18\r \x01(\x0b\x32).google.rpc.context.AttributeContext.AuthR\x04\x61uth\x12\x16\n\x06origin\x18\x0e \x01(\tR\x06origin\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\xb8\x02\n\x08Response\x12\x12\n\x04\x63ode\x18\x01 \x01(\x03R\x04\x63ode\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size\x12T\n\x07headers\x18\x03 \x03(\x0b\x32:.google.rpc.context.AttributeContext.Response.HeadersEntryR\x07headers\x12.\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x42\n\x0f\x62\x61\x63kend_latency\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0e\x62\x61\x63kendLatency\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x98\x05\n\x08Resource\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Resource.LabelsEntryR\x06labels\x12\x10\n\x03uid\x18\x05 \x01(\tR\x03uid\x12`\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32>.google.rpc.context.AttributeContext.Resource.AnnotationsEntryR\x0b\x61nnotations\x12!\n\x0c\x64isplay_name\x18\x07 \x01(\tR\x0b\x64isplayName\x12;\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\x12;\n\x0b\x64\x65lete_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndeleteTime\x12\x12\n\x04\x65tag\x18\x0b \x01(\tR\x04\x65tag\x12\x1a\n\x08location\x18\x0c \x01(\tR\x08location\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\xf0\x01\n\x16\x63om.google.rpc.contextB\x15\x41ttributeContextProtoP\x01ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\xa2\x02\x03GRC\xaa\x02\x12Google.Rpc.Context\xca\x02\x12Google\\Rpc\\Context\xe2\x02\x1eGoogle\\Rpc\\Context\\GPBMetadata\xea\x02\x14Google::Rpc::Contextb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.context.attribute_context_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\370\001\001\242\002\003GRC\252\002\022Google.Rpc.Context\312\002\022Google\\Rpc\\Context\342\002\036Google\\Rpc\\Context\\GPBMetadata\352\002\024Google::Rpc::Context' + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\242\002\003GRC\252\002\022Google.Rpc.Context\312\002\022Google\\Rpc\\Context\342\002\036Google\\Rpc\\Context\\GPBMetadata\352\002\024Google::Rpc::Context' _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._loaded_options = None _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._serialized_options = b'8\001' _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._loaded_options = None @@ -37,7 +37,7 @@ _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._loaded_options = None _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_options = b'8\001' _globals['_ATTRIBUTECONTEXT']._serialized_start=189 - _globals['_ATTRIBUTECONTEXT']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT']._serialized_end=2774 _globals['_ATTRIBUTECONTEXT_PEER']._serialized_start=757 _globals['_ATTRIBUTECONTEXT_PEER']._serialized_end=1000 _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._serialized_start=943 @@ -47,17 +47,17 @@ _globals['_ATTRIBUTECONTEXT_AUTH']._serialized_start=1120 _globals['_ATTRIBUTECONTEXT_AUTH']._serialized_end=1302 _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_start=1305 - _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_start=1710 - _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_start=1771 - _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_end=2083 - _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_start=1710 - _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_start=2086 - _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_start=1734 + _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_start=1795 + _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_end=2107 + _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_start=1734 + _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_start=2110 + _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_end=2774 _globals['_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY']._serialized_start=943 _globals['_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY']._serialized_end=1000 - _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_start=2688 - _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_start=2712 + _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_end=2774 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/rpc/error_details_pb2.py b/pyinjective/proto/google/rpc/error_details_pb2.py index 69125fdd..b2d99b24 100644 --- a/pyinjective/proto/google/rpc/error_details_pb2.py +++ b/pyinjective/proto/google/rpc/error_details_pb2.py @@ -15,7 +15,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1egoogle/rpc/error_details.proto\x12\ngoogle.rpc\x1a\x1egoogle/protobuf/duration.proto\"\xb9\x01\n\tErrorInfo\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12?\n\x08metadata\x18\x03 \x03(\x0b\x32#.google.rpc.ErrorInfo.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"G\n\tRetryInfo\x12:\n\x0bretry_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\nretryDelay\"H\n\tDebugInfo\x12#\n\rstack_entries\x18\x01 \x03(\tR\x0cstackEntries\x12\x16\n\x06\x64\x65tail\x18\x02 \x01(\tR\x06\x64\x65tail\"\x9b\x01\n\x0cQuotaFailure\x12\x42\n\nviolations\x18\x01 \x03(\x0b\x32\".google.rpc.QuotaFailure.ViolationR\nviolations\x1aG\n\tViolation\x12\x18\n\x07subject\x18\x01 \x01(\tR\x07subject\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"\xbd\x01\n\x13PreconditionFailure\x12I\n\nviolations\x18\x01 \x03(\x0b\x32).google.rpc.PreconditionFailure.ViolationR\nviolations\x1a[\n\tViolation\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n\x07subject\x18\x02 \x01(\tR\x07subject\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\"\xa8\x01\n\nBadRequest\x12P\n\x10\x66ield_violations\x18\x01 \x03(\x0b\x32%.google.rpc.BadRequest.FieldViolationR\x0f\x66ieldViolations\x1aH\n\x0e\x46ieldViolation\x12\x14\n\x05\x66ield\x18\x01 \x01(\tR\x05\x66ield\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\"O\n\x0bRequestInfo\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12!\n\x0cserving_data\x18\x02 \x01(\tR\x0bservingData\"\x90\x01\n\x0cResourceInfo\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12\x14\n\x05owner\x18\x03 \x01(\tR\x05owner\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\"o\n\x04Help\x12+\n\x05links\x18\x01 \x03(\x0b\x32\x15.google.rpc.Help.LinkR\x05links\x1a:\n\x04Link\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\"D\n\x10LocalizedMessage\x12\x16\n\x06locale\x18\x01 \x01(\tR\x06locale\x12\x18\n\x07message\x18\x02 \x01(\tR\x07messageB\xad\x01\n\x0e\x63om.google.rpcB\x11\x45rrorDetailsProtoP\x01Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1egoogle/rpc/error_details.proto\x12\ngoogle.rpc\x1a\x1egoogle/protobuf/duration.proto\"\xb9\x01\n\tErrorInfo\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12?\n\x08metadata\x18\x03 \x03(\x0b\x32#.google.rpc.ErrorInfo.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"G\n\tRetryInfo\x12:\n\x0bretry_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\nretryDelay\"H\n\tDebugInfo\x12#\n\rstack_entries\x18\x01 \x03(\tR\x0cstackEntries\x12\x16\n\x06\x64\x65tail\x18\x02 \x01(\tR\x06\x64\x65tail\"\x8e\x04\n\x0cQuotaFailure\x12\x42\n\nviolations\x18\x01 \x03(\x0b\x32\".google.rpc.QuotaFailure.ViolationR\nviolations\x1a\xb9\x03\n\tViolation\x12\x18\n\x07subject\x18\x01 \x01(\tR\x07subject\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0b\x61pi_service\x18\x03 \x01(\tR\napiService\x12!\n\x0cquota_metric\x18\x04 \x01(\tR\x0bquotaMetric\x12\x19\n\x08quota_id\x18\x05 \x01(\tR\x07quotaId\x12\x62\n\x10quota_dimensions\x18\x06 \x03(\x0b\x32\x37.google.rpc.QuotaFailure.Violation.QuotaDimensionsEntryR\x0fquotaDimensions\x12\x1f\n\x0bquota_value\x18\x07 \x01(\x03R\nquotaValue\x12\x31\n\x12\x66uture_quota_value\x18\x08 \x01(\x03H\x00R\x10\x66utureQuotaValue\x88\x01\x01\x1a\x42\n\x14QuotaDimensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x15\n\x13_future_quota_value\"\xbd\x01\n\x13PreconditionFailure\x12I\n\nviolations\x18\x01 \x03(\x0b\x32).google.rpc.PreconditionFailure.ViolationR\nviolations\x1a[\n\tViolation\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n\x07subject\x18\x02 \x01(\tR\x07subject\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\"\x8c\x02\n\nBadRequest\x12P\n\x10\x66ield_violations\x18\x01 \x03(\x0b\x32%.google.rpc.BadRequest.FieldViolationR\x0f\x66ieldViolations\x1a\xab\x01\n\x0e\x46ieldViolation\x12\x14\n\x05\x66ield\x18\x01 \x01(\tR\x05\x66ield\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06reason\x18\x03 \x01(\tR\x06reason\x12I\n\x11localized_message\x18\x04 \x01(\x0b\x32\x1c.google.rpc.LocalizedMessageR\x10localizedMessage\"O\n\x0bRequestInfo\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12!\n\x0cserving_data\x18\x02 \x01(\tR\x0bservingData\"\x90\x01\n\x0cResourceInfo\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12#\n\rresource_name\x18\x02 \x01(\tR\x0cresourceName\x12\x14\n\x05owner\x18\x03 \x01(\tR\x05owner\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\"o\n\x04Help\x12+\n\x05links\x18\x01 \x03(\x0b\x32\x15.google.rpc.Help.LinkR\x05links\x1a:\n\x04Link\x12 \n\x0b\x64\x65scription\x18\x01 \x01(\tR\x0b\x64\x65scription\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\"D\n\x10LocalizedMessage\x12\x16\n\x06locale\x18\x01 \x01(\tR\x06locale\x12\x18\n\x07message\x18\x02 \x01(\tR\x07messageB\xad\x01\n\x0e\x63om.google.rpcB\x11\x45rrorDetailsProtoP\x01Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,6 +25,8 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\021ErrorDetailsProtoP\001Z?google.golang.org/genproto/googleapis/rpc/errdetails;errdetails\242\002\003GRX\252\002\nGoogle.Rpc\312\002\nGoogle\\Rpc\342\002\026Google\\Rpc\\GPBMetadata\352\002\013Google::Rpc' _globals['_ERRORINFO_METADATAENTRY']._loaded_options = None _globals['_ERRORINFO_METADATAENTRY']._serialized_options = b'8\001' + _globals['_QUOTAFAILURE_VIOLATION_QUOTADIMENSIONSENTRY']._loaded_options = None + _globals['_QUOTAFAILURE_VIOLATION_QUOTADIMENSIONSENTRY']._serialized_options = b'8\001' _globals['_ERRORINFO']._serialized_start=79 _globals['_ERRORINFO']._serialized_end=264 _globals['_ERRORINFO_METADATAENTRY']._serialized_start=205 @@ -34,25 +36,27 @@ _globals['_DEBUGINFO']._serialized_start=339 _globals['_DEBUGINFO']._serialized_end=411 _globals['_QUOTAFAILURE']._serialized_start=414 - _globals['_QUOTAFAILURE']._serialized_end=569 - _globals['_QUOTAFAILURE_VIOLATION']._serialized_start=498 - _globals['_QUOTAFAILURE_VIOLATION']._serialized_end=569 - _globals['_PRECONDITIONFAILURE']._serialized_start=572 - _globals['_PRECONDITIONFAILURE']._serialized_end=761 - _globals['_PRECONDITIONFAILURE_VIOLATION']._serialized_start=670 - _globals['_PRECONDITIONFAILURE_VIOLATION']._serialized_end=761 - _globals['_BADREQUEST']._serialized_start=764 - _globals['_BADREQUEST']._serialized_end=932 - _globals['_BADREQUEST_FIELDVIOLATION']._serialized_start=860 - _globals['_BADREQUEST_FIELDVIOLATION']._serialized_end=932 - _globals['_REQUESTINFO']._serialized_start=934 - _globals['_REQUESTINFO']._serialized_end=1013 - _globals['_RESOURCEINFO']._serialized_start=1016 - _globals['_RESOURCEINFO']._serialized_end=1160 - _globals['_HELP']._serialized_start=1162 - _globals['_HELP']._serialized_end=1273 - _globals['_HELP_LINK']._serialized_start=1215 - _globals['_HELP_LINK']._serialized_end=1273 - _globals['_LOCALIZEDMESSAGE']._serialized_start=1275 - _globals['_LOCALIZEDMESSAGE']._serialized_end=1343 + _globals['_QUOTAFAILURE']._serialized_end=940 + _globals['_QUOTAFAILURE_VIOLATION']._serialized_start=499 + _globals['_QUOTAFAILURE_VIOLATION']._serialized_end=940 + _globals['_QUOTAFAILURE_VIOLATION_QUOTADIMENSIONSENTRY']._serialized_start=851 + _globals['_QUOTAFAILURE_VIOLATION_QUOTADIMENSIONSENTRY']._serialized_end=917 + _globals['_PRECONDITIONFAILURE']._serialized_start=943 + _globals['_PRECONDITIONFAILURE']._serialized_end=1132 + _globals['_PRECONDITIONFAILURE_VIOLATION']._serialized_start=1041 + _globals['_PRECONDITIONFAILURE_VIOLATION']._serialized_end=1132 + _globals['_BADREQUEST']._serialized_start=1135 + _globals['_BADREQUEST']._serialized_end=1403 + _globals['_BADREQUEST_FIELDVIOLATION']._serialized_start=1232 + _globals['_BADREQUEST_FIELDVIOLATION']._serialized_end=1403 + _globals['_REQUESTINFO']._serialized_start=1405 + _globals['_REQUESTINFO']._serialized_end=1484 + _globals['_RESOURCEINFO']._serialized_start=1487 + _globals['_RESOURCEINFO']._serialized_end=1631 + _globals['_HELP']._serialized_start=1633 + _globals['_HELP']._serialized_end=1744 + _globals['_HELP_LINK']._serialized_start=1686 + _globals['_HELP_LINK']._serialized_end=1744 + _globals['_LOCALIZEDMESSAGE']._serialized_start=1746 + _globals['_LOCALIZEDMESSAGE']._serialized_end=1814 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/rpc/status_pb2.py b/pyinjective/proto/google/rpc/status_pb2.py index f631b92b..58dc9dc2 100644 --- a/pyinjective/proto/google/rpc/status_pb2.py +++ b/pyinjective/proto/google/rpc/status_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"f\n\x06Status\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tailsB\xa2\x01\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xf8\x01\x01\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"f\n\x06Status\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tailsB\x9f\x01\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.status_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\370\001\001\242\002\003GRX\252\002\nGoogle.Rpc\312\002\nGoogle\\Rpc\342\002\026Google\\Rpc\\GPBMetadata\352\002\013Google::Rpc' + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\242\002\003GRX\252\002\nGoogle.Rpc\312\002\nGoogle\\Rpc\342\002\026Google\\Rpc\\GPBMetadata\352\002\013Google::Rpc' _globals['_STATUS']._serialized_start=66 _globals['_STATUS']._serialized_end=168 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/color_pb2.py b/pyinjective/proto/google/type/color_pb2.py index 1ed0f915..b7b9a420 100644 --- a/pyinjective/proto/google/type/color_pb2.py +++ b/pyinjective/proto/google/type/color_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/type/color.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/wrappers.proto\"v\n\x05\x43olor\x12\x10\n\x03red\x18\x01 \x01(\x02R\x03red\x12\x14\n\x05green\x18\x02 \x01(\x02R\x05green\x12\x12\n\x04\x62lue\x18\x03 \x01(\x02R\x04\x62lue\x12\x31\n\x05\x61lpha\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FloatValueR\x05\x61lphaB\xa5\x01\n\x0f\x63om.google.typeB\nColorProtoP\x01Z6google.golang.org/genproto/googleapis/type/color;color\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/type/color.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/wrappers.proto\"v\n\x05\x43olor\x12\x10\n\x03red\x18\x01 \x01(\x02R\x03red\x12\x14\n\x05green\x18\x02 \x01(\x02R\x05green\x12\x12\n\x04\x62lue\x18\x03 \x01(\x02R\x04\x62lue\x12\x31\n\x05\x61lpha\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FloatValueR\x05\x61lphaB\xa2\x01\n\x0f\x63om.google.typeB\nColorProtoP\x01Z6google.golang.org/genproto/googleapis/type/color;color\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.color_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\nColorProtoP\001Z6google.golang.org/genproto/googleapis/type/color;color\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\nColorProtoP\001Z6google.golang.org/genproto/googleapis/type/color;color\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_COLOR']._serialized_start=72 _globals['_COLOR']._serialized_end=190 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/date_pb2.py b/pyinjective/proto/google/type/date_pb2.py index ac5364e7..cb5c9e0c 100644 --- a/pyinjective/proto/google/type/date_pb2.py +++ b/pyinjective/proto/google/type/date_pb2.py @@ -14,14 +14,14 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16google/type/date.proto\x12\x0bgoogle.type\"B\n\x04\x44\x61te\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61yB\xa2\x01\n\x0f\x63om.google.typeB\tDateProtoP\x01Z4google.golang.org/genproto/googleapis/type/date;date\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16google/type/date.proto\x12\x0bgoogle.type\"B\n\x04\x44\x61te\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61yB\x9f\x01\n\x0f\x63om.google.typeB\tDateProtoP\x01Z4google.golang.org/genproto/googleapis/type/date;date\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.date_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\tDateProtoP\001Z4google.golang.org/genproto/googleapis/type/date;date\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\tDateProtoP\001Z4google.golang.org/genproto/googleapis/type/date;date\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_DATE']._serialized_start=39 _globals['_DATE']._serialized_end=105 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/datetime_pb2.py b/pyinjective/proto/google/type/datetime_pb2.py index 24a5a73f..b836fcb6 100644 --- a/pyinjective/proto/google/type/datetime_pb2.py +++ b/pyinjective/proto/google/type/datetime_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1agoogle/type/datetime.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/duration.proto\"\xa7\x02\n\x08\x44\x61teTime\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x14\n\x05hours\x18\x04 \x01(\x05R\x05hours\x12\x18\n\x07minutes\x18\x05 \x01(\x05R\x07minutes\x12\x18\n\x07seconds\x18\x06 \x01(\x05R\x07seconds\x12\x14\n\x05nanos\x18\x07 \x01(\x05R\x05nanos\x12:\n\nutc_offset\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00R\tutcOffset\x12\x34\n\ttime_zone\x18\t \x01(\x0b\x32\x15.google.type.TimeZoneH\x00R\x08timeZoneB\r\n\x0btime_offset\"4\n\x08TimeZone\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07versionB\xae\x01\n\x0f\x63om.google.typeB\rDatetimeProtoP\x01Zgoogle.golang.org/genproto/googleapis/type/timeofday;timeofday\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgoogle/type/timeofday.proto\x12\x0bgoogle.type\"k\n\tTimeOfDay\x12\x14\n\x05hours\x18\x01 \x01(\x05R\x05hours\x12\x18\n\x07minutes\x18\x02 \x01(\x05R\x07minutes\x12\x18\n\x07seconds\x18\x03 \x01(\x05R\x07seconds\x12\x14\n\x05nanos\x18\x04 \x01(\x05R\x05nanosB\xae\x01\n\x0f\x63om.google.typeB\x0eTimeofdayProtoP\x01Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.timeofday_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\016TimeofdayProtoP\001Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\016TimeofdayProtoP\001Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_TIMEOFDAY']._serialized_start=44 _globals['_TIMEOFDAY']._serialized_end=151 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/ibc/core/connection/v1/tx_pb2.py b/pyinjective/proto/ibc/core/connection/v1/tx_pb2.py index 4f263d64..0d9cb6d9 100644 --- a/pyinjective/proto/ibc/core/connection/v1/tx_pb2.py +++ b/pyinjective/proto/ibc/core/connection/v1/tx_pb2.py @@ -19,7 +19,7 @@ from pyinjective.proto.ibc.core.connection.v1 import connection_pb2 as ibc_dot_core_dot_connection_dot_v1_dot_connection__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fibc/core/connection/v1/tx.proto\x12\x16ibc.core.connection.v1\x1a\x14gogoproto/gogo.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19google/protobuf/any.proto\x1a\x1fibc/core/client/v1/client.proto\x1a\'ibc/core/connection/v1/connection.proto\"\x8b\x02\n\x15MsgConnectionOpenInit\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12N\n\x0c\x63ounterparty\x18\x02 \x01(\x0b\x32$.ibc.core.connection.v1.CounterpartyB\x04\xc8\xde\x1f\x00R\x0c\x63ounterparty\x12\x39\n\x07version\x18\x03 \x01(\x0b\x32\x1f.ibc.core.connection.v1.VersionR\x07version\x12!\n\x0c\x64\x65lay_period\x18\x04 \x01(\x04R\x0b\x64\x65layPeriod\x12\x16\n\x06signer\x18\x05 \x01(\tR\x06signer:\x0f\x88\xa0\x1f\x00\x82\xe7\xb0*\x06signer\"\x1f\n\x1dMsgConnectionOpenInitResponse\"\xd2\x05\n\x14MsgConnectionOpenTry\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x38\n\x16previous_connection_id\x18\x02 \x01(\tB\x02\x18\x01R\x14previousConnectionId\x12\x37\n\x0c\x63lient_state\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0b\x63lientState\x12N\n\x0c\x63ounterparty\x18\x04 \x01(\x0b\x32$.ibc.core.connection.v1.CounterpartyB\x04\xc8\xde\x1f\x00R\x0c\x63ounterparty\x12!\n\x0c\x64\x65lay_period\x18\x05 \x01(\x04R\x0b\x64\x65layPeriod\x12T\n\x15\x63ounterparty_versions\x18\x06 \x03(\x0b\x32\x1f.ibc.core.connection.v1.VersionR\x14\x63ounterpartyVersions\x12\x43\n\x0cproof_height\x18\x07 \x01(\x0b\x32\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x0bproofHeight\x12\x1d\n\nproof_init\x18\x08 \x01(\x0cR\tproofInit\x12!\n\x0cproof_client\x18\t \x01(\x0cR\x0bproofClient\x12\'\n\x0fproof_consensus\x18\n \x01(\x0cR\x0eproofConsensus\x12K\n\x10\x63onsensus_height\x18\x0b \x01(\x0b\x32\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusHeight\x12\x16\n\x06signer\x18\x0c \x01(\tR\x06signer\x12;\n\x1ahost_consensus_state_proof\x18\r \x01(\x0cR\x17hostConsensusStateProof:\x0f\x88\xa0\x1f\x00\x82\xe7\xb0*\x06signer\"\x1e\n\x1cMsgConnectionOpenTryResponse\"\xce\x04\n\x14MsgConnectionOpenAck\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12<\n\x1a\x63ounterparty_connection_id\x18\x02 \x01(\tR\x18\x63ounterpartyConnectionId\x12\x39\n\x07version\x18\x03 \x01(\x0b\x32\x1f.ibc.core.connection.v1.VersionR\x07version\x12\x37\n\x0c\x63lient_state\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x0b\x63lientState\x12\x43\n\x0cproof_height\x18\x05 \x01(\x0b\x32\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x0bproofHeight\x12\x1b\n\tproof_try\x18\x06 \x01(\x0cR\x08proofTry\x12!\n\x0cproof_client\x18\x07 \x01(\x0cR\x0bproofClient\x12\'\n\x0fproof_consensus\x18\x08 \x01(\x0cR\x0eproofConsensus\x12K\n\x10\x63onsensus_height\x18\t \x01(\x0b\x32\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x0f\x63onsensusHeight\x12\x16\n\x06signer\x18\n \x01(\tR\x06signer\x12;\n\x1ahost_consensus_state_proof\x18\x0b \x01(\x0cR\x17hostConsensusStateProof:\x0f\x88\xa0\x1f\x00\x82\xe7\xb0*\x06signer\"\x1e\n\x1cMsgConnectionOpenAckResponse\"\xca\x01\n\x18MsgConnectionOpenConfirm\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12\x1b\n\tproof_ack\x18\x02 \x01(\x0cR\x08proofAck\x12\x43\n\x0cproof_height\x18\x03 \x01(\x0b\x32\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x0bproofHeight\x12\x16\n\x06signer\x18\x04 \x01(\tR\x06signer:\x0f\x88\xa0\x1f\x00\x82\xe7\xb0*\x06signer\"\"\n MsgConnectionOpenConfirmResponse\"x\n\x0fMsgUpdateParams\x12\x16\n\x06signer\x18\x01 \x01(\tR\x06signer\x12<\n\x06params\x18\x02 \x01(\x0b\x32\x1e.ibc.core.connection.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:\x0f\x88\xa0\x1f\x00\x82\xe7\xb0*\x06signer\"\x19\n\x17MsgUpdateParamsResponse2\xf4\x04\n\x03Msg\x12z\n\x12\x43onnectionOpenInit\x12-.ibc.core.connection.v1.MsgConnectionOpenInit\x1a\x35.ibc.core.connection.v1.MsgConnectionOpenInitResponse\x12w\n\x11\x43onnectionOpenTry\x12,.ibc.core.connection.v1.MsgConnectionOpenTry\x1a\x34.ibc.core.connection.v1.MsgConnectionOpenTryResponse\x12w\n\x11\x43onnectionOpenAck\x12,.ibc.core.connection.v1.MsgConnectionOpenAck\x1a\x34.ibc.core.connection.v1.MsgConnectionOpenAckResponse\x12\x83\x01\n\x15\x43onnectionOpenConfirm\x12\x30.ibc.core.connection.v1.MsgConnectionOpenConfirm\x1a\x38.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse\x12r\n\x16UpdateConnectionParams\x12\'.ibc.core.connection.v1.MsgUpdateParams\x1a/.ibc.core.connection.v1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xde\x01\n\x1a\x63om.ibc.core.connection.v1B\x07TxProtoP\x01Z\n\nbid_amount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\tbidAmount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round:&\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x0e\x61uction/MsgBid\"\x10\n\x0eMsgBidResponse\"\xb6\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12?\n\x06params\x18\x02 \x01(\x0b\x32!.injective.auction.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:*\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x17\x61uction/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\xd1\x01\n\x03Msg\x12S\n\x03\x42id\x12!.injective.auction.v1beta1.MsgBid\x1a).injective.auction.v1beta1.MsgBidResponse\x12n\n\x0cUpdateParams\x12*.injective.auction.v1beta1.MsgUpdateParams\x1a\x32.injective.auction.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xfd\x01\n\x1d\x63om.injective.auction.v1beta1B\x07TxProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"injective/auction/v1beta1/tx.proto\x12\x19injective.auction.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\'injective/auction/v1beta1/auction.proto\x1a\x11\x61mino/amino.proto\"\x9e\x01\n\x06MsgBid\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12>\n\nbid_amount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\tbidAmount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round:&\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x0e\x61uction/MsgBid\"\x10\n\x0eMsgBidResponse\"\xb6\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12?\n\x06params\x18\x02 \x01(\x0b\x32!.injective.auction.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:*\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x17\x61uction/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"p\n\x0fMsgClaimVoucher\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:/\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17\x61uction/MsgClaimVoucher\"\x19\n\x17MsgClaimVoucherResponse2\xc1\x02\n\x03Msg\x12S\n\x03\x42id\x12!.injective.auction.v1beta1.MsgBid\x1a).injective.auction.v1beta1.MsgBidResponse\x12n\n\x0cUpdateParams\x12*.injective.auction.v1beta1.MsgUpdateParams\x1a\x32.injective.auction.v1beta1.MsgUpdateParamsResponse\x12n\n\x0c\x43laimVoucher\x12*.injective.auction.v1beta1.MsgClaimVoucher\x1a\x32.injective.auction.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xfd\x01\n\x1d\x63om.injective.auction.v1beta1B\x07TxProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -38,6 +38,8 @@ _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' _globals['_MSGUPDATEPARAMS']._loaded_options = None _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\027auction/MsgUpdateParams' + _globals['_MSGCLAIMVOUCHER']._loaded_options = None + _globals['_MSGCLAIMVOUCHER']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\027auction/MsgClaimVoucher' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSGBID']._serialized_start=232 @@ -48,6 +50,10 @@ _globals['_MSGUPDATEPARAMS']._serialized_end=593 _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=595 _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=620 - _globals['_MSG']._serialized_start=623 - _globals['_MSG']._serialized_end=832 + _globals['_MSGCLAIMVOUCHER']._serialized_start=622 + _globals['_MSGCLAIMVOUCHER']._serialized_end=734 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=736 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=761 + _globals['_MSG']._serialized_start=764 + _globals['_MSG']._serialized_end=1085 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/auction/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/auction/v1beta1/tx_pb2_grpc.py index f699a2f6..16a309c5 100644 --- a/pyinjective/proto/injective/auction/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/auction/v1beta1/tx_pb2_grpc.py @@ -25,6 +25,11 @@ def __init__(self, channel): request_serializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, response_deserializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, _registered_method=True) + self.ClaimVoucher = channel.unary_unary( + '/injective.auction.v1beta1.Msg/ClaimVoucher', + request_serializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.SerializeToString, + response_deserializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.FromString, + _registered_method=True) class MsgServicer(object): @@ -44,6 +49,13 @@ def UpdateParams(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ClaimVoucher(self, request, context): + """ClaimVoucher defines a method for claiming an outstanding voucher + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_MsgServicer_to_server(servicer, server): rpc_method_handlers = { @@ -57,6 +69,11 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, response_serializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, ), + 'ClaimVoucher': grpc.unary_unary_rpc_method_handler( + servicer.ClaimVoucher, + request_deserializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.FromString, + response_serializer=injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.auction.v1beta1.Msg', rpc_method_handlers) @@ -122,3 +139,30 @@ def UpdateParams(request, timeout, metadata, _registered_method=True) + + @staticmethod + def ClaimVoucher(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.auction.v1beta1.Msg/ClaimVoucher', + injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.SerializeToString, + injective_dot_auction_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2.py b/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2.py new file mode 100644 index 00000000..0664a215 --- /dev/null +++ b/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/common/vouchers/v1/vouchers.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/common/vouchers/v1/vouchers.proto\x12\x1cinjective.common.vouchers.v1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x90\x01\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x64\n\x07voucher\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x07voucherB\x9b\x02\n com.injective.common.vouchers.v1B\rVouchersProtoP\x01ZUgithub.com/InjectiveLabs/injective-core/injective-chain/modules/common/vouchers/types\xa2\x02\x03ICV\xaa\x02\x1cInjective.Common.Vouchers.V1\xca\x02\x1cInjective\\Common\\Vouchers\\V1\xe2\x02(Injective\\Common\\Vouchers\\V1\\GPBMetadata\xea\x02\x1fInjective::Common::Vouchers::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.common.vouchers.v1.vouchers_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n com.injective.common.vouchers.v1B\rVouchersProtoP\001ZUgithub.com/InjectiveLabs/injective-core/injective-chain/modules/common/vouchers/types\242\002\003ICV\252\002\034Injective.Common.Vouchers.V1\312\002\034Injective\\Common\\Vouchers\\V1\342\002(Injective\\Common\\Vouchers\\V1\\GPBMetadata\352\002\037Injective::Common::Vouchers::V1' + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._loaded_options = None + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin' + _globals['_ADDRESSVOUCHER']._serialized_start=132 + _globals['_ADDRESSVOUCHER']._serialized_end=276 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2_grpc.py b/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/common/vouchers/v1/vouchers_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2.py b/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2.py new file mode 100644 index 00000000..d89fe628 --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/downtimedetector/v1beta1/downtime_duration.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:injective/downtimedetector/v1beta1/downtime_duration.proto\x12\"injective.downtimedetector.v1beta1\x1a\x14gogoproto/gogo.proto*\xfa\x06\n\x08\x44owntime\x12\"\n\x0c\x44URATION_30S\x10\x00\x1a\x10\x8a\x9d \x0c\x44URATION_30S\x12 \n\x0b\x44URATION_1M\x10\x01\x1a\x0f\x8a\x9d \x0b\x44URATION_1M\x12 \n\x0b\x44URATION_2M\x10\x02\x1a\x0f\x8a\x9d \x0b\x44URATION_2M\x12 \n\x0b\x44URATION_3M\x10\x03\x1a\x0f\x8a\x9d \x0b\x44URATION_3M\x12 \n\x0b\x44URATION_4M\x10\x04\x1a\x0f\x8a\x9d \x0b\x44URATION_4M\x12 \n\x0b\x44URATION_5M\x10\x05\x1a\x0f\x8a\x9d \x0b\x44URATION_5M\x12\"\n\x0c\x44URATION_10M\x10\x06\x1a\x10\x8a\x9d \x0c\x44URATION_10M\x12\"\n\x0c\x44URATION_20M\x10\x07\x1a\x10\x8a\x9d \x0c\x44URATION_20M\x12\"\n\x0c\x44URATION_30M\x10\x08\x1a\x10\x8a\x9d \x0c\x44URATION_30M\x12\"\n\x0c\x44URATION_40M\x10\t\x1a\x10\x8a\x9d \x0c\x44URATION_40M\x12\"\n\x0c\x44URATION_50M\x10\n\x1a\x10\x8a\x9d \x0c\x44URATION_50M\x12 \n\x0b\x44URATION_1H\x10\x0b\x1a\x0f\x8a\x9d \x0b\x44URATION_1H\x12$\n\rDURATION_1_5H\x10\x0c\x1a\x11\x8a\x9d \rDURATION_1_5H\x12 \n\x0b\x44URATION_2H\x10\r\x1a\x0f\x8a\x9d \x0b\x44URATION_2H\x12$\n\rDURATION_2_5H\x10\x0e\x1a\x11\x8a\x9d \rDURATION_2_5H\x12 \n\x0b\x44URATION_3H\x10\x0f\x1a\x0f\x8a\x9d \x0b\x44URATION_3H\x12 \n\x0b\x44URATION_4H\x10\x10\x1a\x0f\x8a\x9d \x0b\x44URATION_4H\x12 \n\x0b\x44URATION_5H\x10\x11\x1a\x0f\x8a\x9d \x0b\x44URATION_5H\x12 \n\x0b\x44URATION_6H\x10\x12\x1a\x0f\x8a\x9d \x0b\x44URATION_6H\x12 \n\x0b\x44URATION_9H\x10\x13\x1a\x0f\x8a\x9d \x0b\x44URATION_9H\x12\"\n\x0c\x44URATION_12H\x10\x14\x1a\x10\x8a\x9d \x0c\x44URATION_12H\x12\"\n\x0c\x44URATION_18H\x10\x15\x1a\x10\x8a\x9d \x0c\x44URATION_18H\x12\"\n\x0c\x44URATION_24H\x10\x16\x1a\x10\x8a\x9d \x0c\x44URATION_24H\x12\"\n\x0c\x44URATION_36H\x10\x17\x1a\x10\x8a\x9d \x0c\x44URATION_36H\x12\"\n\x0c\x44URATION_48H\x10\x18\x1a\x10\x8a\x9d \x0c\x44URATION_48HB\xc2\x02\n&com.injective.downtimedetector.v1beta1B\x15\x44owntimeDurationProtoP\x01ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\xa2\x02\x03IDX\xaa\x02\"Injective.Downtimedetector.V1beta1\xca\x02\"Injective\\Downtimedetector\\V1beta1\xe2\x02.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\xea\x02$Injective::Downtimedetector::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.downtimedetector.v1beta1.downtime_duration_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n&com.injective.downtimedetector.v1beta1B\025DowntimeDurationProtoP\001ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\242\002\003IDX\252\002\"Injective.Downtimedetector.V1beta1\312\002\"Injective\\Downtimedetector\\V1beta1\342\002.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\352\002$Injective::Downtimedetector::V1beta1' + _globals['_DOWNTIME'].values_by_name["DURATION_30S"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_30S"]._serialized_options = b'\212\235 \014DURATION_30S' + _globals['_DOWNTIME'].values_by_name["DURATION_1M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_1M"]._serialized_options = b'\212\235 \013DURATION_1M' + _globals['_DOWNTIME'].values_by_name["DURATION_2M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_2M"]._serialized_options = b'\212\235 \013DURATION_2M' + _globals['_DOWNTIME'].values_by_name["DURATION_3M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_3M"]._serialized_options = b'\212\235 \013DURATION_3M' + _globals['_DOWNTIME'].values_by_name["DURATION_4M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_4M"]._serialized_options = b'\212\235 \013DURATION_4M' + _globals['_DOWNTIME'].values_by_name["DURATION_5M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_5M"]._serialized_options = b'\212\235 \013DURATION_5M' + _globals['_DOWNTIME'].values_by_name["DURATION_10M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_10M"]._serialized_options = b'\212\235 \014DURATION_10M' + _globals['_DOWNTIME'].values_by_name["DURATION_20M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_20M"]._serialized_options = b'\212\235 \014DURATION_20M' + _globals['_DOWNTIME'].values_by_name["DURATION_30M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_30M"]._serialized_options = b'\212\235 \014DURATION_30M' + _globals['_DOWNTIME'].values_by_name["DURATION_40M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_40M"]._serialized_options = b'\212\235 \014DURATION_40M' + _globals['_DOWNTIME'].values_by_name["DURATION_50M"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_50M"]._serialized_options = b'\212\235 \014DURATION_50M' + _globals['_DOWNTIME'].values_by_name["DURATION_1H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_1H"]._serialized_options = b'\212\235 \013DURATION_1H' + _globals['_DOWNTIME'].values_by_name["DURATION_1_5H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_1_5H"]._serialized_options = b'\212\235 \rDURATION_1_5H' + _globals['_DOWNTIME'].values_by_name["DURATION_2H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_2H"]._serialized_options = b'\212\235 \013DURATION_2H' + _globals['_DOWNTIME'].values_by_name["DURATION_2_5H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_2_5H"]._serialized_options = b'\212\235 \rDURATION_2_5H' + _globals['_DOWNTIME'].values_by_name["DURATION_3H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_3H"]._serialized_options = b'\212\235 \013DURATION_3H' + _globals['_DOWNTIME'].values_by_name["DURATION_4H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_4H"]._serialized_options = b'\212\235 \013DURATION_4H' + _globals['_DOWNTIME'].values_by_name["DURATION_5H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_5H"]._serialized_options = b'\212\235 \013DURATION_5H' + _globals['_DOWNTIME'].values_by_name["DURATION_6H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_6H"]._serialized_options = b'\212\235 \013DURATION_6H' + _globals['_DOWNTIME'].values_by_name["DURATION_9H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_9H"]._serialized_options = b'\212\235 \013DURATION_9H' + _globals['_DOWNTIME'].values_by_name["DURATION_12H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_12H"]._serialized_options = b'\212\235 \014DURATION_12H' + _globals['_DOWNTIME'].values_by_name["DURATION_18H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_18H"]._serialized_options = b'\212\235 \014DURATION_18H' + _globals['_DOWNTIME'].values_by_name["DURATION_24H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_24H"]._serialized_options = b'\212\235 \014DURATION_24H' + _globals['_DOWNTIME'].values_by_name["DURATION_36H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_36H"]._serialized_options = b'\212\235 \014DURATION_36H' + _globals['_DOWNTIME'].values_by_name["DURATION_48H"]._loaded_options = None + _globals['_DOWNTIME'].values_by_name["DURATION_48H"]._serialized_options = b'\212\235 \014DURATION_48H' + _globals['_DOWNTIME']._serialized_start=121 + _globals['_DOWNTIME']._serialized_end=1011 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2_grpc.py b/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/downtime_duration_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2.py new file mode 100644 index 00000000..454315bb --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/downtimedetector/v1beta1/genesis.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from pyinjective.proto.injective.downtimedetector.v1beta1 import downtime_duration_pb2 as injective_dot_downtimedetector_dot_v1beta1_dot_downtime__duration__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0injective/downtimedetector/v1beta1/genesis.proto\x12\"injective.downtimedetector.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a:injective/downtimedetector/v1beta1/downtime_duration.proto\"\xd8\x01\n\x14GenesisDowntimeEntry\x12]\n\x08\x64uration\x18\x01 \x01(\x0e\x32,.injective.downtimedetector.v1beta1.DowntimeB\x13\xf2\xde\x1f\x0fyaml:\"duration\"R\x08\x64uration\x12\x61\n\rlast_downtime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB \xc8\xde\x1f\x00\xf2\xde\x1f\x14yaml:\"last_downtime\"\x90\xdf\x1f\x01R\x0clastDowntime\"\xd4\x01\n\x0cGenesisState\x12\\\n\tdowntimes\x18\x01 \x03(\x0b\x32\x38.injective.downtimedetector.v1beta1.GenesisDowntimeEntryB\x04\xc8\xde\x1f\x00R\tdowntimes\x12\x66\n\x0flast_block_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\"\xc8\xde\x1f\x00\xf2\xde\x1f\x16yaml:\"last_block_time\"\x90\xdf\x1f\x01R\rlastBlockTimeB\xb9\x02\n&com.injective.downtimedetector.v1beta1B\x0cGenesisProtoP\x01ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\xa2\x02\x03IDX\xaa\x02\"Injective.Downtimedetector.V1beta1\xca\x02\"Injective\\Downtimedetector\\V1beta1\xe2\x02.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\xea\x02$Injective::Downtimedetector::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.downtimedetector.v1beta1.genesis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n&com.injective.downtimedetector.v1beta1B\014GenesisProtoP\001ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\242\002\003IDX\252\002\"Injective.Downtimedetector.V1beta1\312\002\"Injective\\Downtimedetector\\V1beta1\342\002.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\352\002$Injective::Downtimedetector::V1beta1' + _globals['_GENESISDOWNTIMEENTRY'].fields_by_name['duration']._loaded_options = None + _globals['_GENESISDOWNTIMEENTRY'].fields_by_name['duration']._serialized_options = b'\362\336\037\017yaml:\"duration\"' + _globals['_GENESISDOWNTIMEENTRY'].fields_by_name['last_downtime']._loaded_options = None + _globals['_GENESISDOWNTIMEENTRY'].fields_by_name['last_downtime']._serialized_options = b'\310\336\037\000\362\336\037\024yaml:\"last_downtime\"\220\337\037\001' + _globals['_GENESISSTATE'].fields_by_name['downtimes']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['downtimes']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['last_block_time']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['last_block_time']._serialized_options = b'\310\336\037\000\362\336\037\026yaml:\"last_block_time\"\220\337\037\001' + _globals['_GENESISDOWNTIMEENTRY']._serialized_start=290 + _globals['_GENESISDOWNTIMEENTRY']._serialized_end=506 + _globals['_GENESISSTATE']._serialized_start=509 + _globals['_GENESISSTATE']._serialized_end=721 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2_grpc.py b/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/genesis_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2.py b/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2.py new file mode 100644 index 00000000..5029711d --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/downtimedetector/v1beta1/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.downtimedetector.v1beta1 import genesis_pb2 as injective_dot_downtimedetector_dot_v1beta1_dot_genesis__pb2 +from pyinjective.proto.injective.downtimedetector.v1beta1 import downtime_duration_pb2 as injective_dot_downtimedetector_dot_v1beta1_dot_downtime__duration__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.injective/downtimedetector/v1beta1/query.proto\x12\"injective.downtimedetector.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x30injective/downtimedetector/v1beta1/genesis.proto\x1a:injective/downtimedetector/v1beta1/downtime_duration.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe3\x01\n%RecoveredSinceDowntimeOfLengthRequest\x12]\n\x08\x64owntime\x18\x01 \x01(\x0e\x32,.injective.downtimedetector.v1beta1.DowntimeB\x13\xf2\xde\x1f\x0fyaml:\"downtime\"R\x08\x64owntime\x12[\n\x08recovery\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB$\xc8\xde\x1f\x00\xf2\xde\x1f\x18yaml:\"recovery_duration\"\x98\xdf\x1f\x01R\x08recovery\"_\n&RecoveredSinceDowntimeOfLengthResponse\x12\x35\n\x16successfully_recovered\x18\x01 \x01(\x08R\x15successfullyRecovered2\x91\x02\n\x05Query\x12\x87\x02\n\x1eRecoveredSinceDowntimeOfLength\x12I.injective.downtimedetector.v1beta1.RecoveredSinceDowntimeOfLengthRequest\x1aJ.injective.downtimedetector.v1beta1.RecoveredSinceDowntimeOfLengthResponse\"N\x82\xd3\xe4\x93\x02H\"C/injective/downtime-detector/v1beta1/RecoveredSinceDowntimeOfLength:\x01*B\xb7\x02\n&com.injective.downtimedetector.v1beta1B\nQueryProtoP\x01ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\xa2\x02\x03IDX\xaa\x02\"Injective.Downtimedetector.V1beta1\xca\x02\"Injective\\Downtimedetector\\V1beta1\xe2\x02.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\xea\x02$Injective::Downtimedetector::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.downtimedetector.v1beta1.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n&com.injective.downtimedetector.v1beta1B\nQueryProtoP\001ZWgithub.com/InjectiveLabs/injective-core/injective-chain/modules/downtime-detector/types\242\002\003IDX\252\002\"Injective.Downtimedetector.V1beta1\312\002\"Injective\\Downtimedetector\\V1beta1\342\002.Injective\\Downtimedetector\\V1beta1\\GPBMetadata\352\002$Injective::Downtimedetector::V1beta1' + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST'].fields_by_name['downtime']._loaded_options = None + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST'].fields_by_name['downtime']._serialized_options = b'\362\336\037\017yaml:\"downtime\"' + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST'].fields_by_name['recovery']._loaded_options = None + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST'].fields_by_name['recovery']._serialized_options = b'\310\336\037\000\362\336\037\030yaml:\"recovery_duration\"\230\337\037\001' + _globals['_QUERY'].methods_by_name['RecoveredSinceDowntimeOfLength']._loaded_options = None + _globals['_QUERY'].methods_by_name['RecoveredSinceDowntimeOfLength']._serialized_options = b'\202\323\344\223\002H\"C/injective/downtime-detector/v1beta1/RecoveredSinceDowntimeOfLength:\001*' + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST']._serialized_start=444 + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHREQUEST']._serialized_end=671 + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHRESPONSE']._serialized_start=673 + _globals['_RECOVEREDSINCEDOWNTIMEOFLENGTHRESPONSE']._serialized_end=768 + _globals['_QUERY']._serialized_start=771 + _globals['_QUERY']._serialized_end=1044 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2_grpc.py new file mode 100644 index 00000000..890b2e9a --- /dev/null +++ b/pyinjective/proto/injective/downtimedetector/v1beta1/query_pb2_grpc.py @@ -0,0 +1,77 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.downtimedetector.v1beta1 import query_pb2 as injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2 + + +class QueryStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.RecoveredSinceDowntimeOfLength = channel.unary_unary( + '/injective.downtimedetector.v1beta1.Query/RecoveredSinceDowntimeOfLength', + request_serializer=injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthRequest.SerializeToString, + response_deserializer=injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Missing associated documentation comment in .proto file.""" + + def RecoveredSinceDowntimeOfLength(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'RecoveredSinceDowntimeOfLength': grpc.unary_unary_rpc_method_handler( + servicer.RecoveredSinceDowntimeOfLength, + request_deserializer=injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthRequest.FromString, + response_serializer=injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.downtimedetector.v1beta1.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.downtimedetector.v1beta1.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def RecoveredSinceDowntimeOfLength(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.downtimedetector.v1beta1.Query/RecoveredSinceDowntimeOfLength', + injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthRequest.SerializeToString, + injective_dot_downtimedetector_dot_v1beta1_dot_query__pb2.RecoveredSinceDowntimeOfLengthResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2.py new file mode 100644 index 00000000..466dbf1f --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/erc20.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/erc20/v1beta1/erc20.proto\x12\x17injective.erc20.v1beta1\"O\n\tTokenPair\x12\x1d\n\nbank_denom\x18\x01 \x01(\tR\tbankDenom\x12#\n\rerc20_address\x18\x02 \x01(\tR\x0c\x65rc20AddressB\xf4\x01\n\x1b\x63om.injective.erc20.v1beta1B\nErc20ProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.erc20_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\nErc20ProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_TOKENPAIR']._serialized_start=64 + _globals['_TOKENPAIR']._serialized_end=143 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/erc20_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/erc20/v1beta1/events_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/events_pb2.py new file mode 100644 index 00000000..6a41a1b3 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/events_pb2.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/events.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/erc20/v1beta1/events.proto\x12\x17injective.erc20.v1beta1\"Z\n\x14\x45ventCreateTokenPair\x12\x1d\n\nbank_denom\x18\x01 \x01(\tR\tbankDenom\x12#\n\rerc20_address\x18\x02 \x01(\tR\x0c\x65rc20Address\"5\n\x14\x45ventDeleteTokenPair\x12\x1d\n\nbank_denom\x18\x01 \x01(\tR\tbankDenomB\xf5\x01\n\x1b\x63om.injective.erc20.v1beta1B\x0b\x45ventsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\013EventsProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_EVENTCREATETOKENPAIR']._serialized_start=65 + _globals['_EVENTCREATETOKENPAIR']._serialized_end=155 + _globals['_EVENTDELETETOKENPAIR']._serialized_start=157 + _globals['_EVENTDELETETOKENPAIR']._serialized_end=210 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/events_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/events_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/events_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2.py new file mode 100644 index 00000000..3d50ce84 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/genesis.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import params_pb2 as injective_dot_erc20_dot_v1beta1_dot_params__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import erc20_pb2 as injective_dot_erc20_dot_v1beta1_dot_erc20__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/erc20/v1beta1/genesis.proto\x12\x17injective.erc20.v1beta1\x1a\x14gogoproto/gogo.proto\x1a$injective/erc20/v1beta1/params.proto\x1a#injective/erc20/v1beta1/erc20.proto\"\x98\x01\n\x0cGenesisState\x12=\n\x06params\x18\x01 \x01(\x0b\x32\x1f.injective.erc20.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12I\n\x0btoken_pairs\x18\x02 \x03(\x0b\x32\".injective.erc20.v1beta1.TokenPairB\x04\xc8\xde\x1f\x00R\ntokenPairsB\xf6\x01\n\x1b\x63om.injective.erc20.v1beta1B\x0cGenesisProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.genesis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\014GenesisProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['token_pairs']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['token_pairs']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE']._serialized_start=164 + _globals['_GENESISSTATE']._serialized_end=316 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/genesis_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/erc20/v1beta1/params_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/params_pb2.py new file mode 100644 index 00000000..3fc72b3b --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/params_pb2.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/params.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/erc20/v1beta1/params.proto\x12\x17injective.erc20.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\x8b\x01\n\x06Params\x12j\n\x12\x64\x65nom_creation_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB!\xc8\xde\x1f\x00\xf2\xde\x1f\x19yaml:\"denom_creation_fee\"R\x10\x64\x65nomCreationFee:\x15\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0c\x65rc20/ParamsB\xf5\x01\n\x1b\x63om.injective.erc20.v1beta1B\x0bParamsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\013ParamsProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_PARAMS'].fields_by_name['denom_creation_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['denom_creation_fee']._serialized_options = b'\310\336\037\000\362\336\037\031yaml:\"denom_creation_fee\"' + _globals['_PARAMS']._loaded_options = None + _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\014erc20/Params' + _globals['_PARAMS']._serialized_start=139 + _globals['_PARAMS']._serialized_end=278 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/params_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/params_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/params_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/erc20/v1beta1/query_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/query_pb2.py new file mode 100644 index 00000000..5b7c6288 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/query_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import params_pb2 as injective_dot_erc20_dot_v1beta1_dot_params__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import genesis_pb2 as injective_dot_erc20_dot_v1beta1_dot_genesis__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import erc20_pb2 as injective_dot_erc20_dot_v1beta1_dot_erc20__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/erc20/v1beta1/query.proto\x12\x17injective.erc20.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a$injective/erc20/v1beta1/params.proto\x1a%injective/erc20/v1beta1/genesis.proto\x1a#injective/erc20/v1beta1/erc20.proto\"\x14\n\x12QueryParamsRequest\"T\n\x13QueryParamsResponse\x12=\n\x06params\x18\x01 \x01(\x0b\x32\x1f.injective.erc20.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"c\n\x19QueryAllTokenPairsRequest\x12\x46\n\npagination\x18\x01 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination\"\xaa\x01\n\x1aQueryAllTokenPairsResponse\x12\x43\n\x0btoken_pairs\x18\x01 \x03(\x0b\x32\".injective.erc20.v1beta1.TokenPairR\ntokenPairs\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"=\n\x1cQueryTokenPairByDenomRequest\x12\x1d\n\nbank_denom\x18\x01 \x01(\tR\tbankDenom\"b\n\x1dQueryTokenPairByDenomResponse\x12\x41\n\ntoken_pair\x18\x01 \x01(\x0b\x32\".injective.erc20.v1beta1.TokenPairR\ttokenPair\"J\n#QueryTokenPairByERC20AddressRequest\x12#\n\rerc20_address\x18\x01 \x01(\tR\x0c\x65rc20Address\"i\n$QueryTokenPairByERC20AddressResponse\x12\x41\n\ntoken_pair\x18\x01 \x01(\x0b\x32\".injective.erc20.v1beta1.TokenPairR\ttokenPair2\xd4\x05\n\x05Query\x12\x8c\x01\n\x06Params\x12+.injective.erc20.v1beta1.QueryParamsRequest\x1a,.injective.erc20.v1beta1.QueryParamsResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/injective/erc20/v1beta1/params\x12\xaa\x01\n\rAllTokenPairs\x12\x32.injective.erc20.v1beta1.QueryAllTokenPairsRequest\x1a\x33.injective.erc20.v1beta1.QueryAllTokenPairsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/erc20/v1beta1/all_token_pairs\x12\xb7\x01\n\x10TokenPairByDenom\x12\x35.injective.erc20.v1beta1.QueryTokenPairByDenomRequest\x1a\x36.injective.erc20.v1beta1.QueryTokenPairByDenomResponse\"4\x82\xd3\xe4\x93\x02.\x12,/injective/erc20/v1beta1/token_pair_by_denom\x12\xd4\x01\n\x17TokenPairByERC20Address\x12<.injective.erc20.v1beta1.QueryTokenPairByERC20AddressRequest\x1a=.injective.erc20.v1beta1.QueryTokenPairByERC20AddressResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/erc20/v1beta1/token_pair_by_erc20_addressB\xf4\x01\n\x1b\x63om.injective.erc20.v1beta1B\nQueryProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\nQueryProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_QUERY'].methods_by_name['Params']._loaded_options = None + _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002!\022\037/injective/erc20/v1beta1/params' + _globals['_QUERY'].methods_by_name['AllTokenPairs']._loaded_options = None + _globals['_QUERY'].methods_by_name['AllTokenPairs']._serialized_options = b'\202\323\344\223\002*\022(/injective/erc20/v1beta1/all_token_pairs' + _globals['_QUERY'].methods_by_name['TokenPairByDenom']._loaded_options = None + _globals['_QUERY'].methods_by_name['TokenPairByDenom']._serialized_options = b'\202\323\344\223\002.\022,/injective/erc20/v1beta1/token_pair_by_denom' + _globals['_QUERY'].methods_by_name['TokenPairByERC20Address']._loaded_options = None + _globals['_QUERY'].methods_by_name['TokenPairByERC20Address']._serialized_options = b'\202\323\344\223\0026\0224/injective/erc20/v1beta1/token_pair_by_erc20_address' + _globals['_QUERYPARAMSREQUEST']._serialized_start=306 + _globals['_QUERYPARAMSREQUEST']._serialized_end=326 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=328 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=412 + _globals['_QUERYALLTOKENPAIRSREQUEST']._serialized_start=414 + _globals['_QUERYALLTOKENPAIRSREQUEST']._serialized_end=513 + _globals['_QUERYALLTOKENPAIRSRESPONSE']._serialized_start=516 + _globals['_QUERYALLTOKENPAIRSRESPONSE']._serialized_end=686 + _globals['_QUERYTOKENPAIRBYDENOMREQUEST']._serialized_start=688 + _globals['_QUERYTOKENPAIRBYDENOMREQUEST']._serialized_end=749 + _globals['_QUERYTOKENPAIRBYDENOMRESPONSE']._serialized_start=751 + _globals['_QUERYTOKENPAIRBYDENOMRESPONSE']._serialized_end=849 + _globals['_QUERYTOKENPAIRBYERC20ADDRESSREQUEST']._serialized_start=851 + _globals['_QUERYTOKENPAIRBYERC20ADDRESSREQUEST']._serialized_end=925 + _globals['_QUERYTOKENPAIRBYERC20ADDRESSRESPONSE']._serialized_start=927 + _globals['_QUERYTOKENPAIRBYERC20ADDRESSRESPONSE']._serialized_end=1032 + _globals['_QUERY']._serialized_start=1035 + _globals['_QUERY']._serialized_end=1759 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/query_pb2_grpc.py new file mode 100644 index 00000000..85003335 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/query_pb2_grpc.py @@ -0,0 +1,217 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.erc20.v1beta1 import query_pb2 as injective_dot_erc20_dot_v1beta1_dot_query__pb2 + + +class QueryStub(object): + """Query defines the gRPC querier service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Params = channel.unary_unary( + '/injective.erc20.v1beta1.Query/Params', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsRequest.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsResponse.FromString, + _registered_method=True) + self.AllTokenPairs = channel.unary_unary( + '/injective.erc20.v1beta1.Query/AllTokenPairs', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsRequest.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsResponse.FromString, + _registered_method=True) + self.TokenPairByDenom = channel.unary_unary( + '/injective.erc20.v1beta1.Query/TokenPairByDenom', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomRequest.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomResponse.FromString, + _registered_method=True) + self.TokenPairByERC20Address = channel.unary_unary( + '/injective.erc20.v1beta1.Query/TokenPairByERC20Address', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressRequest.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Query defines the gRPC querier service. + """ + + def Params(self, request, context): + """Params defines a gRPC query method that returns the erc20 module's + parameters. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AllTokenPairs(self, request, context): + """AllTokenPairs defines a gRPC query method that returns the erc20 + module's created token pairs. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TokenPairByDenom(self, request, context): + """TokenPairByDenom defines a gRPC query method that returns the erc20 + module's token pair associated with the provided bank denom. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TokenPairByERC20Address(self, request, context): + """TokenPairByERC20Address defines a gRPC query method that returns the erc20 + module's token pair associated with the provided erc20 contract address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Params': grpc.unary_unary_rpc_method_handler( + servicer.Params, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsRequest.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsResponse.SerializeToString, + ), + 'AllTokenPairs': grpc.unary_unary_rpc_method_handler( + servicer.AllTokenPairs, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsRequest.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsResponse.SerializeToString, + ), + 'TokenPairByDenom': grpc.unary_unary_rpc_method_handler( + servicer.TokenPairByDenom, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomRequest.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomResponse.SerializeToString, + ), + 'TokenPairByERC20Address': grpc.unary_unary_rpc_method_handler( + servicer.TokenPairByERC20Address, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressRequest.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.erc20.v1beta1.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.erc20.v1beta1.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Query defines the gRPC querier service. + """ + + @staticmethod + def Params(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Query/Params', + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsRequest.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AllTokenPairs(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Query/AllTokenPairs', + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsRequest.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryAllTokenPairsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TokenPairByDenom(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Query/TokenPairByDenom', + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomRequest.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByDenomResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TokenPairByERC20Address(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Query/TokenPairByERC20Address', + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressRequest.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_query__pb2.QueryTokenPairByERC20AddressResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/erc20/v1beta1/tx_pb2.py b/pyinjective/proto/injective/erc20/v1beta1/tx_pb2.py new file mode 100644 index 00000000..46e11712 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/tx_pb2.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/erc20/v1beta1/tx.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos.bank.v1beta1 import bank_pb2 as cosmos_dot_bank_dot_v1beta1_dot_bank__pb2 +from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import params_pb2 as injective_dot_erc20_dot_v1beta1_dot_params__pb2 +from pyinjective.proto.injective.erc20.v1beta1 import erc20_pb2 as injective_dot_erc20_dot_v1beta1_dot_erc20__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n injective/erc20/v1beta1/tx.proto\x12\x17injective.erc20.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a$injective/erc20/v1beta1/params.proto\x1a#injective/erc20/v1beta1/erc20.proto\x1a\x11\x61mino/amino.proto\"\xb2\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12=\n\x06params\x18\x02 \x01(\x0b\x32\x1f.injective.erc20.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:(\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x15\x65rc20/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xb2\x01\n\x12MsgCreateTokenPair\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12G\n\ntoken_pair\x18\x02 \x01(\x0b\x32\".injective.erc20.v1beta1.TokenPairB\x04\xc8\xde\x1f\x00R\ttokenPair:(\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x18\x65rc20/MsgCreateTokenPair\"e\n\x1aMsgCreateTokenPairResponse\x12G\n\ntoken_pair\x18\x01 \x01(\x0b\x32\".injective.erc20.v1beta1.TokenPairB\x04\xc8\xde\x1f\x00R\ttokenPair\"\x88\x01\n\x12MsgDeleteTokenPair\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x1d\n\nbank_denom\x18\x02 \x01(\tR\tbankDenom:(\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x18\x65rc20/MsgDeleteTokenPair\"\x1c\n\x1aMsgDeleteTokenPairResponse2\xe2\x02\n\x03Msg\x12j\n\x0cUpdateParams\x12(.injective.erc20.v1beta1.MsgUpdateParams\x1a\x30.injective.erc20.v1beta1.MsgUpdateParamsResponse\x12s\n\x0f\x43reateTokenPair\x12+.injective.erc20.v1beta1.MsgCreateTokenPair\x1a\x33.injective.erc20.v1beta1.MsgCreateTokenPairResponse\x12s\n\x0f\x44\x65leteTokenPair\x12+.injective.erc20.v1beta1.MsgDeleteTokenPair\x1a\x33.injective.erc20.v1beta1.MsgDeleteTokenPairResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xf1\x01\n\x1b\x63om.injective.erc20.v1beta1B\x07TxProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\xa2\x02\x03IEX\xaa\x02\x17Injective.Erc20.V1beta1\xca\x02\x17Injective\\Erc20\\V1beta1\xe2\x02#Injective\\Erc20\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Erc20::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.erc20.v1beta1.tx_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.erc20.v1beta1B\007TxProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/erc20/types\242\002\003IEX\252\002\027Injective.Erc20.V1beta1\312\002\027Injective\\Erc20\\V1beta1\342\002#Injective\\Erc20\\V1beta1\\GPBMetadata\352\002\031Injective::Erc20::V1beta1' + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATEPARAMS']._loaded_options = None + _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\025erc20/MsgUpdateParams' + _globals['_MSGCREATETOKENPAIR'].fields_by_name['sender']._loaded_options = None + _globals['_MSGCREATETOKENPAIR'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' + _globals['_MSGCREATETOKENPAIR'].fields_by_name['token_pair']._loaded_options = None + _globals['_MSGCREATETOKENPAIR'].fields_by_name['token_pair']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATETOKENPAIR']._loaded_options = None + _globals['_MSGCREATETOKENPAIR']._serialized_options = b'\202\347\260*\006sender\212\347\260*\030erc20/MsgCreateTokenPair' + _globals['_MSGCREATETOKENPAIRRESPONSE'].fields_by_name['token_pair']._loaded_options = None + _globals['_MSGCREATETOKENPAIRRESPONSE'].fields_by_name['token_pair']._serialized_options = b'\310\336\037\000' + _globals['_MSGDELETETOKENPAIR'].fields_by_name['sender']._loaded_options = None + _globals['_MSGDELETETOKENPAIR'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' + _globals['_MSGDELETETOKENPAIR']._loaded_options = None + _globals['_MSGDELETETOKENPAIR']._serialized_options = b'\202\347\260*\006sender\212\347\260*\030erc20/MsgDeleteTokenPair' + _globals['_MSG']._loaded_options = None + _globals['_MSG']._serialized_options = b'\200\347\260*\001' + _globals['_MSGUPDATEPARAMS']._serialized_start=294 + _globals['_MSGUPDATEPARAMS']._serialized_end=472 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=474 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=499 + _globals['_MSGCREATETOKENPAIR']._serialized_start=502 + _globals['_MSGCREATETOKENPAIR']._serialized_end=680 + _globals['_MSGCREATETOKENPAIRRESPONSE']._serialized_start=682 + _globals['_MSGCREATETOKENPAIRRESPONSE']._serialized_end=783 + _globals['_MSGDELETETOKENPAIR']._serialized_start=786 + _globals['_MSGDELETETOKENPAIR']._serialized_end=922 + _globals['_MSGDELETETOKENPAIRRESPONSE']._serialized_start=924 + _globals['_MSGDELETETOKENPAIRRESPONSE']._serialized_end=952 + _globals['_MSG']._serialized_start=955 + _globals['_MSG']._serialized_end=1309 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/erc20/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/erc20/v1beta1/tx_pb2_grpc.py new file mode 100644 index 00000000..88e5c614 --- /dev/null +++ b/pyinjective/proto/injective/erc20/v1beta1/tx_pb2_grpc.py @@ -0,0 +1,166 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.erc20.v1beta1 import tx_pb2 as injective_dot_erc20_dot_v1beta1_dot_tx__pb2 + + +class MsgStub(object): + """Msg defines the erc20 module's gRPC message service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.UpdateParams = channel.unary_unary( + '/injective.erc20.v1beta1.Msg/UpdateParams', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + _registered_method=True) + self.CreateTokenPair = channel.unary_unary( + '/injective.erc20.v1beta1.Msg/CreateTokenPair', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPair.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPairResponse.FromString, + _registered_method=True) + self.DeleteTokenPair = channel.unary_unary( + '/injective.erc20.v1beta1.Msg/DeleteTokenPair', + request_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPair.SerializeToString, + response_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPairResponse.FromString, + _registered_method=True) + + +class MsgServicer(object): + """Msg defines the erc20 module's gRPC message service. + """ + + def UpdateParams(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateTokenPair(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteTokenPair(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_MsgServicer_to_server(servicer, server): + rpc_method_handlers = { + 'UpdateParams': grpc.unary_unary_rpc_method_handler( + servicer.UpdateParams, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, + ), + 'CreateTokenPair': grpc.unary_unary_rpc_method_handler( + servicer.CreateTokenPair, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPair.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPairResponse.SerializeToString, + ), + 'DeleteTokenPair': grpc.unary_unary_rpc_method_handler( + servicer.DeleteTokenPair, + request_deserializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPair.FromString, + response_serializer=injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPairResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.erc20.v1beta1.Msg', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.erc20.v1beta1.Msg', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Msg(object): + """Msg defines the erc20 module's gRPC message service. + """ + + @staticmethod + def UpdateParams(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Msg/UpdateParams', + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateTokenPair(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Msg/CreateTokenPair', + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPair.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgCreateTokenPairResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DeleteTokenPair(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.erc20.v1beta1.Msg/DeleteTokenPair', + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPair.SerializeToString, + injective_dot_erc20_dot_v1beta1_dot_tx__pb2.MsgDeleteTokenPairResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/evm/v1/access_tuple_pb2.py b/pyinjective/proto/injective/evm/v1/access_tuple_pb2.py new file mode 100644 index 00000000..698fb614 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/access_tuple_pb2.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/access_tuple.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/evm/v1/access_tuple.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\"a\n\x0b\x41\x63\x63\x65ssTuple\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x32\n\x0cstorage_keys\x18\x02 \x03(\tB\x0f\xea\xde\x1f\x0bstorageKeysR\x0bstorageKeys:\x04\x88\xa0\x1f\x00\x42\xd5\x01\n\x14\x63om.injective.evm.v1B\x10\x41\x63\x63\x65ssTupleProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.access_tuple_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\020AccessTupleProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_ACCESSTUPLE'].fields_by_name['storage_keys']._loaded_options = None + _globals['_ACCESSTUPLE'].fields_by_name['storage_keys']._serialized_options = b'\352\336\037\013storageKeys' + _globals['_ACCESSTUPLE']._loaded_options = None + _globals['_ACCESSTUPLE']._serialized_options = b'\210\240\037\000' + _globals['_ACCESSTUPLE']._serialized_start=79 + _globals['_ACCESSTUPLE']._serialized_end=176 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/access_tuple_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/access_tuple_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/access_tuple_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/chain_config_pb2.py b/pyinjective/proto/injective/evm/v1/chain_config_pb2.py new file mode 100644 index 00000000..80e2dff1 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/chain_config_pb2.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/chain_config.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/evm/v1/chain_config.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\"\xa7\x11\n\x0b\x43hainConfig\x12\\\n\x0fhomestead_block\x18\x01 \x01(\tB3\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x16yaml:\"homestead_block\"R\x0ehomesteadBlock\x12h\n\x0e\x64\x61o_fork_block\x18\x02 \x01(\tBB\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x0c\x44\x41OForkBlock\xf2\xde\x1f\x15yaml:\"dao_fork_block\"R\x0c\x64\x61oForkBlock\x12W\n\x10\x64\x61o_fork_support\x18\x03 \x01(\x08\x42-\xe2\xde\x1f\x0e\x44\x41OForkSupport\xf2\xde\x1f\x17yaml:\"dao_fork_support\"R\x0e\x64\x61oForkSupport\x12\x62\n\x0c\x65ip150_block\x18\x04 \x01(\tB?\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x0b\x45IP150Block\xf2\xde\x1f\x13yaml:\"eip150_block\"R\x0b\x65ip150Block\x12I\n\x0b\x65ip150_hash\x18\x05 \x01(\tB(\xe2\xde\x1f\nEIP150Hash\xf2\xde\x1f\x16yaml:\"byzantium_block\"R\neip150Hash\x12\x62\n\x0c\x65ip155_block\x18\x06 \x01(\tB?\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x0b\x45IP155Block\xf2\xde\x1f\x13yaml:\"eip155_block\"R\x0b\x65ip155Block\x12\x62\n\x0c\x65ip158_block\x18\x07 \x01(\tB?\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x0b\x45IP158Block\xf2\xde\x1f\x13yaml:\"eip158_block\"R\x0b\x65ip158Block\x12\\\n\x0f\x62yzantium_block\x18\x08 \x01(\tB3\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x16yaml:\"byzantium_block\"R\x0e\x62yzantiumBlock\x12k\n\x14\x63onstantinople_block\x18\t \x01(\tB8\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x1byaml:\"constantinople_block\"R\x13\x63onstantinopleBlock\x12_\n\x10petersburg_block\x18\n \x01(\tB4\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x17yaml:\"petersburg_block\"R\x0fpetersburgBlock\x12Y\n\x0eistanbul_block\x18\x0b \x01(\tB2\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x15yaml:\"istanbul_block\"R\ristanbulBlock\x12\x64\n\x12muir_glacier_block\x18\x0c \x01(\tB6\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x19yaml:\"muir_glacier_block\"R\x10muirGlacierBlock\x12S\n\x0c\x62\x65rlin_block\x18\r \x01(\tB0\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x13yaml:\"berlin_block\"R\x0b\x62\x65rlinBlock\x12S\n\x0clondon_block\x18\x11 \x01(\tB0\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x13yaml:\"london_block\"R\x0blondonBlock\x12g\n\x13\x61rrow_glacier_block\x18\x12 \x01(\tB7\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x1ayaml:\"arrow_glacier_block\"R\x11\x61rrowGlacierBlock\x12\x64\n\x12gray_glacier_block\x18\x14 \x01(\tB6\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x19yaml:\"gray_glacier_block\"R\x10grayGlacierBlock\x12j\n\x14merge_netsplit_block\x18\x15 \x01(\tB8\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x1byaml:\"merge_netsplit_block\"R\x12mergeNetsplitBlock\x12V\n\rshanghai_time\x18\x16 \x01(\tB1\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x14yaml:\"shanghai_time\"R\x0cshanghaiTime\x12P\n\x0b\x63\x61ncun_time\x18\x17 \x01(\tB/\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x12yaml:\"cancun_time\"R\ncancunTime\x12P\n\x0bprague_time\x18\x18 \x01(\tB/\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xf2\xde\x1f\x12yaml:\"prague_time\"R\npragueTime\x12\x63\n\x0f\x65ip155_chain_id\x18\x19 \x01(\tB;\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\rEIP155ChainID\xea\xde\x1f\reip155ChainIDR\reip155ChainId\x12w\n\x14\x62lob_schedule_config\x18\x1a \x01(\x0b\x32$.injective.evm.v1.BlobScheduleConfigB\x1f\xf2\xde\x1f\x1byaml:\"blob_schedule_config\"R\x12\x62lobScheduleConfigJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10J\x04\x08\x10\x10\x11J\x04\x08\x13\x10\x14R\ryolo_v3_blockR\x0b\x65wasm_blockR\x0e\x63\x61talyst_blockR\x10merge_fork_block\"\xea\x01\n\x12\x42lobScheduleConfig\x12\x34\n\x06\x63\x61ncun\x18\x01 \x01(\x0b\x32\x1c.injective.evm.v1.BlobConfigR\x06\x63\x61ncun\x12\x34\n\x06prague\x18\x02 \x01(\x0b\x32\x1c.injective.evm.v1.BlobConfigR\x06prague\x12\x32\n\x05osaka\x18\x03 \x01(\x0b\x32\x1c.injective.evm.v1.BlobConfigR\x05osaka\x12\x34\n\x06verkle\x18\x04 \x01(\x0b\x32\x1c.injective.evm.v1.BlobConfigR\x06verkle\"\x94\x01\n\nBlobConfig\x12\x16\n\x06target\x18\x01 \x01(\x04R\x06target\x12\x10\n\x03max\x18\x02 \x01(\x04R\x03max\x12\\\n\x18\x62\x61se_fee_update_fraction\x18\x03 \x01(\x04\x42#\xf2\xde\x1f\x1fyaml:\"base_fee_update_fraction\"R\x15\x62\x61seFeeUpdateFractionB\xd5\x01\n\x14\x63om.injective.evm.v1B\x10\x43hainConfigProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.chain_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\020ChainConfigProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_CHAINCONFIG'].fields_by_name['homestead_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['homestead_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\026yaml:\"homestead_block\"' + _globals['_CHAINCONFIG'].fields_by_name['dao_fork_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['dao_fork_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\014DAOForkBlock\362\336\037\025yaml:\"dao_fork_block\"' + _globals['_CHAINCONFIG'].fields_by_name['dao_fork_support']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['dao_fork_support']._serialized_options = b'\342\336\037\016DAOForkSupport\362\336\037\027yaml:\"dao_fork_support\"' + _globals['_CHAINCONFIG'].fields_by_name['eip150_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['eip150_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\013EIP150Block\362\336\037\023yaml:\"eip150_block\"' + _globals['_CHAINCONFIG'].fields_by_name['eip150_hash']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['eip150_hash']._serialized_options = b'\342\336\037\nEIP150Hash\362\336\037\026yaml:\"byzantium_block\"' + _globals['_CHAINCONFIG'].fields_by_name['eip155_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['eip155_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\013EIP155Block\362\336\037\023yaml:\"eip155_block\"' + _globals['_CHAINCONFIG'].fields_by_name['eip158_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['eip158_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\013EIP158Block\362\336\037\023yaml:\"eip158_block\"' + _globals['_CHAINCONFIG'].fields_by_name['byzantium_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['byzantium_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\026yaml:\"byzantium_block\"' + _globals['_CHAINCONFIG'].fields_by_name['constantinople_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['constantinople_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\033yaml:\"constantinople_block\"' + _globals['_CHAINCONFIG'].fields_by_name['petersburg_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['petersburg_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\027yaml:\"petersburg_block\"' + _globals['_CHAINCONFIG'].fields_by_name['istanbul_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['istanbul_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\025yaml:\"istanbul_block\"' + _globals['_CHAINCONFIG'].fields_by_name['muir_glacier_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['muir_glacier_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\031yaml:\"muir_glacier_block\"' + _globals['_CHAINCONFIG'].fields_by_name['berlin_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['berlin_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\023yaml:\"berlin_block\"' + _globals['_CHAINCONFIG'].fields_by_name['london_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['london_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\023yaml:\"london_block\"' + _globals['_CHAINCONFIG'].fields_by_name['arrow_glacier_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['arrow_glacier_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\032yaml:\"arrow_glacier_block\"' + _globals['_CHAINCONFIG'].fields_by_name['gray_glacier_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['gray_glacier_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\031yaml:\"gray_glacier_block\"' + _globals['_CHAINCONFIG'].fields_by_name['merge_netsplit_block']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['merge_netsplit_block']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\033yaml:\"merge_netsplit_block\"' + _globals['_CHAINCONFIG'].fields_by_name['shanghai_time']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['shanghai_time']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\024yaml:\"shanghai_time\"' + _globals['_CHAINCONFIG'].fields_by_name['cancun_time']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['cancun_time']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\022yaml:\"cancun_time\"' + _globals['_CHAINCONFIG'].fields_by_name['prague_time']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['prague_time']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\362\336\037\022yaml:\"prague_time\"' + _globals['_CHAINCONFIG'].fields_by_name['eip155_chain_id']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['eip155_chain_id']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\rEIP155ChainID\352\336\037\reip155ChainID' + _globals['_CHAINCONFIG'].fields_by_name['blob_schedule_config']._loaded_options = None + _globals['_CHAINCONFIG'].fields_by_name['blob_schedule_config']._serialized_options = b'\362\336\037\033yaml:\"blob_schedule_config\"' + _globals['_BLOBCONFIG'].fields_by_name['base_fee_update_fraction']._loaded_options = None + _globals['_BLOBCONFIG'].fields_by_name['base_fee_update_fraction']._serialized_options = b'\362\336\037\037yaml:\"base_fee_update_fraction\"' + _globals['_CHAINCONFIG']._serialized_start=80 + _globals['_CHAINCONFIG']._serialized_end=2295 + _globals['_BLOBSCHEDULECONFIG']._serialized_start=2298 + _globals['_BLOBSCHEDULECONFIG']._serialized_end=2532 + _globals['_BLOBCONFIG']._serialized_start=2535 + _globals['_BLOBCONFIG']._serialized_end=2683 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/chain_config_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/chain_config_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/chain_config_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/events_pb2.py b/pyinjective/proto/injective/evm/v1/events_pb2.py new file mode 100644 index 00000000..196b5b98 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/events_pb2.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/events.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dinjective/evm/v1/events.proto\x12\x10injective.evm.v1\"\xcb\x01\n\x0f\x45ventEthereumTx\x12\x16\n\x06\x61mount\x18\x01 \x01(\tR\x06\x61mount\x12\x19\n\x08\x65th_hash\x18\x02 \x01(\tR\x07\x65thHash\x12\x14\n\x05index\x18\x03 \x01(\tR\x05index\x12\x19\n\x08gas_used\x18\x04 \x01(\tR\x07gasUsed\x12\x12\n\x04hash\x18\x05 \x01(\tR\x04hash\x12\x1c\n\trecipient\x18\x06 \x01(\tR\trecipient\x12\"\n\reth_tx_failed\x18\x07 \x01(\tR\x0b\x65thTxFailed\"%\n\nEventTxLog\x12\x17\n\x07tx_logs\x18\x01 \x03(\tR\x06txLogs\"W\n\x0c\x45ventMessage\x12\x16\n\x06module\x18\x01 \x01(\tR\x06module\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender\x12\x17\n\x07tx_type\x18\x03 \x01(\tR\x06txType\"\'\n\x0f\x45ventBlockBloom\x12\x14\n\x05\x62loom\x18\x01 \x01(\tR\x05\x62loomB\xd0\x01\n\x14\x63om.injective.evm.v1B\x0b\x45ventsProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\013EventsProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_EVENTETHEREUMTX']._serialized_start=52 + _globals['_EVENTETHEREUMTX']._serialized_end=255 + _globals['_EVENTTXLOG']._serialized_start=257 + _globals['_EVENTTXLOG']._serialized_end=294 + _globals['_EVENTMESSAGE']._serialized_start=296 + _globals['_EVENTMESSAGE']._serialized_end=383 + _globals['_EVENTBLOCKBLOOM']._serialized_start=385 + _globals['_EVENTBLOCKBLOOM']._serialized_end=424 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/events_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/events_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/events_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/genesis_pb2.py b/pyinjective/proto/injective/evm/v1/genesis_pb2.py new file mode 100644 index 00000000..663913e9 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/genesis_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/genesis.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.injective.evm.v1 import params_pb2 as injective_dot_evm_dot_v1_dot_params__pb2 +from pyinjective.proto.injective.evm.v1 import state_pb2 as injective_dot_evm_dot_v1_dot_state__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/evm/v1/genesis.proto\x12\x10injective.evm.v1\x1a\x1dinjective/evm/v1/params.proto\x1a\x1cinjective/evm/v1/state.proto\x1a\x14gogoproto/gogo.proto\"\x8a\x01\n\x0cGenesisState\x12\x42\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32 .injective.evm.v1.GenesisAccountB\x04\xc8\xde\x1f\x00R\x08\x61\x63\x63ounts\x12\x36\n\x06params\x18\x02 \x01(\x0b\x32\x18.injective.evm.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x82\x01\n\x0eGenesisAccount\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x12\n\x04\x63ode\x18\x02 \x01(\tR\x04\x63ode\x12\x42\n\x07storage\x18\x03 \x03(\x0b\x32\x17.injective.evm.v1.StateB\x0f\xc8\xde\x1f\x00\xaa\xdf\x1f\x07StorageR\x07storageB\xd1\x01\n\x14\x63om.injective.evm.v1B\x0cGenesisProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.genesis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\014GenesisProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_GENESISSTATE'].fields_by_name['accounts']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['accounts']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISACCOUNT'].fields_by_name['storage']._loaded_options = None + _globals['_GENESISACCOUNT'].fields_by_name['storage']._serialized_options = b'\310\336\037\000\252\337\037\007Storage' + _globals['_GENESISSTATE']._serialized_start=136 + _globals['_GENESISSTATE']._serialized_end=274 + _globals['_GENESISACCOUNT']._serialized_start=277 + _globals['_GENESISACCOUNT']._serialized_end=407 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/genesis_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/genesis_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/genesis_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/log_pb2.py b/pyinjective/proto/injective/evm/v1/log_pb2.py new file mode 100644 index 00000000..4ac569e7 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/log_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/log.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ainjective/evm/v1/log.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\"\xca\x02\n\x03Log\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x16\n\x06topics\x18\x02 \x03(\tR\x06topics\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\x12\x32\n\x0c\x62lock_number\x18\x04 \x01(\x04\x42\x0f\xea\xde\x1f\x0b\x62lockNumberR\x0b\x62lockNumber\x12,\n\x07tx_hash\x18\x05 \x01(\tB\x13\xea\xde\x1f\x0ftransactionHashR\x06txHash\x12/\n\x08tx_index\x18\x06 \x01(\x04\x42\x14\xea\xde\x1f\x10transactionIndexR\x07txIndex\x12,\n\nblock_hash\x18\x07 \x01(\tB\r\xea\xde\x1f\tblockHashR\tblockHash\x12\"\n\x05index\x18\x08 \x01(\x04\x42\x0c\xea\xde\x1f\x08logIndexR\x05index\x12\x18\n\x07removed\x18\t \x01(\x08R\x07removedB\xcd\x01\n\x14\x63om.injective.evm.v1B\x08LogProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.log_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\010LogProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_LOG'].fields_by_name['block_number']._loaded_options = None + _globals['_LOG'].fields_by_name['block_number']._serialized_options = b'\352\336\037\013blockNumber' + _globals['_LOG'].fields_by_name['tx_hash']._loaded_options = None + _globals['_LOG'].fields_by_name['tx_hash']._serialized_options = b'\352\336\037\017transactionHash' + _globals['_LOG'].fields_by_name['tx_index']._loaded_options = None + _globals['_LOG'].fields_by_name['tx_index']._serialized_options = b'\352\336\037\020transactionIndex' + _globals['_LOG'].fields_by_name['block_hash']._loaded_options = None + _globals['_LOG'].fields_by_name['block_hash']._serialized_options = b'\352\336\037\tblockHash' + _globals['_LOG'].fields_by_name['index']._loaded_options = None + _globals['_LOG'].fields_by_name['index']._serialized_options = b'\352\336\037\010logIndex' + _globals['_LOG']._serialized_start=71 + _globals['_LOG']._serialized_end=401 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/log_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/log_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/log_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/params_pb2.py b/pyinjective/proto/injective/evm/v1/params_pb2.py new file mode 100644 index 00000000..68927d4f --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/params_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/params.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.evm.v1 import chain_config_pb2 as injective_dot_evm_dot_v1_dot_chain__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dinjective/evm/v1/params.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\x1a#injective/evm/v1/chain_config.proto\"\xc9\x03\n\x06Params\x12\x31\n\tevm_denom\x18\x01 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"evm_denom\"R\x08\x65vmDenom\x12=\n\renable_create\x18\x02 \x01(\x08\x42\x18\xf2\xde\x1f\x14yaml:\"enable_create\"R\x0c\x65nableCreate\x12\x37\n\x0b\x65nable_call\x18\x03 \x01(\x08\x42\x16\xf2\xde\x1f\x12yaml:\"enable_call\"R\nenableCall\x12\x41\n\nextra_eips\x18\x04 \x03(\x03\x42\"\xe2\xde\x1f\tExtraEIPs\xf2\xde\x1f\x11yaml:\"extra_eips\"R\textraEips\x12\x46\n\x0c\x63hain_config\x18\x05 \x01(\x0b\x32\x1d.injective.evm.v1.ChainConfigB\x04\xc8\xde\x1f\x00R\x0b\x63hainConfig\x12\x32\n\x15\x61llow_unprotected_txs\x18\x06 \x01(\x08R\x13\x61llowUnprotectedTxs\x12\x31\n\x14\x61uthorized_deployers\x18\x07 \x03(\tR\x13\x61uthorizedDeployers\x12\"\n\x0cpermissioned\x18\x08 \x01(\x08R\x0cpermissionedB\xd0\x01\n\x14\x63om.injective.evm.v1B\x0bParamsProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.params_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\013ParamsProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_PARAMS'].fields_by_name['evm_denom']._loaded_options = None + _globals['_PARAMS'].fields_by_name['evm_denom']._serialized_options = b'\362\336\037\020yaml:\"evm_denom\"' + _globals['_PARAMS'].fields_by_name['enable_create']._loaded_options = None + _globals['_PARAMS'].fields_by_name['enable_create']._serialized_options = b'\362\336\037\024yaml:\"enable_create\"' + _globals['_PARAMS'].fields_by_name['enable_call']._loaded_options = None + _globals['_PARAMS'].fields_by_name['enable_call']._serialized_options = b'\362\336\037\022yaml:\"enable_call\"' + _globals['_PARAMS'].fields_by_name['extra_eips']._loaded_options = None + _globals['_PARAMS'].fields_by_name['extra_eips']._serialized_options = b'\342\336\037\tExtraEIPs\362\336\037\021yaml:\"extra_eips\"' + _globals['_PARAMS'].fields_by_name['chain_config']._loaded_options = None + _globals['_PARAMS'].fields_by_name['chain_config']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS']._serialized_start=111 + _globals['_PARAMS']._serialized_end=568 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/params_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/params_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/params_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/query_pb2.py b/pyinjective/proto/injective/evm/v1/query_pb2.py new file mode 100644 index 00000000..bb1c139b --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/query_pb2.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from pyinjective.proto.injective.evm.v1 import log_pb2 as injective_dot_evm_dot_v1_dot_log__pb2 +from pyinjective.proto.injective.evm.v1 import params_pb2 as injective_dot_evm_dot_v1_dot_params__pb2 +from pyinjective.proto.injective.evm.v1 import trace_config_pb2 as injective_dot_evm_dot_v1_dot_trace__config__pb2 +from pyinjective.proto.injective.evm.v1 import tx_pb2 as injective_dot_evm_dot_v1_dot_tx__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cinjective/evm/v1/query.proto\x12\x10injective.evm.v1\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ainjective/evm/v1/log.proto\x1a\x1dinjective/evm/v1/params.proto\x1a#injective/evm/v1/trace_config.proto\x1a\x19injective/evm/v1/tx.proto\"9\n\x13QueryAccountRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"c\n\x14QueryAccountResponse\x12\x18\n\x07\x62\x61lance\x18\x01 \x01(\tR\x07\x62\x61lance\x12\x1b\n\tcode_hash\x18\x02 \x01(\tR\x08\x63odeHash\x12\x14\n\x05nonce\x18\x03 \x01(\x04R\x05nonce\"?\n\x19QueryCosmosAccountRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x01\n\x1aQueryCosmosAccountResponse\x12%\n\x0e\x63osmos_address\x18\x01 \x01(\tR\rcosmosAddress\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12%\n\x0e\x61\x63\x63ount_number\x18\x03 \x01(\x04R\raccountNumber\"K\n\x1cQueryValidatorAccountRequest\x12!\n\x0c\x63ons_address\x18\x01 \x01(\tR\x0b\x63onsAddress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8b\x01\n\x1dQueryValidatorAccountResponse\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\x12%\n\x0e\x61\x63\x63ount_number\x18\x03 \x01(\x04R\raccountNumber\"9\n\x13QueryBalanceRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"0\n\x14QueryBalanceResponse\x12\x18\n\x07\x62\x61lance\x18\x01 \x01(\tR\x07\x62\x61lance\"K\n\x13QueryStorageRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\",\n\x14QueryStorageResponse\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"6\n\x10QueryCodeRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\'\n\x11QueryCodeResponse\x12\x12\n\x04\x63ode\x18\x01 \x01(\x0cR\x04\x63ode\"z\n\x12QueryTxLogsRequest\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x46\n\npagination\x18\x02 \x01(\x0b\x32&.cosmos.base.query.v1beta1.PageRequestR\npagination:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x89\x01\n\x13QueryTxLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b\x32\x15.injective.evm.v1.LogR\x04logs\x12G\n\npagination\x18\x02 \x01(\x0b\x32\'.cosmos.base.query.v1beta1.PageResponseR\npagination\"\x14\n\x12QueryParamsRequest\"M\n\x13QueryParamsResponse\x12\x36\n\x06params\x18\x01 \x01(\x0b\x32\x18.injective.evm.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\xd5\x01\n\x0e\x45thCallRequest\x12\x12\n\x04\x61rgs\x18\x01 \x01(\x0cR\x04\x61rgs\x12\x17\n\x07gas_cap\x18\x02 \x01(\x04R\x06gasCap\x12]\n\x10proposer_address\x18\x03 \x01(\x0c\x42\x32\xfa\xde\x1f.github.com/cosmos/cosmos-sdk/types.ConsAddressR\x0fproposerAddress\x12\x19\n\x08\x63hain_id\x18\x04 \x01(\x03R\x07\x63hainId\x12\x1c\n\toverrides\x18\x05 \x01(\x0cR\toverrides\"T\n\x13\x45stimateGasResponse\x12\x10\n\x03gas\x18\x01 \x01(\x04R\x03gas\x12\x10\n\x03ret\x18\x02 \x01(\x0cR\x03ret\x12\x19\n\x08vm_error\x18\x03 \x01(\tR\x07vmError\"\xe0\x03\n\x13QueryTraceTxRequest\x12\x31\n\x03msg\x18\x01 \x01(\x0b\x32\x1f.injective.evm.v1.MsgEthereumTxR\x03msg\x12@\n\x0ctrace_config\x18\x03 \x01(\x0b\x32\x1d.injective.evm.v1.TraceConfigR\x0btraceConfig\x12\x43\n\x0cpredecessors\x18\x04 \x03(\x0b\x32\x1f.injective.evm.v1.MsgEthereumTxR\x0cpredecessors\x12!\n\x0c\x62lock_number\x18\x05 \x01(\x03R\x0b\x62lockNumber\x12\x1d\n\nblock_hash\x18\x06 \x01(\tR\tblockHash\x12\x43\n\nblock_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\tblockTime\x12]\n\x10proposer_address\x18\x08 \x01(\x0c\x42\x32\xfa\xde\x1f.github.com/cosmos/cosmos-sdk/types.ConsAddressR\x0fproposerAddress\x12\x19\n\x08\x63hain_id\x18\t \x01(\x03R\x07\x63hainIdJ\x04\x08\x02\x10\x03R\x08tx_index\"*\n\x14QueryTraceTxResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\x87\x03\n\x15QueryTraceCallRequest\x12\x12\n\x04\x61rgs\x18\x01 \x01(\x0cR\x04\x61rgs\x12\x17\n\x07gas_cap\x18\x02 \x01(\x04R\x06gasCap\x12]\n\x10proposer_address\x18\x03 \x01(\x0c\x42\x32\xfa\xde\x1f.github.com/cosmos/cosmos-sdk/types.ConsAddressR\x0fproposerAddress\x12@\n\x0ctrace_config\x18\x04 \x01(\x0b\x32\x1d.injective.evm.v1.TraceConfigR\x0btraceConfig\x12!\n\x0c\x62lock_number\x18\x05 \x01(\x03R\x0b\x62lockNumber\x12\x1d\n\nblock_hash\x18\x06 \x01(\tR\tblockHash\x12\x43\n\nblock_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\tblockTime\x12\x19\n\x08\x63hain_id\x18\x08 \x01(\x03R\x07\x63hainId\",\n\x16QueryTraceCallResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\x8e\x03\n\x16QueryTraceBlockRequest\x12\x31\n\x03txs\x18\x01 \x03(\x0b\x32\x1f.injective.evm.v1.MsgEthereumTxR\x03txs\x12@\n\x0ctrace_config\x18\x03 \x01(\x0b\x32\x1d.injective.evm.v1.TraceConfigR\x0btraceConfig\x12!\n\x0c\x62lock_number\x18\x05 \x01(\x03R\x0b\x62lockNumber\x12\x1d\n\nblock_hash\x18\x06 \x01(\tR\tblockHash\x12\x43\n\nblock_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\tblockTime\x12]\n\x10proposer_address\x18\x08 \x01(\x0c\x42\x32\xfa\xde\x1f.github.com/cosmos/cosmos-sdk/types.ConsAddressR\x0fproposerAddress\x12\x19\n\x08\x63hain_id\x18\t \x01(\x03R\x07\x63hainId\"-\n\x17QueryTraceBlockResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\x15\n\x13QueryBaseFeeRequest\"L\n\x14QueryBaseFeeResponse\x12\x34\n\x08\x62\x61se_fee\x18\x01 \x01(\tB\x19\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07\x62\x61seFee2\xf6\r\n\x05Query\x12\x85\x01\n\x07\x41\x63\x63ount\x12%.injective.evm.v1.QueryAccountRequest\x1a&.injective.evm.v1.QueryAccountResponse\"+\x82\xd3\xe4\x93\x02%\x12#/injective/evm/v1/account/{address}\x12\x9e\x01\n\rCosmosAccount\x12+.injective.evm.v1.QueryCosmosAccountRequest\x1a,.injective.evm.v1.QueryCosmosAccountResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/evm/v1/cosmos_account/{address}\x12\xaf\x01\n\x10ValidatorAccount\x12..injective.evm.v1.QueryValidatorAccountRequest\x1a/.injective.evm.v1.QueryValidatorAccountResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/evm/v1/validator_account/{cons_address}\x12\x86\x01\n\x07\x42\x61lance\x12%.injective.evm.v1.QueryBalanceRequest\x1a&.injective.evm.v1.QueryBalanceResponse\",\x82\xd3\xe4\x93\x02&\x12$/injective/evm/v1/balances/{address}\x12\x8b\x01\n\x07Storage\x12%.injective.evm.v1.QueryStorageRequest\x1a&.injective.evm.v1.QueryStorageResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/evm/v1/storage/{address}/{key}\x12z\n\x04\x43ode\x12\".injective.evm.v1.QueryCodeRequest\x1a#.injective.evm.v1.QueryCodeResponse\")\x82\xd3\xe4\x93\x02#\x12!/injective/evm/v1/codes/{address}\x12w\n\x06Params\x12$.injective.evm.v1.QueryParamsRequest\x1a%.injective.evm.v1.QueryParamsResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/injective/evm/v1/params\x12x\n\x07\x45thCall\x12 .injective.evm.v1.EthCallRequest\x1a\'.injective.evm.v1.MsgEthereumTxResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/injective/evm/v1/eth_call\x12~\n\x0b\x45stimateGas\x12 .injective.evm.v1.EthCallRequest\x1a%.injective.evm.v1.EstimateGasResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/injective/evm/v1/estimate_gas\x12|\n\x07TraceTx\x12%.injective.evm.v1.QueryTraceTxRequest\x1a&.injective.evm.v1.QueryTraceTxResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/injective/evm/v1/trace_tx\x12\x88\x01\n\nTraceBlock\x12(.injective.evm.v1.QueryTraceBlockRequest\x1a).injective.evm.v1.QueryTraceBlockResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/injective/evm/v1/trace_block\x12\x84\x01\n\tTraceCall\x12\'.injective.evm.v1.QueryTraceCallRequest\x1a(.injective.evm.v1.QueryTraceCallResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/injective/evm/v1/trace_call\x12|\n\x07\x42\x61seFee\x12%.injective.evm.v1.QueryBaseFeeRequest\x1a&.injective.evm.v1.QueryBaseFeeResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/injective/evm/v1/base_feeB\xcf\x01\n\x14\x63om.injective.evm.v1B\nQueryProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\nQueryProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_QUERYACCOUNTREQUEST']._loaded_options = None + _globals['_QUERYACCOUNTREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYCOSMOSACCOUNTREQUEST']._loaded_options = None + _globals['_QUERYCOSMOSACCOUNTREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYVALIDATORACCOUNTREQUEST']._loaded_options = None + _globals['_QUERYVALIDATORACCOUNTREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYBALANCEREQUEST']._loaded_options = None + _globals['_QUERYBALANCEREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYSTORAGEREQUEST']._loaded_options = None + _globals['_QUERYSTORAGEREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYCODEREQUEST']._loaded_options = None + _globals['_QUERYCODEREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYTXLOGSREQUEST']._loaded_options = None + _globals['_QUERYTXLOGSREQUEST']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_ETHCALLREQUEST'].fields_by_name['proposer_address']._loaded_options = None + _globals['_ETHCALLREQUEST'].fields_by_name['proposer_address']._serialized_options = b'\372\336\037.github.com/cosmos/cosmos-sdk/types.ConsAddress' + _globals['_QUERYTRACETXREQUEST'].fields_by_name['block_time']._loaded_options = None + _globals['_QUERYTRACETXREQUEST'].fields_by_name['block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_QUERYTRACETXREQUEST'].fields_by_name['proposer_address']._loaded_options = None + _globals['_QUERYTRACETXREQUEST'].fields_by_name['proposer_address']._serialized_options = b'\372\336\037.github.com/cosmos/cosmos-sdk/types.ConsAddress' + _globals['_QUERYTRACECALLREQUEST'].fields_by_name['proposer_address']._loaded_options = None + _globals['_QUERYTRACECALLREQUEST'].fields_by_name['proposer_address']._serialized_options = b'\372\336\037.github.com/cosmos/cosmos-sdk/types.ConsAddress' + _globals['_QUERYTRACECALLREQUEST'].fields_by_name['block_time']._loaded_options = None + _globals['_QUERYTRACECALLREQUEST'].fields_by_name['block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_QUERYTRACEBLOCKREQUEST'].fields_by_name['block_time']._loaded_options = None + _globals['_QUERYTRACEBLOCKREQUEST'].fields_by_name['block_time']._serialized_options = b'\310\336\037\000\220\337\037\001' + _globals['_QUERYTRACEBLOCKREQUEST'].fields_by_name['proposer_address']._loaded_options = None + _globals['_QUERYTRACEBLOCKREQUEST'].fields_by_name['proposer_address']._serialized_options = b'\372\336\037.github.com/cosmos/cosmos-sdk/types.ConsAddress' + _globals['_QUERYBASEFEERESPONSE'].fields_by_name['base_fee']._loaded_options = None + _globals['_QUERYBASEFEERESPONSE'].fields_by_name['base_fee']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int' + _globals['_QUERY'].methods_by_name['Account']._loaded_options = None + _globals['_QUERY'].methods_by_name['Account']._serialized_options = b'\202\323\344\223\002%\022#/injective/evm/v1/account/{address}' + _globals['_QUERY'].methods_by_name['CosmosAccount']._loaded_options = None + _globals['_QUERY'].methods_by_name['CosmosAccount']._serialized_options = b'\202\323\344\223\002,\022*/injective/evm/v1/cosmos_account/{address}' + _globals['_QUERY'].methods_by_name['ValidatorAccount']._loaded_options = None + _globals['_QUERY'].methods_by_name['ValidatorAccount']._serialized_options = b'\202\323\344\223\0024\0222/injective/evm/v1/validator_account/{cons_address}' + _globals['_QUERY'].methods_by_name['Balance']._loaded_options = None + _globals['_QUERY'].methods_by_name['Balance']._serialized_options = b'\202\323\344\223\002&\022$/injective/evm/v1/balances/{address}' + _globals['_QUERY'].methods_by_name['Storage']._loaded_options = None + _globals['_QUERY'].methods_by_name['Storage']._serialized_options = b'\202\323\344\223\002+\022)/injective/evm/v1/storage/{address}/{key}' + _globals['_QUERY'].methods_by_name['Code']._loaded_options = None + _globals['_QUERY'].methods_by_name['Code']._serialized_options = b'\202\323\344\223\002#\022!/injective/evm/v1/codes/{address}' + _globals['_QUERY'].methods_by_name['Params']._loaded_options = None + _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\032\022\030/injective/evm/v1/params' + _globals['_QUERY'].methods_by_name['EthCall']._loaded_options = None + _globals['_QUERY'].methods_by_name['EthCall']._serialized_options = b'\202\323\344\223\002\034\022\032/injective/evm/v1/eth_call' + _globals['_QUERY'].methods_by_name['EstimateGas']._loaded_options = None + _globals['_QUERY'].methods_by_name['EstimateGas']._serialized_options = b'\202\323\344\223\002 \022\036/injective/evm/v1/estimate_gas' + _globals['_QUERY'].methods_by_name['TraceTx']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraceTx']._serialized_options = b'\202\323\344\223\002\034\022\032/injective/evm/v1/trace_tx' + _globals['_QUERY'].methods_by_name['TraceBlock']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraceBlock']._serialized_options = b'\202\323\344\223\002\037\022\035/injective/evm/v1/trace_block' + _globals['_QUERY'].methods_by_name['TraceCall']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraceCall']._serialized_options = b'\202\323\344\223\002\036\022\034/injective/evm/v1/trace_call' + _globals['_QUERY'].methods_by_name['BaseFee']._loaded_options = None + _globals['_QUERY'].methods_by_name['BaseFee']._serialized_options = b'\202\323\344\223\002\034\022\032/injective/evm/v1/base_fee' + _globals['_QUERYACCOUNTREQUEST']._serialized_start=302 + _globals['_QUERYACCOUNTREQUEST']._serialized_end=359 + _globals['_QUERYACCOUNTRESPONSE']._serialized_start=361 + _globals['_QUERYACCOUNTRESPONSE']._serialized_end=460 + _globals['_QUERYCOSMOSACCOUNTREQUEST']._serialized_start=462 + _globals['_QUERYCOSMOSACCOUNTREQUEST']._serialized_end=525 + _globals['_QUERYCOSMOSACCOUNTRESPONSE']._serialized_start=528 + _globals['_QUERYCOSMOSACCOUNTRESPONSE']._serialized_end=662 + _globals['_QUERYVALIDATORACCOUNTREQUEST']._serialized_start=664 + _globals['_QUERYVALIDATORACCOUNTREQUEST']._serialized_end=739 + _globals['_QUERYVALIDATORACCOUNTRESPONSE']._serialized_start=742 + _globals['_QUERYVALIDATORACCOUNTRESPONSE']._serialized_end=881 + _globals['_QUERYBALANCEREQUEST']._serialized_start=883 + _globals['_QUERYBALANCEREQUEST']._serialized_end=940 + _globals['_QUERYBALANCERESPONSE']._serialized_start=942 + _globals['_QUERYBALANCERESPONSE']._serialized_end=990 + _globals['_QUERYSTORAGEREQUEST']._serialized_start=992 + _globals['_QUERYSTORAGEREQUEST']._serialized_end=1067 + _globals['_QUERYSTORAGERESPONSE']._serialized_start=1069 + _globals['_QUERYSTORAGERESPONSE']._serialized_end=1113 + _globals['_QUERYCODEREQUEST']._serialized_start=1115 + _globals['_QUERYCODEREQUEST']._serialized_end=1169 + _globals['_QUERYCODERESPONSE']._serialized_start=1171 + _globals['_QUERYCODERESPONSE']._serialized_end=1210 + _globals['_QUERYTXLOGSREQUEST']._serialized_start=1212 + _globals['_QUERYTXLOGSREQUEST']._serialized_end=1334 + _globals['_QUERYTXLOGSRESPONSE']._serialized_start=1337 + _globals['_QUERYTXLOGSRESPONSE']._serialized_end=1474 + _globals['_QUERYPARAMSREQUEST']._serialized_start=1476 + _globals['_QUERYPARAMSREQUEST']._serialized_end=1496 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=1498 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=1575 + _globals['_ETHCALLREQUEST']._serialized_start=1578 + _globals['_ETHCALLREQUEST']._serialized_end=1791 + _globals['_ESTIMATEGASRESPONSE']._serialized_start=1793 + _globals['_ESTIMATEGASRESPONSE']._serialized_end=1877 + _globals['_QUERYTRACETXREQUEST']._serialized_start=1880 + _globals['_QUERYTRACETXREQUEST']._serialized_end=2360 + _globals['_QUERYTRACETXRESPONSE']._serialized_start=2362 + _globals['_QUERYTRACETXRESPONSE']._serialized_end=2404 + _globals['_QUERYTRACECALLREQUEST']._serialized_start=2407 + _globals['_QUERYTRACECALLREQUEST']._serialized_end=2798 + _globals['_QUERYTRACECALLRESPONSE']._serialized_start=2800 + _globals['_QUERYTRACECALLRESPONSE']._serialized_end=2844 + _globals['_QUERYTRACEBLOCKREQUEST']._serialized_start=2847 + _globals['_QUERYTRACEBLOCKREQUEST']._serialized_end=3245 + _globals['_QUERYTRACEBLOCKRESPONSE']._serialized_start=3247 + _globals['_QUERYTRACEBLOCKRESPONSE']._serialized_end=3292 + _globals['_QUERYBASEFEEREQUEST']._serialized_start=3294 + _globals['_QUERYBASEFEEREQUEST']._serialized_end=3315 + _globals['_QUERYBASEFEERESPONSE']._serialized_start=3317 + _globals['_QUERYBASEFEERESPONSE']._serialized_end=3393 + _globals['_QUERY']._serialized_start=3396 + _globals['_QUERY']._serialized_end=5178 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/query_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/query_pb2_grpc.py new file mode 100644 index 00000000..1e3b77b2 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/query_pb2_grpc.py @@ -0,0 +1,615 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.evm.v1 import query_pb2 as injective_dot_evm_dot_v1_dot_query__pb2 +from pyinjective.proto.injective.evm.v1 import tx_pb2 as injective_dot_evm_dot_v1_dot_tx__pb2 + + +class QueryStub(object): + """Query defines the gRPC querier service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Account = channel.unary_unary( + '/injective.evm.v1.Query/Account', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountResponse.FromString, + _registered_method=True) + self.CosmosAccount = channel.unary_unary( + '/injective.evm.v1.Query/CosmosAccount', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountResponse.FromString, + _registered_method=True) + self.ValidatorAccount = channel.unary_unary( + '/injective.evm.v1.Query/ValidatorAccount', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountResponse.FromString, + _registered_method=True) + self.Balance = channel.unary_unary( + '/injective.evm.v1.Query/Balance', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceResponse.FromString, + _registered_method=True) + self.Storage = channel.unary_unary( + '/injective.evm.v1.Query/Storage', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageResponse.FromString, + _registered_method=True) + self.Code = channel.unary_unary( + '/injective.evm.v1.Query/Code', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeResponse.FromString, + _registered_method=True) + self.Params = channel.unary_unary( + '/injective.evm.v1.Query/Params', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsResponse.FromString, + _registered_method=True) + self.EthCall = channel.unary_unary( + '/injective.evm.v1.Query/EthCall', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.FromString, + _registered_method=True) + self.EstimateGas = channel.unary_unary( + '/injective.evm.v1.Query/EstimateGas', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.EstimateGasResponse.FromString, + _registered_method=True) + self.TraceTx = channel.unary_unary( + '/injective.evm.v1.Query/TraceTx', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxResponse.FromString, + _registered_method=True) + self.TraceBlock = channel.unary_unary( + '/injective.evm.v1.Query/TraceBlock', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockResponse.FromString, + _registered_method=True) + self.TraceCall = channel.unary_unary( + '/injective.evm.v1.Query/TraceCall', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallResponse.FromString, + _registered_method=True) + self.BaseFee = channel.unary_unary( + '/injective.evm.v1.Query/BaseFee', + request_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeRequest.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Query defines the gRPC querier service. + """ + + def Account(self, request, context): + """Account queries an Ethereum account. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CosmosAccount(self, request, context): + """CosmosAccount queries an Ethereum account's Cosmos Address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ValidatorAccount(self, request, context): + """ValidatorAccount queries an Ethereum account's from a validator consensus + Address. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Balance(self, request, context): + """Balance queries the balance of a the EVM denomination for a single + EthAccount. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Storage(self, request, context): + """Storage queries the balance of all coins for a single account. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Code(self, request, context): + """Code queries the code of a single account. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Params(self, request, context): + """Params queries the parameters of x/evm module. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EthCall(self, request, context): + """EthCall implements the `eth_call` rpc api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EstimateGas(self, request, context): + """EstimateGas implements the `eth_estimateGas` rpc api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraceTx(self, request, context): + """TraceTx implements the `debug_traceTransaction` rpc api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraceBlock(self, request, context): + """TraceBlock implements the `debug_traceBlockByNumber` and + `debug_traceBlockByHash` rpc api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraceCall(self, request, context): + """TraceCall implements the `debug_traceCall` rpc api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BaseFee(self, request, context): + """BaseFee queries the base fee of the parent block of the current block, + it's similar to feemarket module's method, but also checks london hardfork + status. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Account': grpc.unary_unary_rpc_method_handler( + servicer.Account, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountResponse.SerializeToString, + ), + 'CosmosAccount': grpc.unary_unary_rpc_method_handler( + servicer.CosmosAccount, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountResponse.SerializeToString, + ), + 'ValidatorAccount': grpc.unary_unary_rpc_method_handler( + servicer.ValidatorAccount, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountResponse.SerializeToString, + ), + 'Balance': grpc.unary_unary_rpc_method_handler( + servicer.Balance, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceResponse.SerializeToString, + ), + 'Storage': grpc.unary_unary_rpc_method_handler( + servicer.Storage, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageResponse.SerializeToString, + ), + 'Code': grpc.unary_unary_rpc_method_handler( + servicer.Code, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeResponse.SerializeToString, + ), + 'Params': grpc.unary_unary_rpc_method_handler( + servicer.Params, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsResponse.SerializeToString, + ), + 'EthCall': grpc.unary_unary_rpc_method_handler( + servicer.EthCall, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.SerializeToString, + ), + 'EstimateGas': grpc.unary_unary_rpc_method_handler( + servicer.EstimateGas, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.EstimateGasResponse.SerializeToString, + ), + 'TraceTx': grpc.unary_unary_rpc_method_handler( + servicer.TraceTx, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxResponse.SerializeToString, + ), + 'TraceBlock': grpc.unary_unary_rpc_method_handler( + servicer.TraceBlock, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockResponse.SerializeToString, + ), + 'TraceCall': grpc.unary_unary_rpc_method_handler( + servicer.TraceCall, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallResponse.SerializeToString, + ), + 'BaseFee': grpc.unary_unary_rpc_method_handler( + servicer.BaseFee, + request_deserializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeRequest.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.evm.v1.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.evm.v1.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Query defines the gRPC querier service. + """ + + @staticmethod + def Account(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/Account', + injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryAccountResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CosmosAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/CosmosAccount', + injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryCosmosAccountResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ValidatorAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/ValidatorAccount', + injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryValidatorAccountResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Balance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/Balance', + injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryBalanceResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Storage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/Storage', + injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryStorageResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Code(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/Code', + injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryCodeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Params(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/Params', + injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EthCall(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/EthCall', + injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EstimateGas(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/EstimateGas', + injective_dot_evm_dot_v1_dot_query__pb2.EthCallRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.EstimateGasResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraceTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/TraceTx', + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceTxResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraceBlock(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/TraceBlock', + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceBlockResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraceCall(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/TraceCall', + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryTraceCallResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BaseFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Query/BaseFee', + injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeRequest.SerializeToString, + injective_dot_evm_dot_v1_dot_query__pb2.QueryBaseFeeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/evm/v1/state_pb2.py b/pyinjective/proto/injective/evm/v1/state_pb2.py new file mode 100644 index 00000000..62fc5fb5 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/state_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/state.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cinjective/evm/v1/state.proto\x12\x10injective.evm.v1\"/\n\x05State\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05valueB\xcf\x01\n\x14\x63om.injective.evm.v1B\nStateProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.state_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\nStateProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_STATE']._serialized_start=50 + _globals['_STATE']._serialized_end=97 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/state_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/state_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/state_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/trace_config_pb2.py b/pyinjective/proto/injective/evm/v1/trace_config_pb2.py new file mode 100644 index 00000000..a04062c2 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/trace_config_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/trace_config.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.evm.v1 import chain_config_pb2 as injective_dot_evm_dot_v1_dot_chain__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/evm/v1/trace_config.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\x1a#injective/evm/v1/chain_config.proto\"\x9a\x05\n\x0bTraceConfig\x12\x16\n\x06tracer\x18\x01 \x01(\tR\x06tracer\x12\x18\n\x07timeout\x18\x02 \x01(\tR\x07timeout\x12\x16\n\x06reexec\x18\x03 \x01(\x04R\x06reexec\x12\x35\n\rdisable_stack\x18\x05 \x01(\x08\x42\x10\xea\xde\x1f\x0c\x64isableStackR\x0c\x64isableStack\x12;\n\x0f\x64isable_storage\x18\x06 \x01(\x08\x42\x12\xea\xde\x1f\x0e\x64isableStorageR\x0e\x64isableStorage\x12\x14\n\x05\x64\x65\x62ug\x18\x08 \x01(\x08R\x05\x64\x65\x62ug\x12\x14\n\x05limit\x18\t \x01(\x05R\x05limit\x12;\n\toverrides\x18\n \x01(\x0b\x32\x1d.injective.evm.v1.ChainConfigR\toverrides\x12\x35\n\renable_memory\x18\x0b \x01(\x08\x42\x10\xea\xde\x1f\x0c\x65nableMemoryR\x0c\x65nableMemory\x12\x42\n\x12\x65nable_return_data\x18\x0c \x01(\x08\x42\x14\xea\xde\x1f\x10\x65nableReturnDataR\x10\x65nableReturnData\x12>\n\x12tracer_json_config\x18\r \x01(\tB\x10\xea\xde\x1f\x0ctracerConfigR\x10tracerJsonConfig\x12;\n\x0fstate_overrides\x18\x0e \x01(\x0c\x42\x12\xea\xde\x1f\x0estateOverridesR\x0estateOverrides\x12;\n\x0f\x62lock_overrides\x18\x0f \x01(\x0c\x42\x12\xea\xde\x1f\x0e\x62lockOverridesR\x0e\x62lockOverridesJ\x04\x08\x04\x10\x05J\x04\x08\x07\x10\x08R\x0e\x64isable_memoryR\x13\x64isable_return_dataB\xd5\x01\n\x14\x63om.injective.evm.v1B\x10TraceConfigProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.trace_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\020TraceConfigProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_TRACECONFIG'].fields_by_name['disable_stack']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['disable_stack']._serialized_options = b'\352\336\037\014disableStack' + _globals['_TRACECONFIG'].fields_by_name['disable_storage']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['disable_storage']._serialized_options = b'\352\336\037\016disableStorage' + _globals['_TRACECONFIG'].fields_by_name['enable_memory']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['enable_memory']._serialized_options = b'\352\336\037\014enableMemory' + _globals['_TRACECONFIG'].fields_by_name['enable_return_data']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['enable_return_data']._serialized_options = b'\352\336\037\020enableReturnData' + _globals['_TRACECONFIG'].fields_by_name['tracer_json_config']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['tracer_json_config']._serialized_options = b'\352\336\037\014tracerConfig' + _globals['_TRACECONFIG'].fields_by_name['state_overrides']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['state_overrides']._serialized_options = b'\352\336\037\016stateOverrides' + _globals['_TRACECONFIG'].fields_by_name['block_overrides']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['block_overrides']._serialized_options = b'\352\336\037\016blockOverrides' + _globals['_TRACECONFIG']._serialized_start=117 + _globals['_TRACECONFIG']._serialized_end=783 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/trace_config_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/trace_config_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/trace_config_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/transaction_logs_pb2.py b/pyinjective/proto/injective/evm/v1/transaction_logs_pb2.py new file mode 100644 index 00000000..35d1086f --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/transaction_logs_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/transaction_logs.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.injective.evm.v1 import log_pb2 as injective_dot_evm_dot_v1_dot_log__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/evm/v1/transaction_logs.proto\x12\x10injective.evm.v1\x1a\x1ainjective/evm/v1/log.proto\"P\n\x0fTransactionLogs\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12)\n\x04logs\x18\x02 \x03(\x0b\x32\x15.injective.evm.v1.LogR\x04logsB\xd9\x01\n\x14\x63om.injective.evm.v1B\x14TransactionLogsProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.transaction_logs_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\024TransactionLogsProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_TRANSACTIONLOGS']._serialized_start=89 + _globals['_TRANSACTIONLOGS']._serialized_end=169 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/transaction_logs_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/transaction_logs_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/transaction_logs_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/evm/v1/tx_pb2.py b/pyinjective/proto/injective/evm/v1/tx_pb2.py new file mode 100644 index 00000000..742b7236 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/tx_pb2.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/tx.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from pyinjective.proto.injective.evm.v1 import access_tuple_pb2 as injective_dot_evm_dot_v1_dot_access__tuple__pb2 +from pyinjective.proto.injective.evm.v1 import log_pb2 as injective_dot_evm_dot_v1_dot_log__pb2 +from pyinjective.proto.injective.evm.v1 import params_pb2 as injective_dot_evm_dot_v1_dot_params__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19injective/evm/v1/tx.proto\x12\x10injective.evm.v1\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a#injective/evm/v1/access_tuple.proto\x1a\x1ainjective/evm/v1/log.proto\x1a\x1dinjective/evm/v1/params.proto\"\x9d\x02\n\rMsgEthereumTx\x12\x45\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyB\x1b\xca\xb4-\x17injective.evm.v1.TxDataR\x04\x64\x61ta\x12\x19\n\x04size\x18\x02 \x01(\x01\x42\x05\xea\xde\x1f\x01-R\x04size\x12\x34\n\x0f\x64\x65precated_hash\x18\x03 \x01(\tB\x0b\xf2\xde\x1f\x07rlp:\"-\"R\x0e\x64\x65precatedHash\x12+\n\x0f\x64\x65precated_from\x18\x04 \x01(\tB\x02\x18\x01R\x0e\x64\x65precatedFrom\x12\x12\n\x04\x66rom\x18\x05 \x01(\x0cR\x04\x66rom\x12$\n\x03raw\x18\x06 \x01(\x0c\x42\x12\xc8\xde\x1f\x00\xda\xde\x1f\nEthereumTxR\x03raw:\r\x88\xa0\x1f\x00\x82\xe7\xb0*\x04\x66rom\"\xa2\x02\n\x08LegacyTx\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12\x36\n\tgas_price\x18\x02 \x01(\tB\x19\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x08gasPrice\x12\x1e\n\x03gas\x18\x03 \x01(\x04\x42\x0c\xe2\xde\x1f\x08GasLimitR\x03gas\x12\x0e\n\x02to\x18\x04 \x01(\tR\x02to\x12\x39\n\x05value\x18\x05 \x01(\tB#\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x06\x41mountR\x05value\x12\x12\n\x04\x64\x61ta\x18\x06 \x01(\x0cR\x04\x64\x61ta\x12\x0c\n\x01v\x18\x07 \x01(\x0cR\x01v\x12\x0c\n\x01r\x18\x08 \x01(\x0cR\x01r\x12\x0c\n\x01s\x18\t \x01(\x0cR\x01s:\x1f\x88\xa0\x1f\x00\xca\xb4-\x17injective.evm.v1.TxData\"\xcf\x03\n\x0c\x41\x63\x63\x65ssListTx\x12J\n\x08\x63hain_id\x18\x01 \x01(\tB/\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x07\x43hainID\xea\xde\x1f\x07\x63hainIDR\x07\x63hainId\x12\x14\n\x05nonce\x18\x02 \x01(\x04R\x05nonce\x12\x36\n\tgas_price\x18\x03 \x01(\tB\x19\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x08gasPrice\x12\x1e\n\x03gas\x18\x04 \x01(\x04\x42\x0c\xe2\xde\x1f\x08GasLimitR\x03gas\x12\x0e\n\x02to\x18\x05 \x01(\tR\x02to\x12\x39\n\x05value\x18\x06 \x01(\tB#\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x06\x41mountR\x05value\x12\x12\n\x04\x64\x61ta\x18\x07 \x01(\x0cR\x04\x64\x61ta\x12[\n\x08\x61\x63\x63\x65sses\x18\x08 \x03(\x0b\x32\x1d.injective.evm.v1.AccessTupleB \xc8\xde\x1f\x00\xea\xde\x1f\naccessList\xaa\xdf\x1f\nAccessListR\x08\x61\x63\x63\x65sses\x12\x0c\n\x01v\x18\t \x01(\x0cR\x01v\x12\x0c\n\x01r\x18\n \x01(\x0cR\x01r\x12\x0c\n\x01s\x18\x0b \x01(\x0cR\x01s:\x1f\x88\xa0\x1f\x00\xca\xb4-\x17injective.evm.v1.TxData\"\x8d\x04\n\x0c\x44ynamicFeeTx\x12J\n\x08\x63hain_id\x18\x01 \x01(\tB/\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x07\x43hainID\xea\xde\x1f\x07\x63hainIDR\x07\x63hainId\x12\x14\n\x05nonce\x18\x02 \x01(\x04R\x05nonce\x12\x39\n\x0bgas_tip_cap\x18\x03 \x01(\tB\x19\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\tgasTipCap\x12\x39\n\x0bgas_fee_cap\x18\x04 \x01(\tB\x19\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\tgasFeeCap\x12\x1e\n\x03gas\x18\x05 \x01(\x04\x42\x0c\xe2\xde\x1f\x08GasLimitR\x03gas\x12\x0e\n\x02to\x18\x06 \x01(\tR\x02to\x12\x39\n\x05value\x18\x07 \x01(\tB#\xda\xde\x1f\x15\x63osmossdk.io/math.Int\xe2\xde\x1f\x06\x41mountR\x05value\x12\x12\n\x04\x64\x61ta\x18\x08 \x01(\x0cR\x04\x64\x61ta\x12[\n\x08\x61\x63\x63\x65sses\x18\t \x03(\x0b\x32\x1d.injective.evm.v1.AccessTupleB \xc8\xde\x1f\x00\xea\xde\x1f\naccessList\xaa\xdf\x1f\nAccessListR\x08\x61\x63\x63\x65sses\x12\x0c\n\x01v\x18\n \x01(\x0cR\x01v\x12\x0c\n\x01r\x18\x0b \x01(\x0cR\x01r\x12\x0c\n\x01s\x18\x0c \x01(\x0cR\x01s:\x1f\x88\xa0\x1f\x00\xca\xb4-\x17injective.evm.v1.TxData\"\"\n\x1a\x45xtensionOptionsEthereumTx:\x04\x88\xa0\x1f\x00\"\xf1\x01\n\x15MsgEthereumTxResponse\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12)\n\x04logs\x18\x02 \x03(\x0b\x32\x15.injective.evm.v1.LogR\x04logs\x12\x10\n\x03ret\x18\x03 \x01(\x0cR\x03ret\x12\x19\n\x08vm_error\x18\x04 \x01(\tR\x07vmError\x12\x19\n\x08gas_used\x18\x05 \x01(\x04R\x07gasUsed\x12\x1d\n\nblock_hash\x18\x06 \x01(\x0cR\tblockHash\x12,\n\x12\x65xecution_gas_used\x18\x07 \x01(\x04R\x10\x65xecutionGasUsed:\x04\x88\xa0\x1f\x00\"\x91\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x36\n\x06params\x18\x02 \x01(\x0b\x32\x18.injective.evm.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:\x0e\x82\xe7\xb0*\tauthority\"\x19\n\x17MsgUpdateParamsResponse2\xe9\x01\n\x03Msg\x12}\n\nEthereumTx\x12\x1f.injective.evm.v1.MsgEthereumTx\x1a\'.injective.evm.v1.MsgEthereumTxResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1d/injective/evm/v1/ethereum_tx\x12\\\n\x0cUpdateParams\x12!.injective.evm.v1.MsgUpdateParams\x1a).injective.evm.v1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xcc\x01\n\x14\x63om.injective.evm.v1B\x07TxProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.tx_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\007TxProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_MSGETHEREUMTX'].fields_by_name['data']._loaded_options = None + _globals['_MSGETHEREUMTX'].fields_by_name['data']._serialized_options = b'\312\264-\027injective.evm.v1.TxData' + _globals['_MSGETHEREUMTX'].fields_by_name['size']._loaded_options = None + _globals['_MSGETHEREUMTX'].fields_by_name['size']._serialized_options = b'\352\336\037\001-' + _globals['_MSGETHEREUMTX'].fields_by_name['deprecated_hash']._loaded_options = None + _globals['_MSGETHEREUMTX'].fields_by_name['deprecated_hash']._serialized_options = b'\362\336\037\007rlp:\"-\"' + _globals['_MSGETHEREUMTX'].fields_by_name['deprecated_from']._loaded_options = None + _globals['_MSGETHEREUMTX'].fields_by_name['deprecated_from']._serialized_options = b'\030\001' + _globals['_MSGETHEREUMTX'].fields_by_name['raw']._loaded_options = None + _globals['_MSGETHEREUMTX'].fields_by_name['raw']._serialized_options = b'\310\336\037\000\332\336\037\nEthereumTx' + _globals['_MSGETHEREUMTX']._loaded_options = None + _globals['_MSGETHEREUMTX']._serialized_options = b'\210\240\037\000\202\347\260*\004from' + _globals['_LEGACYTX'].fields_by_name['gas_price']._loaded_options = None + _globals['_LEGACYTX'].fields_by_name['gas_price']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int' + _globals['_LEGACYTX'].fields_by_name['gas']._loaded_options = None + _globals['_LEGACYTX'].fields_by_name['gas']._serialized_options = b'\342\336\037\010GasLimit' + _globals['_LEGACYTX'].fields_by_name['value']._loaded_options = None + _globals['_LEGACYTX'].fields_by_name['value']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\006Amount' + _globals['_LEGACYTX']._loaded_options = None + _globals['_LEGACYTX']._serialized_options = b'\210\240\037\000\312\264-\027injective.evm.v1.TxData' + _globals['_ACCESSLISTTX'].fields_by_name['chain_id']._loaded_options = None + _globals['_ACCESSLISTTX'].fields_by_name['chain_id']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\007ChainID\352\336\037\007chainID' + _globals['_ACCESSLISTTX'].fields_by_name['gas_price']._loaded_options = None + _globals['_ACCESSLISTTX'].fields_by_name['gas_price']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int' + _globals['_ACCESSLISTTX'].fields_by_name['gas']._loaded_options = None + _globals['_ACCESSLISTTX'].fields_by_name['gas']._serialized_options = b'\342\336\037\010GasLimit' + _globals['_ACCESSLISTTX'].fields_by_name['value']._loaded_options = None + _globals['_ACCESSLISTTX'].fields_by_name['value']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\006Amount' + _globals['_ACCESSLISTTX'].fields_by_name['accesses']._loaded_options = None + _globals['_ACCESSLISTTX'].fields_by_name['accesses']._serialized_options = b'\310\336\037\000\352\336\037\naccessList\252\337\037\nAccessList' + _globals['_ACCESSLISTTX']._loaded_options = None + _globals['_ACCESSLISTTX']._serialized_options = b'\210\240\037\000\312\264-\027injective.evm.v1.TxData' + _globals['_DYNAMICFEETX'].fields_by_name['chain_id']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['chain_id']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\007ChainID\352\336\037\007chainID' + _globals['_DYNAMICFEETX'].fields_by_name['gas_tip_cap']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['gas_tip_cap']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int' + _globals['_DYNAMICFEETX'].fields_by_name['gas_fee_cap']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['gas_fee_cap']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int' + _globals['_DYNAMICFEETX'].fields_by_name['gas']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['gas']._serialized_options = b'\342\336\037\010GasLimit' + _globals['_DYNAMICFEETX'].fields_by_name['value']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['value']._serialized_options = b'\332\336\037\025cosmossdk.io/math.Int\342\336\037\006Amount' + _globals['_DYNAMICFEETX'].fields_by_name['accesses']._loaded_options = None + _globals['_DYNAMICFEETX'].fields_by_name['accesses']._serialized_options = b'\310\336\037\000\352\336\037\naccessList\252\337\037\nAccessList' + _globals['_DYNAMICFEETX']._loaded_options = None + _globals['_DYNAMICFEETX']._serialized_options = b'\210\240\037\000\312\264-\027injective.evm.v1.TxData' + _globals['_EXTENSIONOPTIONSETHEREUMTX']._loaded_options = None + _globals['_EXTENSIONOPTIONSETHEREUMTX']._serialized_options = b'\210\240\037\000' + _globals['_MSGETHEREUMTXRESPONSE']._loaded_options = None + _globals['_MSGETHEREUMTXRESPONSE']._serialized_options = b'\210\240\037\000' + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATEPARAMS']._loaded_options = None + _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority' + _globals['_MSG']._loaded_options = None + _globals['_MSG']._serialized_options = b'\200\347\260*\001' + _globals['_MSG'].methods_by_name['EthereumTx']._loaded_options = None + _globals['_MSG'].methods_by_name['EthereumTx']._serialized_options = b'\202\323\344\223\002\037\"\035/injective/evm/v1/ethereum_tx' + _globals['_MSGETHEREUMTX']._serialized_start=275 + _globals['_MSGETHEREUMTX']._serialized_end=560 + _globals['_LEGACYTX']._serialized_start=563 + _globals['_LEGACYTX']._serialized_end=853 + _globals['_ACCESSLISTTX']._serialized_start=856 + _globals['_ACCESSLISTTX']._serialized_end=1319 + _globals['_DYNAMICFEETX']._serialized_start=1322 + _globals['_DYNAMICFEETX']._serialized_end=1847 + _globals['_EXTENSIONOPTIONSETHEREUMTX']._serialized_start=1849 + _globals['_EXTENSIONOPTIONSETHEREUMTX']._serialized_end=1883 + _globals['_MSGETHEREUMTXRESPONSE']._serialized_start=1886 + _globals['_MSGETHEREUMTXRESPONSE']._serialized_end=2127 + _globals['_MSGUPDATEPARAMS']._serialized_start=2130 + _globals['_MSGUPDATEPARAMS']._serialized_end=2275 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2277 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2302 + _globals['_MSG']._serialized_start=2305 + _globals['_MSG']._serialized_end=2538 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/tx_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/tx_pb2_grpc.py new file mode 100644 index 00000000..1c038d81 --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/tx_pb2_grpc.py @@ -0,0 +1,127 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.evm.v1 import tx_pb2 as injective_dot_evm_dot_v1_dot_tx__pb2 + + +class MsgStub(object): + """Msg defines the evm Msg service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.EthereumTx = channel.unary_unary( + '/injective.evm.v1.Msg/EthereumTx', + request_serializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTx.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.FromString, + _registered_method=True) + self.UpdateParams = channel.unary_unary( + '/injective.evm.v1.Msg/UpdateParams', + request_serializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + response_deserializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + _registered_method=True) + + +class MsgServicer(object): + """Msg defines the evm Msg service. + """ + + def EthereumTx(self, request, context): + """EthereumTx defines a method submitting Ethereum transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateParams(self, request, context): + """UpdateParams defined a governance operation for updating the x/evm module + parameters. The authority is hard-coded to the Cosmos SDK x/gov module + account + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_MsgServicer_to_server(servicer, server): + rpc_method_handlers = { + 'EthereumTx': grpc.unary_unary_rpc_method_handler( + servicer.EthereumTx, + request_deserializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTx.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.SerializeToString, + ), + 'UpdateParams': grpc.unary_unary_rpc_method_handler( + servicer.UpdateParams, + request_deserializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParams.FromString, + response_serializer=injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.evm.v1.Msg', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.evm.v1.Msg', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Msg(object): + """Msg defines the evm Msg service. + """ + + @staticmethod + def EthereumTx(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Msg/EthereumTx', + injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTx.SerializeToString, + injective_dot_evm_dot_v1_dot_tx__pb2.MsgEthereumTxResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateParams(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.evm.v1.Msg/UpdateParams', + injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + injective_dot_evm_dot_v1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/evm/v1/tx_result_pb2.py b/pyinjective/proto/injective/evm/v1/tx_result_pb2.py new file mode 100644 index 00000000..a615605b --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/tx_result_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/evm/v1/tx_result.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.evm.v1 import transaction_logs_pb2 as injective_dot_evm_dot_v1_dot_transaction__logs__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n injective/evm/v1/tx_result.proto\x12\x10injective.evm.v1\x1a\x14gogoproto/gogo.proto\x1a\'injective/evm/v1/transaction_logs.proto\"\x8b\x02\n\x08TxResult\x12\x46\n\x10\x63ontract_address\x18\x01 \x01(\tB\x1b\xf2\xde\x1f\x17yaml:\"contract_address\"R\x0f\x63ontractAddress\x12\x14\n\x05\x62loom\x18\x02 \x01(\x0cR\x05\x62loom\x12R\n\x07tx_logs\x18\x03 \x01(\x0b\x32!.injective.evm.v1.TransactionLogsB\x16\xc8\xde\x1f\x00\xf2\xde\x1f\x0eyaml:\"tx_logs\"R\x06txLogs\x12\x10\n\x03ret\x18\x04 \x01(\x0cR\x03ret\x12\x1a\n\x08reverted\x18\x05 \x01(\x08R\x08reverted\x12\x19\n\x08gas_used\x18\x06 \x01(\x04R\x07gasUsed:\x04\x88\xa0\x1f\x00\x42\xd2\x01\n\x14\x63om.injective.evm.v1B\rTxResultProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\xa2\x02\x03IEX\xaa\x02\x10Injective.Evm.V1\xca\x02\x10Injective\\Evm\\V1\xe2\x02\x1cInjective\\Evm\\V1\\GPBMetadata\xea\x02\x12Injective::Evm::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.evm.v1.tx_result_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\024com.injective.evm.v1B\rTxResultProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/evm/types\242\002\003IEX\252\002\020Injective.Evm.V1\312\002\020Injective\\Evm\\V1\342\002\034Injective\\Evm\\V1\\GPBMetadata\352\002\022Injective::Evm::V1' + _globals['_TXRESULT'].fields_by_name['contract_address']._loaded_options = None + _globals['_TXRESULT'].fields_by_name['contract_address']._serialized_options = b'\362\336\037\027yaml:\"contract_address\"' + _globals['_TXRESULT'].fields_by_name['tx_logs']._loaded_options = None + _globals['_TXRESULT'].fields_by_name['tx_logs']._serialized_options = b'\310\336\037\000\362\336\037\016yaml:\"tx_logs\"' + _globals['_TXRESULT']._loaded_options = None + _globals['_TXRESULT']._serialized_options = b'\210\240\037\000' + _globals['_TXRESULT']._serialized_start=118 + _globals['_TXRESULT']._serialized_end=385 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/evm/v1/tx_result_pb2_grpc.py b/pyinjective/proto/injective/evm/v1/tx_result_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/evm/v1/tx_result_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v1beta1/authz_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/authz_pb2.py index 6fa71602..1805cdca 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/authz_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/authz_pb2.py @@ -14,9 +14,11 @@ from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/authz.proto\x12\x1ainjective.exchange.v1beta1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\"\x99\x01\n\x19\x43reateSpotLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:8\xca\xb4-\rAuthorization\x8a\xe7\xb0*\"exchange/CreateSpotLimitOrderAuthz\"\x9b\x01\n\x1a\x43reateSpotMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CreateSpotMarketOrderAuthz\"\xa5\x01\n\x1f\x42\x61tchCreateSpotLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/BatchCreateSpotLimitOrdersAuthz\"\x8f\x01\n\x14\x43\x61ncelSpotOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:3\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1d\x65xchange/CancelSpotOrderAuthz\"\x9b\x01\n\x1a\x42\x61tchCancelSpotOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/BatchCancelSpotOrdersAuthz\"\xa5\x01\n\x1f\x43reateDerivativeLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/CreateDerivativeLimitOrderAuthz\"\xa7\x01\n CreateDerivativeMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/CreateDerivativeMarketOrderAuthz\"\xb1\x01\n%BatchCreateDerivativeLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:D\xca\xb4-\rAuthorization\x8a\xe7\xb0*.exchange/BatchCreateDerivativeLimitOrdersAuthz\"\x9b\x01\n\x1a\x43\x61ncelDerivativeOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CancelDerivativeOrderAuthz\"\xa7\x01\n BatchCancelDerivativeOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/BatchCancelDerivativeOrdersAuthz\"\xc6\x01\n\x16\x42\x61tchUpdateOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12!\n\x0cspot_markets\x18\x02 \x03(\tR\x0bspotMarkets\x12-\n\x12\x64\x65rivative_markets\x18\x03 \x03(\tR\x11\x64\x65rivativeMarkets:5\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1f\x65xchange/BatchUpdateOrdersAuthzB\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nAuthzProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/authz.proto\x12\x1ainjective.exchange.v1beta1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\"\x99\x01\n\x19\x43reateSpotLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:8\xca\xb4-\rAuthorization\x8a\xe7\xb0*\"exchange/CreateSpotLimitOrderAuthz\"\x9b\x01\n\x1a\x43reateSpotMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CreateSpotMarketOrderAuthz\"\xa5\x01\n\x1f\x42\x61tchCreateSpotLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/BatchCreateSpotLimitOrdersAuthz\"\x8f\x01\n\x14\x43\x61ncelSpotOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:3\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1d\x65xchange/CancelSpotOrderAuthz\"\x9b\x01\n\x1a\x42\x61tchCancelSpotOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/BatchCancelSpotOrdersAuthz\"\xa5\x01\n\x1f\x43reateDerivativeLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/CreateDerivativeLimitOrderAuthz\"\xa7\x01\n CreateDerivativeMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/CreateDerivativeMarketOrderAuthz\"\xb1\x01\n%BatchCreateDerivativeLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:D\xca\xb4-\rAuthorization\x8a\xe7\xb0*.exchange/BatchCreateDerivativeLimitOrdersAuthz\"\x9b\x01\n\x1a\x43\x61ncelDerivativeOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CancelDerivativeOrderAuthz\"\xa7\x01\n BatchCancelDerivativeOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/BatchCancelDerivativeOrdersAuthz\"\xc6\x01\n\x16\x42\x61tchUpdateOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12!\n\x0cspot_markets\x18\x02 \x03(\tR\x0bspotMarkets\x12-\n\x12\x64\x65rivative_markets\x18\x03 \x03(\tR\x11\x64\x65rivativeMarkets:5\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1f\x65xchange/BatchUpdateOrdersAuthz\"\x89\x02\n\x1cGenericExchangeAuthorization\x12\x10\n\x03msg\x18\x01 \x01(\tR\x03msg\x12\x82\x01\n\x0bspend_limit\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinBF\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.Coins\x9a\xe7\xb0*\x0clegacy_coins\xa8\xe7\xb0*\x01R\nspendLimit:R\xca\xb4-\"cosmos.authz.v1beta1.Authorization\x8a\xe7\xb0*\'cosmos-sdk/GenericExchangeAuthorizationB\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nAuthzProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -46,26 +48,32 @@ _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*)exchange/BatchCancelDerivativeOrdersAuthz' _globals['_BATCHUPDATEORDERSAUTHZ']._loaded_options = None _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*\037exchange/BatchUpdateOrdersAuthz' - _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_start=117 - _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_end=270 - _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_start=273 - _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_end=428 - _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_start=431 - _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_end=596 - _globals['_CANCELSPOTORDERAUTHZ']._serialized_start=599 - _globals['_CANCELSPOTORDERAUTHZ']._serialized_end=742 - _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_start=745 - _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_end=900 - _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_start=903 - _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_end=1068 - _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_start=1071 - _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_end=1238 - _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_start=1241 - _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_end=1418 - _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_start=1421 - _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_end=1576 - _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_start=1579 - _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_end=1746 - _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_start=1749 - _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_end=1947 + _globals['_GENERICEXCHANGEAUTHORIZATION'].fields_by_name['spend_limit']._loaded_options = None + _globals['_GENERICEXCHANGEAUTHORIZATION'].fields_by_name['spend_limit']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins\232\347\260*\014legacy_coins\250\347\260*\001' + _globals['_GENERICEXCHANGEAUTHORIZATION']._loaded_options = None + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_options = b'\312\264-\"cosmos.authz.v1beta1.Authorization\212\347\260*\'cosmos-sdk/GenericExchangeAuthorization' + _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_start=171 + _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_end=324 + _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_start=327 + _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_end=482 + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_start=485 + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_end=650 + _globals['_CANCELSPOTORDERAUTHZ']._serialized_start=653 + _globals['_CANCELSPOTORDERAUTHZ']._serialized_end=796 + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_start=799 + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_end=954 + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_start=957 + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_end=1122 + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_start=1125 + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_end=1292 + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_start=1295 + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_end=1472 + _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_start=1475 + _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_end=1630 + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_start=1633 + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_end=1800 + _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_start=1803 + _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_end=2001 + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_start=2004 + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_end=2269 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/events_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/events_pb2.py index a500fb8d..99591606 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/events_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/events_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as injective_dot_exchange_dot_v1beta1_dot_exchange__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/exchange/v1beta1/events.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\xdc\x01\n\x17\x45ventBatchSpotExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12O\n\rexecutionType\x18\x03 \x01(\x0e\x32).injective.exchange.v1beta1.ExecutionTypeR\rexecutionType\x12<\n\x06trades\x18\x04 \x03(\x0b\x32$.injective.exchange.v1beta1.TradeLogR\x06trades\"\xe7\x02\n\x1d\x45ventBatchDerivativeExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12%\n\x0eis_liquidation\x18\x03 \x01(\x08R\risLiquidation\x12R\n\x12\x63umulative_funding\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12O\n\rexecutionType\x18\x05 \x01(\x0e\x32).injective.exchange.v1beta1.ExecutionTypeR\rexecutionType\x12\x46\n\x06trades\x18\x06 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativeTradeLogR\x06trades\"\xc2\x02\n\x1d\x45ventLostFundsFromLiquidation\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12x\n\'lost_funds_from_available_during_payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"lostFundsFromAvailableDuringPayout\x12\x65\n\x1dlost_funds_from_order_cancels\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19lostFundsFromOrderCancels\"\x89\x01\n\x1c\x45ventBatchDerivativePosition\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\tpositions\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.SubaccountPositionR\tpositions\"\xbb\x01\n\x1b\x45ventDerivativeMarketPaused\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12.\n\x13total_missing_funds\x18\x03 \x01(\tR\x11totalMissingFunds\x12,\n\x12missing_funds_rate\x18\x04 \x01(\tR\x10missingFundsRate\"\x8f\x01\n\x1b\x45ventMarketBeyondBankruptcy\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12\x30\n\x14missing_market_funds\x18\x03 \x01(\tR\x12missingMarketFunds\"\x88\x01\n\x18\x45ventAllPositionsHaircut\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12,\n\x12missing_funds_rate\x18\x03 \x01(\tR\x10missingFundsRate\"o\n\x1e\x45ventBinaryOptionsMarketUpdate\x12M\n\x06market\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketB\x04\xc8\xde\x1f\x00R\x06market\"\xc9\x01\n\x12\x45ventNewSpotOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12I\n\nbuy_orders\x18\x02 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\tbuyOrders\x12K\n\x0bsell_orders\x18\x03 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\nsellOrders\"\xdb\x01\n\x18\x45ventNewDerivativeOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12O\n\nbuy_orders\x18\x02 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\tbuyOrders\x12Q\n\x0bsell_orders\x18\x03 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\nsellOrders\"{\n\x14\x45ventCancelSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"]\n\x15\x45ventSpotMarketUpdate\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketB\x04\xc8\xde\x1f\x00R\x06market\"\xa7\x02\n\x1a\x45ventPerpetualMarketUpdate\x12J\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12i\n\x15perpetual_market_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x01R\x13perpetualMarketInfo\x12R\n\x07\x66unding\x18\x03 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x01R\x07\x66unding\"\xe4\x01\n\x1e\x45ventExpiryFuturesMarketUpdate\x12J\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12v\n\x1a\x65xpiry_futures_market_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x01R\x17\x65xpiryFuturesMarketInfo\"\xcc\x02\n!EventPerpetualMarketFundingUpdate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12R\n\x07\x66unding\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x07\x66unding\x12*\n\x11is_hourly_funding\x18\x03 \x01(\x08R\x0fisHourlyFunding\x12\x46\n\x0c\x66unding_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x66undingRate\x12\x42\n\nmark_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\"\x97\x01\n\x16\x45ventSubaccountDeposit\x12\x1f\n\x0bsrc_address\x18\x01 \x01(\tR\nsrcAddress\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x98\x01\n\x17\x45ventSubaccountWithdraw\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x1f\n\x0b\x64st_address\x18\x02 \x01(\tR\ndstAddress\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\xb1\x01\n\x1e\x45ventSubaccountBalanceTransfer\x12*\n\x11src_subaccount_id\x18\x01 \x01(\tR\x0fsrcSubaccountId\x12*\n\x11\x64st_subaccount_id\x18\x02 \x01(\tR\x0f\x64stSubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"m\n\x17\x45ventBatchDepositUpdate\x12R\n\x0f\x64\x65posit_updates\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DepositUpdateR\x0e\x64\x65positUpdates\"\xc7\x01\n\x1b\x44\x65rivativeMarketOrderCancel\x12Z\n\x0cmarket_order\x18\x01 \x01(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\x12L\n\x0f\x63\x61ncel_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x63\x61ncelQuantity\"\xa7\x02\n\x1a\x45ventCancelDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12W\n\x0blimit_order\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12m\n\x13market_order_cancel\x18\x04 \x01(\x0b\x32\x37.injective.exchange.v1beta1.DerivativeMarketOrderCancelB\x04\xc8\xde\x1f\x01R\x11marketOrderCancel\"g\n\x18\x45ventFeeDiscountSchedule\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule\"\xe2\x01\n EventTradingRewardCampaignUpdate\x12Z\n\rcampaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools\"u\n\x1e\x45ventTradingRewardDistribution\x12S\n\x0f\x61\x63\x63ount_rewards\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.AccountRewardsR\x0e\x61\x63\x63ountRewards\"\xb5\x01\n\"EventNewConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderR\x05order\x12\x12\n\x04hash\x18\x03 \x01(\x0cR\x04hash\x12\x1b\n\tis_market\x18\x04 \x01(\x08R\x08isMarket\"\x9f\x02\n%EventCancelConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12W\n\x0blimit_order\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12Z\n\x0cmarket_order\x18\x04 \x01(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\"\xfb\x01\n&EventConditionalDerivativeOrderTrigger\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12&\n\x0eisLimitTrigger\x18\x02 \x01(\x08R\x0eisLimitTrigger\x12\x30\n\x14triggered_order_hash\x18\x03 \x01(\x0cR\x12triggeredOrderHash\x12*\n\x11placed_order_hash\x18\x04 \x01(\x0cR\x0fplacedOrderHash\x12.\n\x13triggered_order_cid\x18\x05 \x01(\tR\x11triggeredOrderCid\"l\n\x0e\x45ventOrderFail\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0cR\x07\x61\x63\x63ount\x12\x16\n\x06hashes\x18\x02 \x03(\x0cR\x06hashes\x12\x14\n\x05\x66lags\x18\x03 \x03(\rR\x05\x66lags\x12\x12\n\x04\x63ids\x18\x04 \x03(\tR\x04\x63ids\"\x94\x01\n+EventAtomicMarketOrderFeeMultipliersUpdated\x12\x65\n\x16market_fee_multipliers\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers\"\xc2\x01\n\x14\x45ventOrderbookUpdate\x12N\n\x0cspot_updates\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.OrderbookUpdateR\x0bspotUpdates\x12Z\n\x12\x64\x65rivative_updates\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.OrderbookUpdateR\x11\x64\x65rivativeUpdates\"h\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x43\n\torderbook\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"|\n\x18\x45ventGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants\"\x81\x01\n\x14\x45ventGrantActivation\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"G\n\x11\x45ventInvalidGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\"\xab\x01\n\x14\x45ventOrderCancelFail\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scriptionB\x87\x02\n\x1e\x63om.injective.exchange.v1beta1B\x0b\x45ventsProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/exchange/v1beta1/events.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\xdc\x01\n\x17\x45ventBatchSpotExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12O\n\rexecutionType\x18\x03 \x01(\x0e\x32).injective.exchange.v1beta1.ExecutionTypeR\rexecutionType\x12<\n\x06trades\x18\x04 \x03(\x0b\x32$.injective.exchange.v1beta1.TradeLogR\x06trades\"\xe7\x02\n\x1d\x45ventBatchDerivativeExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12%\n\x0eis_liquidation\x18\x03 \x01(\x08R\risLiquidation\x12R\n\x12\x63umulative_funding\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12O\n\rexecutionType\x18\x05 \x01(\x0e\x32).injective.exchange.v1beta1.ExecutionTypeR\rexecutionType\x12\x46\n\x06trades\x18\x06 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativeTradeLogR\x06trades\"\xc2\x02\n\x1d\x45ventLostFundsFromLiquidation\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12x\n\'lost_funds_from_available_during_payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"lostFundsFromAvailableDuringPayout\x12\x65\n\x1dlost_funds_from_order_cancels\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19lostFundsFromOrderCancels\"\xe8\x01\n&EventLostFundsFromCrossPoolLiquidation\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12x\n\'lost_funds_from_available_during_payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"lostFundsFromAvailableDuringPayout\"\x89\x01\n\x1c\x45ventBatchDerivativePosition\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\tpositions\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.SubaccountPositionR\tpositions\"\xbb\x01\n\x1b\x45ventDerivativeMarketPaused\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12.\n\x13total_missing_funds\x18\x03 \x01(\tR\x11totalMissingFunds\x12,\n\x12missing_funds_rate\x18\x04 \x01(\tR\x10missingFundsRate\"P\n\x19\x45ventSettledMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"S\n\x1c\x45ventNotSettledMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x8f\x01\n\x1b\x45ventMarketBeyondBankruptcy\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12\x30\n\x14missing_market_funds\x18\x03 \x01(\tR\x12missingMarketFunds\"\x88\x01\n\x18\x45ventAllPositionsHaircut\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12,\n\x12missing_funds_rate\x18\x03 \x01(\tR\x10missingFundsRate\"o\n\x1e\x45ventBinaryOptionsMarketUpdate\x12M\n\x06market\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketB\x04\xc8\xde\x1f\x00R\x06market\"\xc9\x01\n\x12\x45ventNewSpotOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12I\n\nbuy_orders\x18\x02 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\tbuyOrders\x12K\n\x0bsell_orders\x18\x03 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\nsellOrders\"\xdb\x01\n\x18\x45ventNewDerivativeOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12O\n\nbuy_orders\x18\x02 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\tbuyOrders\x12Q\n\x0bsell_orders\x18\x03 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\nsellOrders\"{\n\x14\x45ventCancelSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"]\n\x15\x45ventSpotMarketUpdate\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketB\x04\xc8\xde\x1f\x00R\x06market\"\xa7\x02\n\x1a\x45ventPerpetualMarketUpdate\x12J\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12i\n\x15perpetual_market_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x01R\x13perpetualMarketInfo\x12R\n\x07\x66unding\x18\x03 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x01R\x07\x66unding\"\xe4\x01\n\x1e\x45ventExpiryFuturesMarketUpdate\x12J\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12v\n\x1a\x65xpiry_futures_market_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x01R\x17\x65xpiryFuturesMarketInfo\"\xcc\x02\n!EventPerpetualMarketFundingUpdate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12R\n\x07\x66unding\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x07\x66unding\x12*\n\x11is_hourly_funding\x18\x03 \x01(\x08R\x0fisHourlyFunding\x12\x46\n\x0c\x66unding_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x66undingRate\x12\x42\n\nmark_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\"\x97\x01\n\x16\x45ventSubaccountDeposit\x12\x1f\n\x0bsrc_address\x18\x01 \x01(\tR\nsrcAddress\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x98\x01\n\x17\x45ventSubaccountWithdraw\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x1f\n\x0b\x64st_address\x18\x02 \x01(\tR\ndstAddress\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\xb1\x01\n\x1e\x45ventSubaccountBalanceTransfer\x12*\n\x11src_subaccount_id\x18\x01 \x01(\tR\x0fsrcSubaccountId\x12*\n\x11\x64st_subaccount_id\x18\x02 \x01(\tR\x0f\x64stSubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"m\n\x17\x45ventBatchDepositUpdate\x12R\n\x0f\x64\x65posit_updates\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DepositUpdateR\x0e\x64\x65positUpdates\"\xc7\x01\n\x1b\x44\x65rivativeMarketOrderCancel\x12Z\n\x0cmarket_order\x18\x01 \x01(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\x12L\n\x0f\x63\x61ncel_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x63\x61ncelQuantity\"\xa7\x02\n\x1a\x45ventCancelDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12W\n\x0blimit_order\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12m\n\x13market_order_cancel\x18\x04 \x01(\x0b\x32\x37.injective.exchange.v1beta1.DerivativeMarketOrderCancelB\x04\xc8\xde\x1f\x01R\x11marketOrderCancel\"g\n\x18\x45ventFeeDiscountSchedule\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule\"\xe2\x01\n EventTradingRewardCampaignUpdate\x12Z\n\rcampaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools\"u\n\x1e\x45ventTradingRewardDistribution\x12S\n\x0f\x61\x63\x63ount_rewards\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.AccountRewardsR\x0e\x61\x63\x63ountRewards\"\xb5\x01\n\"EventNewConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderR\x05order\x12\x12\n\x04hash\x18\x03 \x01(\x0cR\x04hash\x12\x1b\n\tis_market\x18\x04 \x01(\x08R\x08isMarket\"\x9f\x02\n%EventCancelConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12W\n\x0blimit_order\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12Z\n\x0cmarket_order\x18\x04 \x01(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\"\xfb\x01\n&EventConditionalDerivativeOrderTrigger\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12&\n\x0eisLimitTrigger\x18\x02 \x01(\x08R\x0eisLimitTrigger\x12\x30\n\x14triggered_order_hash\x18\x03 \x01(\x0cR\x12triggeredOrderHash\x12*\n\x11placed_order_hash\x18\x04 \x01(\x0cR\x0fplacedOrderHash\x12.\n\x13triggered_order_cid\x18\x05 \x01(\tR\x11triggeredOrderCid\"l\n\x0e\x45ventOrderFail\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0cR\x07\x61\x63\x63ount\x12\x16\n\x06hashes\x18\x02 \x03(\x0cR\x06hashes\x12\x14\n\x05\x66lags\x18\x03 \x03(\rR\x05\x66lags\x12\x12\n\x04\x63ids\x18\x04 \x03(\tR\x04\x63ids\"\x94\x01\n+EventAtomicMarketOrderFeeMultipliersUpdated\x12\x65\n\x16market_fee_multipliers\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers\"\xc2\x01\n\x14\x45ventOrderbookUpdate\x12N\n\x0cspot_updates\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.OrderbookUpdateR\x0bspotUpdates\x12Z\n\x12\x64\x65rivative_updates\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.OrderbookUpdateR\x11\x64\x65rivativeUpdates\"h\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x43\n\torderbook\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"|\n\x18\x45ventGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants\"\x81\x01\n\x14\x45ventGrantActivation\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"G\n\x11\x45ventInvalidGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\"\xab\x01\n\x14\x45ventOrderCancelFail\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scriptionB\x87\x02\n\x1e\x63om.injective.exchange.v1beta1B\x0b\x45ventsProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,6 +32,8 @@ _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_order_cancels']._loaded_options = None _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_order_cancels']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._loaded_options = None + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_EVENTBINARYOPTIONSMARKETUPDATE'].fields_by_name['market']._loaded_options = None _globals['_EVENTBINARYOPTIONSMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' _globals['_EVENTCANCELSPOTORDER'].fields_by_name['order']._loaded_options = None @@ -80,70 +82,76 @@ _globals['_EVENTBATCHDERIVATIVEEXECUTION']._serialized_end=790 _globals['_EVENTLOSTFUNDSFROMLIQUIDATION']._serialized_start=793 _globals['_EVENTLOSTFUNDSFROMLIQUIDATION']._serialized_end=1115 - _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_start=1118 - _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_end=1255 - _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_start=1258 - _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_end=1445 - _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_start=1448 - _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_end=1591 - _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_start=1594 - _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_end=1730 - _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_start=1732 - _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_end=1843 - _globals['_EVENTNEWSPOTORDERS']._serialized_start=1846 - _globals['_EVENTNEWSPOTORDERS']._serialized_end=2047 - _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_start=2050 - _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_end=2269 - _globals['_EVENTCANCELSPOTORDER']._serialized_start=2271 - _globals['_EVENTCANCELSPOTORDER']._serialized_end=2394 - _globals['_EVENTSPOTMARKETUPDATE']._serialized_start=2396 - _globals['_EVENTSPOTMARKETUPDATE']._serialized_end=2489 - _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_start=2492 - _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_end=2787 - _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_start=2790 - _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_end=3018 - _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_start=3021 - _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_end=3353 - _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_start=3356 - _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_end=3507 - _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_start=3510 - _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_end=3662 - _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_start=3665 - _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_end=3842 - _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_start=3844 - _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_end=3953 - _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_start=3956 - _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_end=4155 - _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_start=4158 - _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_end=4453 - _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_start=4455 - _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_end=4558 - _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_start=4561 - _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_end=4787 - _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_start=4789 - _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_end=4906 - _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_start=4909 - _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_end=5090 - _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_start=5093 - _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_end=5380 - _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_start=5383 - _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_end=5634 - _globals['_EVENTORDERFAIL']._serialized_start=5636 - _globals['_EVENTORDERFAIL']._serialized_end=5744 - _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_start=5747 - _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_end=5895 - _globals['_EVENTORDERBOOKUPDATE']._serialized_start=5898 - _globals['_EVENTORDERBOOKUPDATE']._serialized_end=6092 - _globals['_ORDERBOOKUPDATE']._serialized_start=6094 - _globals['_ORDERBOOKUPDATE']._serialized_end=6198 - _globals['_ORDERBOOK']._serialized_start=6201 - _globals['_ORDERBOOK']._serialized_end=6375 - _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_start=6377 - _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_end=6501 - _globals['_EVENTGRANTACTIVATION']._serialized_start=6504 - _globals['_EVENTGRANTACTIVATION']._serialized_end=6633 - _globals['_EVENTINVALIDGRANT']._serialized_start=6635 - _globals['_EVENTINVALIDGRANT']._serialized_end=6706 - _globals['_EVENTORDERCANCELFAIL']._serialized_start=6709 - _globals['_EVENTORDERCANCELFAIL']._serialized_end=6880 + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION']._serialized_start=1118 + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION']._serialized_end=1350 + _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_start=1353 + _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_end=1490 + _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_start=1493 + _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_end=1680 + _globals['_EVENTSETTLEDMARKETBALANCE']._serialized_start=1682 + _globals['_EVENTSETTLEDMARKETBALANCE']._serialized_end=1762 + _globals['_EVENTNOTSETTLEDMARKETBALANCE']._serialized_start=1764 + _globals['_EVENTNOTSETTLEDMARKETBALANCE']._serialized_end=1847 + _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_start=1850 + _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_end=1993 + _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_start=1996 + _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_end=2132 + _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_start=2134 + _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_end=2245 + _globals['_EVENTNEWSPOTORDERS']._serialized_start=2248 + _globals['_EVENTNEWSPOTORDERS']._serialized_end=2449 + _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_start=2452 + _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_end=2671 + _globals['_EVENTCANCELSPOTORDER']._serialized_start=2673 + _globals['_EVENTCANCELSPOTORDER']._serialized_end=2796 + _globals['_EVENTSPOTMARKETUPDATE']._serialized_start=2798 + _globals['_EVENTSPOTMARKETUPDATE']._serialized_end=2891 + _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_start=2894 + _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_end=3189 + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_start=3192 + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_end=3420 + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_start=3423 + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_end=3755 + _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_start=3758 + _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_end=3909 + _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_start=3912 + _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_end=4064 + _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_start=4067 + _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_end=4244 + _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_start=4246 + _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_end=4355 + _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_start=4358 + _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_end=4557 + _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_start=4560 + _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_end=4855 + _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_start=4857 + _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_end=4960 + _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_start=4963 + _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_end=5189 + _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_start=5191 + _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_end=5308 + _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_start=5311 + _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_end=5492 + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_start=5495 + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_end=5782 + _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_start=5785 + _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_end=6036 + _globals['_EVENTORDERFAIL']._serialized_start=6038 + _globals['_EVENTORDERFAIL']._serialized_end=6146 + _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_start=6149 + _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_end=6297 + _globals['_EVENTORDERBOOKUPDATE']._serialized_start=6300 + _globals['_EVENTORDERBOOKUPDATE']._serialized_end=6494 + _globals['_ORDERBOOKUPDATE']._serialized_start=6496 + _globals['_ORDERBOOKUPDATE']._serialized_end=6600 + _globals['_ORDERBOOK']._serialized_start=6603 + _globals['_ORDERBOOK']._serialized_end=6777 + _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_start=6779 + _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_end=6903 + _globals['_EVENTGRANTACTIVATION']._serialized_start=6906 + _globals['_EVENTGRANTACTIVATION']._serialized_end=7035 + _globals['_EVENTINVALIDGRANT']._serialized_start=7037 + _globals['_EVENTINVALIDGRANT']._serialized_end=7108 + _globals['_EVENTORDERCANCELFAIL']._serialized_start=7111 + _globals['_EVENTORDERCANCELFAIL']._serialized_end=7282 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py index f837770f..454d6137 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdd\x15\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12L\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\xec\x08\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xd7\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xec\x05\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\xcd\x02\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xaf\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdb\x02\n\x0fOpenNotionalCap\x12\x8a\x01\n\x08uncapped\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.OpenNotionalCapUncappedB7\xb2\xe7\xb0*2injective.exchange.v1beta1.OpenNotionalCapUncappedH\x00R\x08uncapped\x12\x82\x01\n\x06\x63\x61pped\x18\x02 \x01(\x0b\x32\x31.injective.exchange.v1beta1.OpenNotionalCapCappedB5\xb2\xe7\xb0*0injective.exchange.v1beta1.OpenNotionalCapCappedH\x00R\x06\x63\x61pped:/\x8a\xe7\xb0**injective.exchange.v1beta1.OpenNotionalCapB\x05\n\x03\x63\x61p\"R\n\x17OpenNotionalCapUncapped:7\x8a\xe7\xb0*2injective.exchange.v1beta1.OpenNotionalCapUncapped\"\x89\x01\n\x15OpenNotionalCapCapped\x12\x39\n\x05value\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05value:5\x8a\xe7\xb0*0injective.exchange.v1beta1.OpenNotionalCapCapped\"\x8b\x16\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12N\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1f\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap\x12*\n\x11\x66ixed_gas_enabled\x18\x1d \x01(\x08R\x0f\x66ixedGasEnabled:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\xc7\n\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals\x12S\n\x13reduce_margin_ratio\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12]\n\x11open_notional_cap\x18\x16 \x01(\x0b\x32+.injective.exchange.v1beta1.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap:\x04\x88\xa0\x1f\x00\"\xfe\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb8\x06\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\x8e\x03\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12?\n\x08notional\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid\"p\n\x10\x44\x65nomMinNotional\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x46\n\x0cmin_notional\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xd6\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06\x12\x16\n\x12OffsettingPosition\x10\x07\x12\r\n\tSynthetic\x10\x08*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -64,6 +64,18 @@ _globals['_ORDERMASK'].values_by_name["TYPE_MARKET"]._serialized_options = b'\212\235 \006MARKET' _globals['_ORDERMASK'].values_by_name["TYPE_LIMIT"]._loaded_options = None _globals['_ORDERMASK'].values_by_name["TYPE_LIMIT"]._serialized_options = b'\212\235 \005LIMIT' + _globals['_OPENNOTIONALCAP'].fields_by_name['uncapped']._loaded_options = None + _globals['_OPENNOTIONALCAP'].fields_by_name['uncapped']._serialized_options = b'\262\347\260*2injective.exchange.v1beta1.OpenNotionalCapUncapped' + _globals['_OPENNOTIONALCAP'].fields_by_name['capped']._loaded_options = None + _globals['_OPENNOTIONALCAP'].fields_by_name['capped']._serialized_options = b'\262\347\260*0injective.exchange.v1beta1.OpenNotionalCapCapped' + _globals['_OPENNOTIONALCAP']._loaded_options = None + _globals['_OPENNOTIONALCAP']._serialized_options = b'\212\347\260**injective.exchange.v1beta1.OpenNotionalCap' + _globals['_OPENNOTIONALCAPUNCAPPED']._loaded_options = None + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_options = b'\212\347\260*2injective.exchange.v1beta1.OpenNotionalCapUncapped' + _globals['_OPENNOTIONALCAPCAPPED'].fields_by_name['value']._loaded_options = None + _globals['_OPENNOTIONALCAPCAPPED'].fields_by_name['value']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_OPENNOTIONALCAPCAPPED']._loaded_options = None + _globals['_OPENNOTIONALCAPCAPPED']._serialized_options = b'\212\347\260*0injective.exchange.v1beta1.OpenNotionalCapCapped' _globals['_PARAMS'].fields_by_name['spot_market_instant_listing_fee']._loaded_options = None _globals['_PARAMS'].fields_by_name['spot_market_instant_listing_fee']._serialized_options = b'\310\336\037\000' _globals['_PARAMS'].fields_by_name['derivative_market_instant_listing_fee']._loaded_options = None @@ -101,7 +113,7 @@ _globals['_PARAMS'].fields_by_name['minimal_protocol_fee_rate']._loaded_options = None _globals['_PARAMS'].fields_by_name['minimal_protocol_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PARAMS'].fields_by_name['inj_auction_max_cap']._loaded_options = None - _globals['_PARAMS'].fields_by_name['inj_auction_max_cap']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_PARAMS'].fields_by_name['inj_auction_max_cap']._serialized_options = b'\030\001\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\017exchange/Params' _globals['_MARKETFEEMULTIPLIER'].fields_by_name['fee_multiplier']._loaded_options = None @@ -124,6 +136,10 @@ _globals['_DERIVATIVEMARKET'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_DERIVATIVEMARKET'].fields_by_name['min_notional']._loaded_options = None _globals['_DERIVATIVEMARKET'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' _globals['_DERIVATIVEMARKET']._loaded_options = None _globals['_DERIVATIVEMARKET']._serialized_options = b'\210\240\037\000' _globals['_BINARYOPTIONSMARKET'].fields_by_name['maker_fee_rate']._loaded_options = None @@ -244,6 +260,8 @@ _globals['_TRADELOG'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_TRADELOG'].fields_by_name['fee_recipient_address']._loaded_options = None _globals['_TRADELOG'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_TRADELOG'].fields_by_name['notional']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_POSITIONDELTA'].fields_by_name['execution_quantity']._loaded_options = None _globals['_POSITIONDELTA'].fields_by_name['execution_quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_POSITIONDELTA'].fields_by_name['execution_margin']._loaded_options = None @@ -298,116 +316,126 @@ _globals['_ACTIVEGRANT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._loaded_options = None _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=15988 - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=16104 - _globals['_MARKETSTATUS']._serialized_start=16106 - _globals['_MARKETSTATUS']._serialized_end=16190 - _globals['_ORDERTYPE']._serialized_start=16193 - _globals['_ORDERTYPE']._serialized_end=16508 - _globals['_EXECUTIONTYPE']._serialized_start=16511 - _globals['_EXECUTIONTYPE']._serialized_end=16686 - _globals['_ORDERMASK']._serialized_start=16689 - _globals['_ORDERMASK']._serialized_end=16954 - _globals['_PARAMS']._serialized_start=186 - _globals['_PARAMS']._serialized_end=2967 - _globals['_MARKETFEEMULTIPLIER']._serialized_start=2970 - _globals['_MARKETFEEMULTIPLIER']._serialized_end=3102 - _globals['_DERIVATIVEMARKET']._serialized_start=3105 - _globals['_DERIVATIVEMARKET']._serialized_end=4237 - _globals['_BINARYOPTIONSMARKET']._serialized_start=4240 - _globals['_BINARYOPTIONSMARKET']._serialized_end=5351 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5354 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=5710 - _globals['_PERPETUALMARKETINFO']._serialized_start=5713 - _globals['_PERPETUALMARKETINFO']._serialized_end=6039 - _globals['_PERPETUALMARKETFUNDING']._serialized_start=6042 - _globals['_PERPETUALMARKETFUNDING']._serialized_end=6269 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=6272 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=6413 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=6415 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=6476 - _globals['_MIDPRICEANDTOB']._serialized_start=6479 - _globals['_MIDPRICEANDTOB']._serialized_end=6713 - _globals['_SPOTMARKET']._serialized_start=6716 - _globals['_SPOTMARKET']._serialized_end=7464 - _globals['_DEPOSIT']._serialized_start=7467 - _globals['_DEPOSIT']._serialized_end=7632 - _globals['_SUBACCOUNTTRADENONCE']._serialized_start=7634 - _globals['_SUBACCOUNTTRADENONCE']._serialized_end=7678 - _globals['_ORDERINFO']._serialized_start=7681 - _globals['_ORDERINFO']._serialized_end=7908 - _globals['_SPOTORDER']._serialized_start=7911 - _globals['_SPOTORDER']._serialized_end=8171 - _globals['_SPOTLIMITORDER']._serialized_start=8174 - _globals['_SPOTLIMITORDER']._serialized_end=8506 - _globals['_SPOTMARKETORDER']._serialized_start=8509 - _globals['_SPOTMARKETORDER']._serialized_end=8849 - _globals['_DERIVATIVEORDER']._serialized_start=8852 - _globals['_DERIVATIVEORDER']._serialized_end=9179 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=9182 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=9690 - _globals['_SUBACCOUNTORDER']._serialized_start=9693 - _globals['_SUBACCOUNTORDER']._serialized_end=9888 - _globals['_SUBACCOUNTORDERDATA']._serialized_start=9890 - _globals['_SUBACCOUNTORDERDATA']._serialized_end=10009 - _globals['_DERIVATIVELIMITORDER']._serialized_start=10012 - _globals['_DERIVATIVELIMITORDER']._serialized_end=10411 - _globals['_DERIVATIVEMARKETORDER']._serialized_start=10414 - _globals['_DERIVATIVEMARKETORDER']._serialized_end=10819 - _globals['_POSITION']._serialized_start=10822 - _globals['_POSITION']._serialized_end=11147 - _globals['_MARKETORDERINDICATOR']._serialized_start=11149 - _globals['_MARKETORDERINDICATOR']._serialized_end=11222 - _globals['_TRADELOG']._serialized_start=11225 - _globals['_TRADELOG']._serialized_end=11558 - _globals['_POSITIONDELTA']._serialized_start=11561 - _globals['_POSITIONDELTA']._serialized_end=11843 - _globals['_DERIVATIVETRADELOG']._serialized_start=11846 - _globals['_DERIVATIVETRADELOG']._serialized_end=12263 - _globals['_SUBACCOUNTPOSITION']._serialized_start=12265 - _globals['_SUBACCOUNTPOSITION']._serialized_end=12388 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=12390 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=12509 - _globals['_DEPOSITUPDATE']._serialized_start=12511 - _globals['_DEPOSITUPDATE']._serialized_end=12623 - _globals['_POINTSMULTIPLIER']._serialized_start=12626 - _globals['_POINTSMULTIPLIER']._serialized_end=12830 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=12833 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=13215 - _globals['_CAMPAIGNREWARDPOOL']._serialized_start=13218 - _globals['_CAMPAIGNREWARDPOOL']._serialized_end=13406 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=13409 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=13706 - _globals['_FEEDISCOUNTTIERINFO']._serialized_start=13709 - _globals['_FEEDISCOUNTTIERINFO']._serialized_end=14029 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=14032 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=14300 - _globals['_FEEDISCOUNTTIERTTL']._serialized_start=14302 - _globals['_FEEDISCOUNTTIERTTL']._serialized_end=14379 - _globals['_VOLUMERECORD']._serialized_start=14382 - _globals['_VOLUMERECORD']._serialized_end=14540 - _globals['_ACCOUNTREWARDS']._serialized_start=14543 - _globals['_ACCOUNTREWARDS']._serialized_end=14688 - _globals['_TRADERECORDS']._serialized_start=14691 - _globals['_TRADERECORDS']._serialized_end=14825 - _globals['_SUBACCOUNTIDS']._serialized_start=14827 - _globals['_SUBACCOUNTIDS']._serialized_end=14881 - _globals['_TRADERECORD']._serialized_start=14884 - _globals['_TRADERECORD']._serialized_end=15051 - _globals['_LEVEL']._serialized_start=15053 - _globals['_LEVEL']._serialized_end=15162 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=15165 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=15316 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=15319 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=15456 - _globals['_MARKETVOLUME']._serialized_start=15458 - _globals['_MARKETVOLUME']._serialized_end=15573 - _globals['_DENOMDECIMALS']._serialized_start=15575 - _globals['_DENOMDECIMALS']._serialized_end=15640 - _globals['_GRANTAUTHORIZATION']._serialized_start=15642 - _globals['_GRANTAUTHORIZATION']._serialized_end=15743 - _globals['_ACTIVEGRANT']._serialized_start=15745 - _globals['_ACTIVEGRANT']._serialized_end=15839 - _globals['_EFFECTIVEGRANT']._serialized_start=15842 - _globals['_EFFECTIVEGRANT']._serialized_end=15986 + _globals['_DENOMMINNOTIONAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_DENOMMINNOTIONAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=17121 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=17237 + _globals['_MARKETSTATUS']._serialized_start=17239 + _globals['_MARKETSTATUS']._serialized_end=17323 + _globals['_ORDERTYPE']._serialized_start=17326 + _globals['_ORDERTYPE']._serialized_end=17641 + _globals['_EXECUTIONTYPE']._serialized_start=17644 + _globals['_EXECUTIONTYPE']._serialized_end=17858 + _globals['_ORDERMASK']._serialized_start=17861 + _globals['_ORDERMASK']._serialized_end=18126 + _globals['_OPENNOTIONALCAP']._serialized_start=186 + _globals['_OPENNOTIONALCAP']._serialized_end=533 + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_start=535 + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_end=617 + _globals['_OPENNOTIONALCAPCAPPED']._serialized_start=620 + _globals['_OPENNOTIONALCAPCAPPED']._serialized_end=757 + _globals['_PARAMS']._serialized_start=760 + _globals['_PARAMS']._serialized_end=3587 + _globals['_MARKETFEEMULTIPLIER']._serialized_start=3590 + _globals['_MARKETFEEMULTIPLIER']._serialized_end=3722 + _globals['_DERIVATIVEMARKET']._serialized_start=3725 + _globals['_DERIVATIVEMARKET']._serialized_end=5076 + _globals['_BINARYOPTIONSMARKET']._serialized_start=5079 + _globals['_BINARYOPTIONSMARKET']._serialized_end=6229 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=6232 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=6588 + _globals['_PERPETUALMARKETINFO']._serialized_start=6591 + _globals['_PERPETUALMARKETINFO']._serialized_end=6917 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=6920 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=7147 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=7150 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=7291 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=7293 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=7354 + _globals['_MIDPRICEANDTOB']._serialized_start=7357 + _globals['_MIDPRICEANDTOB']._serialized_end=7591 + _globals['_SPOTMARKET']._serialized_start=7594 + _globals['_SPOTMARKET']._serialized_end=8418 + _globals['_DEPOSIT']._serialized_start=8421 + _globals['_DEPOSIT']._serialized_end=8586 + _globals['_SUBACCOUNTTRADENONCE']._serialized_start=8588 + _globals['_SUBACCOUNTTRADENONCE']._serialized_end=8632 + _globals['_ORDERINFO']._serialized_start=8635 + _globals['_ORDERINFO']._serialized_end=8862 + _globals['_SPOTORDER']._serialized_start=8865 + _globals['_SPOTORDER']._serialized_end=9125 + _globals['_SPOTLIMITORDER']._serialized_start=9128 + _globals['_SPOTLIMITORDER']._serialized_end=9460 + _globals['_SPOTMARKETORDER']._serialized_start=9463 + _globals['_SPOTMARKETORDER']._serialized_end=9803 + _globals['_DERIVATIVEORDER']._serialized_start=9806 + _globals['_DERIVATIVEORDER']._serialized_end=10133 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=10136 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=10644 + _globals['_SUBACCOUNTORDER']._serialized_start=10647 + _globals['_SUBACCOUNTORDER']._serialized_end=10842 + _globals['_SUBACCOUNTORDERDATA']._serialized_start=10844 + _globals['_SUBACCOUNTORDERDATA']._serialized_end=10963 + _globals['_DERIVATIVELIMITORDER']._serialized_start=10966 + _globals['_DERIVATIVELIMITORDER']._serialized_end=11365 + _globals['_DERIVATIVEMARKETORDER']._serialized_start=11368 + _globals['_DERIVATIVEMARKETORDER']._serialized_end=11773 + _globals['_POSITION']._serialized_start=11776 + _globals['_POSITION']._serialized_end=12101 + _globals['_MARKETORDERINDICATOR']._serialized_start=12103 + _globals['_MARKETORDERINDICATOR']._serialized_end=12176 + _globals['_TRADELOG']._serialized_start=12179 + _globals['_TRADELOG']._serialized_end=12577 + _globals['_POSITIONDELTA']._serialized_start=12580 + _globals['_POSITIONDELTA']._serialized_end=12862 + _globals['_DERIVATIVETRADELOG']._serialized_start=12865 + _globals['_DERIVATIVETRADELOG']._serialized_end=13282 + _globals['_SUBACCOUNTPOSITION']._serialized_start=13284 + _globals['_SUBACCOUNTPOSITION']._serialized_end=13407 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=13409 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=13528 + _globals['_DEPOSITUPDATE']._serialized_start=13530 + _globals['_DEPOSITUPDATE']._serialized_end=13642 + _globals['_POINTSMULTIPLIER']._serialized_start=13645 + _globals['_POINTSMULTIPLIER']._serialized_end=13849 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=13852 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=14234 + _globals['_CAMPAIGNREWARDPOOL']._serialized_start=14237 + _globals['_CAMPAIGNREWARDPOOL']._serialized_end=14425 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=14428 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=14725 + _globals['_FEEDISCOUNTTIERINFO']._serialized_start=14728 + _globals['_FEEDISCOUNTTIERINFO']._serialized_end=15048 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=15051 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=15319 + _globals['_FEEDISCOUNTTIERTTL']._serialized_start=15321 + _globals['_FEEDISCOUNTTIERTTL']._serialized_end=15398 + _globals['_VOLUMERECORD']._serialized_start=15401 + _globals['_VOLUMERECORD']._serialized_end=15559 + _globals['_ACCOUNTREWARDS']._serialized_start=15562 + _globals['_ACCOUNTREWARDS']._serialized_end=15707 + _globals['_TRADERECORDS']._serialized_start=15710 + _globals['_TRADERECORDS']._serialized_end=15844 + _globals['_SUBACCOUNTIDS']._serialized_start=15846 + _globals['_SUBACCOUNTIDS']._serialized_end=15900 + _globals['_TRADERECORD']._serialized_start=15903 + _globals['_TRADERECORD']._serialized_end=16070 + _globals['_LEVEL']._serialized_start=16072 + _globals['_LEVEL']._serialized_end=16181 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=16184 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=16335 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=16338 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=16475 + _globals['_MARKETVOLUME']._serialized_start=16477 + _globals['_MARKETVOLUME']._serialized_end=16592 + _globals['_DENOMDECIMALS']._serialized_start=16594 + _globals['_DENOMDECIMALS']._serialized_end=16659 + _globals['_GRANTAUTHORIZATION']._serialized_start=16661 + _globals['_GRANTAUTHORIZATION']._serialized_end=16762 + _globals['_ACTIVEGRANT']._serialized_start=16764 + _globals['_ACTIVEGRANT']._serialized_end=16858 + _globals['_EFFECTIVEGRANT']._serialized_start=16861 + _globals['_EFFECTIVEGRANT']._serialized_end=17005 + _globals['_DENOMMINNOTIONAL']._serialized_start=17007 + _globals['_DENOMMINNOTIONAL']._serialized_end=17119 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/genesis_pb2.py index 62b1d57b..e177ffca 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/genesis_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(injective/exchange/v1beta1/genesis.proto\x12\x1ainjective.exchange.v1beta1\x1a)injective/exchange/v1beta1/exchange.proto\x1a#injective/exchange/v1beta1/tx.proto\x1a\x14gogoproto/gogo.proto\"\xab\x1d\n\x0cGenesisState\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12I\n\x0cspot_markets\x18\x02 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x0bspotMarkets\x12[\n\x12\x64\x65rivative_markets\x18\x03 \x03(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x11\x64\x65rivativeMarkets\x12V\n\x0espot_orderbook\x18\x04 \x03(\x0b\x32).injective.exchange.v1beta1.SpotOrderBookB\x04\xc8\xde\x1f\x00R\rspotOrderbook\x12h\n\x14\x64\x65rivative_orderbook\x18\x05 \x03(\x0b\x32/.injective.exchange.v1beta1.DerivativeOrderBookB\x04\xc8\xde\x1f\x00R\x13\x64\x65rivativeOrderbook\x12\x45\n\x08\x62\x61lances\x18\x06 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\x12R\n\tpositions\x18\x07 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\tpositions\x12i\n\x17subaccount_trade_nonces\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.SubaccountNonceB\x04\xc8\xde\x1f\x00R\x15subaccountTradeNonces\x12\x86\x01\n expiry_futures_market_info_state\x18\t \x03(\x0b\x32\x38.injective.exchange.v1beta1.ExpiryFuturesMarketInfoStateB\x04\xc8\xde\x1f\x00R\x1c\x65xpiryFuturesMarketInfoState\x12i\n\x15perpetual_market_info\x18\n \x03(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x13perpetualMarketInfo\x12\x82\x01\n\x1eperpetual_market_funding_state\x18\x0b \x03(\x0b\x32\x37.injective.exchange.v1beta1.PerpetualMarketFundingStateB\x04\xc8\xde\x1f\x00R\x1bperpetualMarketFundingState\x12\x95\x01\n&derivative_market_settlement_scheduled\x18\x0c \x03(\x0b\x32:.injective.exchange.v1beta1.DerivativeMarketSettlementInfoB\x04\xc8\xde\x1f\x00R#derivativeMarketSettlementScheduled\x12\x37\n\x18is_spot_exchange_enabled\x18\r \x01(\x08R\x15isSpotExchangeEnabled\x12\x45\n\x1fis_derivatives_exchange_enabled\x18\x0e \x01(\x08R\x1cisDerivativesExchangeEnabled\x12v\n\x1ctrading_reward_campaign_info\x18\x0f \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x10 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12\x92\x01\n&trading_reward_campaign_account_points\x18\x11 \x03(\x0b\x32>.injective.exchange.v1beta1.TradingRewardCampaignAccountPointsR\"tradingRewardCampaignAccountPoints\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x12 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\x12w\n\x1d\x66\x65\x65_discount_account_tier_ttl\x18\x13 \x03(\x0b\x32\x35.injective.exchange.v1beta1.FeeDiscountAccountTierTTLR\x19\x66\x65\x65\x44iscountAccountTierTtl\x12\x89\x01\n#fee_discount_bucket_volume_accounts\x18\x14 \x03(\x0b\x32;.injective.exchange.v1beta1.FeeDiscountBucketVolumeAccountsR\x1f\x66\x65\x65\x44iscountBucketVolumeAccounts\x12<\n\x1bis_first_fee_cycle_finished\x18\x15 \x01(\x08R\x17isFirstFeeCycleFinished\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x16 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12\xa8\x01\n.pending_trading_reward_campaign_account_points\x18\x17 \x03(\x0b\x32\x45.injective.exchange.v1beta1.TradingRewardCampaignAccountPendingPointsR)pendingTradingRewardCampaignAccountPoints\x12\x39\n\x19rewards_opt_out_addresses\x18\x18 \x03(\tR\x16rewardsOptOutAddresses\x12\x62\n\x18historical_trade_records\x18\x19 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x16historicalTradeRecords\x12\x65\n\x16\x62inary_options_markets\x18\x1a \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x14\x62inaryOptionsMarkets\x12h\n2binary_options_market_ids_scheduled_for_settlement\x18\x1b \x03(\tR,binaryOptionsMarketIdsScheduledForSettlement\x12T\n(spot_market_ids_scheduled_to_force_close\x18\x1c \x03(\tR\"spotMarketIdsScheduledToForceClose\x12V\n\x0e\x64\x65nom_decimals\x18\x1d \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\x12\x86\x01\n!conditional_derivative_orderbooks\x18\x1e \x03(\x0b\x32:.injective.exchange.v1beta1.ConditionalDerivativeOrderBookR\x1f\x63onditionalDerivativeOrderbooks\x12\x65\n\x16market_fee_multipliers\x18\x1f \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers\x12^\n\x13orderbook_sequences\x18 \x03(\x0b\x32-.injective.exchange.v1beta1.OrderbookSequenceR\x12orderbookSequences\x12j\n\x12subaccount_volumes\x18! \x03(\x0b\x32;.injective.exchange.v1beta1.AggregateSubaccountVolumeRecordR\x11subaccountVolumes\x12O\n\x0emarket_volumes\x18\" \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\x12\x66\n\x14grant_authorizations\x18# \x03(\x0b\x32\x33.injective.exchange.v1beta1.FullGrantAuthorizationsR\x13grantAuthorizations\x12P\n\ractive_grants\x18$ \x03(\x0b\x32+.injective.exchange.v1beta1.FullActiveGrantR\x0c\x61\x63tiveGrants\"L\n\x11OrderbookSequence\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x80\x01\n\x19\x46\x65\x65\x44iscountAccountTierTTL\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12I\n\x08tier_ttl\x18\x02 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\x07tierTtl\"\xa9\x01\n\x1f\x46\x65\x65\x44iscountBucketVolumeAccounts\x12\x34\n\x16\x62ucket_start_timestamp\x18\x01 \x01(\x03R\x14\x62ucketStartTimestamp\x12P\n\x0e\x61\x63\x63ount_volume\x18\x02 \x03(\x0b\x32).injective.exchange.v1beta1.AccountVolumeR\raccountVolume\"f\n\rAccountVolume\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"{\n\"TradingRewardCampaignAccountPoints\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06points\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06points\"\xd1\x01\n)TradingRewardCampaignAccountPendingPoints\x12=\n\x1breward_pool_start_timestamp\x18\x01 \x01(\x03R\x18rewardPoolStartTimestamp\x12\x65\n\x0e\x61\x63\x63ount_points\x18\x02 \x03(\x0b\x32>.injective.exchange.v1beta1.TradingRewardCampaignAccountPointsR\raccountPoints\"\x98\x01\n\rSpotOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12\x42\n\x06orders\x18\x03 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xa4\x01\n\x13\x44\x65rivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12H\n\x06orders\x18\x03 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc1\x03\n\x1e\x43onditionalDerivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x10limit_buy_orders\x18\x02 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x0elimitBuyOrders\x12]\n\x11market_buy_orders\x18\x03 \x03(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderR\x0fmarketBuyOrders\x12\\\n\x11limit_sell_orders\x18\x04 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x0flimitSellOrders\x12_\n\x12market_sell_orders\x18\x05 \x03(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderR\x10marketSellOrders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8f\x01\n\x07\x42\x61lance\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12?\n\x08\x64\x65posits\x18\x03 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xa2\x01\n\x12\x44\x65rivativePosition\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12@\n\x08position\x18\x03 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xae\x01\n\x0fSubaccountNonce\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12l\n\x16subaccount_trade_nonce\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.SubaccountTradeNonceB\x04\xc8\xde\x1f\x00R\x14subaccountTradeNonce:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x91\x01\n\x1c\x45xpiryFuturesMarketInfoState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12T\n\x0bmarket_info\x18\x02 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoR\nmarketInfo\"\x88\x01\n\x1bPerpetualMarketFundingState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x07\x66unding\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x07\x66unding\"\x8b\x02\n\x17\x46ullGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12K\n\x12total_grant_amount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x41\n\x1dlast_delegations_checked_time\x18\x03 \x01(\x03R\x1alastDelegationsCheckedTime\x12\x46\n\x06grants\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants\"w\n\x0f\x46ullActiveGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12J\n\x0c\x61\x63tive_grant\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x0b\x61\x63tiveGrantB\x88\x02\n\x1e\x63om.injective.exchange.v1beta1B\x0cGenesisProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(injective/exchange/v1beta1/genesis.proto\x12\x1ainjective.exchange.v1beta1\x1a)injective/exchange/v1beta1/exchange.proto\x1a#injective/exchange/v1beta1/tx.proto\x1a\x14gogoproto/gogo.proto\"\x89\x1e\n\x0cGenesisState\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12I\n\x0cspot_markets\x18\x02 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x0bspotMarkets\x12[\n\x12\x64\x65rivative_markets\x18\x03 \x03(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x11\x64\x65rivativeMarkets\x12V\n\x0espot_orderbook\x18\x04 \x03(\x0b\x32).injective.exchange.v1beta1.SpotOrderBookB\x04\xc8\xde\x1f\x00R\rspotOrderbook\x12h\n\x14\x64\x65rivative_orderbook\x18\x05 \x03(\x0b\x32/.injective.exchange.v1beta1.DerivativeOrderBookB\x04\xc8\xde\x1f\x00R\x13\x64\x65rivativeOrderbook\x12\x45\n\x08\x62\x61lances\x18\x06 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\x12R\n\tpositions\x18\x07 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\tpositions\x12i\n\x17subaccount_trade_nonces\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.SubaccountNonceB\x04\xc8\xde\x1f\x00R\x15subaccountTradeNonces\x12\x86\x01\n expiry_futures_market_info_state\x18\t \x03(\x0b\x32\x38.injective.exchange.v1beta1.ExpiryFuturesMarketInfoStateB\x04\xc8\xde\x1f\x00R\x1c\x65xpiryFuturesMarketInfoState\x12i\n\x15perpetual_market_info\x18\n \x03(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x13perpetualMarketInfo\x12\x82\x01\n\x1eperpetual_market_funding_state\x18\x0b \x03(\x0b\x32\x37.injective.exchange.v1beta1.PerpetualMarketFundingStateB\x04\xc8\xde\x1f\x00R\x1bperpetualMarketFundingState\x12\x95\x01\n&derivative_market_settlement_scheduled\x18\x0c \x03(\x0b\x32:.injective.exchange.v1beta1.DerivativeMarketSettlementInfoB\x04\xc8\xde\x1f\x00R#derivativeMarketSettlementScheduled\x12\x37\n\x18is_spot_exchange_enabled\x18\r \x01(\x08R\x15isSpotExchangeEnabled\x12\x45\n\x1fis_derivatives_exchange_enabled\x18\x0e \x01(\x08R\x1cisDerivativesExchangeEnabled\x12v\n\x1ctrading_reward_campaign_info\x18\x0f \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x10 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12\x92\x01\n&trading_reward_campaign_account_points\x18\x11 \x03(\x0b\x32>.injective.exchange.v1beta1.TradingRewardCampaignAccountPointsR\"tradingRewardCampaignAccountPoints\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x12 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\x12w\n\x1d\x66\x65\x65_discount_account_tier_ttl\x18\x13 \x03(\x0b\x32\x35.injective.exchange.v1beta1.FeeDiscountAccountTierTTLR\x19\x66\x65\x65\x44iscountAccountTierTtl\x12\x89\x01\n#fee_discount_bucket_volume_accounts\x18\x14 \x03(\x0b\x32;.injective.exchange.v1beta1.FeeDiscountBucketVolumeAccountsR\x1f\x66\x65\x65\x44iscountBucketVolumeAccounts\x12<\n\x1bis_first_fee_cycle_finished\x18\x15 \x01(\x08R\x17isFirstFeeCycleFinished\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x16 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12\xa8\x01\n.pending_trading_reward_campaign_account_points\x18\x17 \x03(\x0b\x32\x45.injective.exchange.v1beta1.TradingRewardCampaignAccountPendingPointsR)pendingTradingRewardCampaignAccountPoints\x12\x39\n\x19rewards_opt_out_addresses\x18\x18 \x03(\tR\x16rewardsOptOutAddresses\x12\x62\n\x18historical_trade_records\x18\x19 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x16historicalTradeRecords\x12\x65\n\x16\x62inary_options_markets\x18\x1a \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x14\x62inaryOptionsMarkets\x12h\n2binary_options_market_ids_scheduled_for_settlement\x18\x1b \x03(\tR,binaryOptionsMarketIdsScheduledForSettlement\x12T\n(spot_market_ids_scheduled_to_force_close\x18\x1c \x03(\tR\"spotMarketIdsScheduledToForceClose\x12V\n\x0e\x64\x65nom_decimals\x18\x1d \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\x12\x86\x01\n!conditional_derivative_orderbooks\x18\x1e \x03(\x0b\x32:.injective.exchange.v1beta1.ConditionalDerivativeOrderBookR\x1f\x63onditionalDerivativeOrderbooks\x12\x65\n\x16market_fee_multipliers\x18\x1f \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers\x12^\n\x13orderbook_sequences\x18 \x03(\x0b\x32-.injective.exchange.v1beta1.OrderbookSequenceR\x12orderbookSequences\x12j\n\x12subaccount_volumes\x18! \x03(\x0b\x32;.injective.exchange.v1beta1.AggregateSubaccountVolumeRecordR\x11subaccountVolumes\x12O\n\x0emarket_volumes\x18\" \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\x12\x66\n\x14grant_authorizations\x18# \x03(\x0b\x32\x33.injective.exchange.v1beta1.FullGrantAuthorizationsR\x13grantAuthorizations\x12P\n\ractive_grants\x18$ \x03(\x0b\x32+.injective.exchange.v1beta1.FullActiveGrantR\x0c\x61\x63tiveGrants\x12\\\n\x13\x64\x65nom_min_notionals\x18% \x03(\x0b\x32,.injective.exchange.v1beta1.DenomMinNotionalR\x11\x64\x65nomMinNotionals\"L\n\x11OrderbookSequence\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x80\x01\n\x19\x46\x65\x65\x44iscountAccountTierTTL\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12I\n\x08tier_ttl\x18\x02 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\x07tierTtl\"\xa9\x01\n\x1f\x46\x65\x65\x44iscountBucketVolumeAccounts\x12\x34\n\x16\x62ucket_start_timestamp\x18\x01 \x01(\x03R\x14\x62ucketStartTimestamp\x12P\n\x0e\x61\x63\x63ount_volume\x18\x02 \x03(\x0b\x32).injective.exchange.v1beta1.AccountVolumeR\raccountVolume\"f\n\rAccountVolume\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"{\n\"TradingRewardCampaignAccountPoints\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06points\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06points\"\xd1\x01\n)TradingRewardCampaignAccountPendingPoints\x12=\n\x1breward_pool_start_timestamp\x18\x01 \x01(\x03R\x18rewardPoolStartTimestamp\x12\x65\n\x0e\x61\x63\x63ount_points\x18\x02 \x03(\x0b\x32>.injective.exchange.v1beta1.TradingRewardCampaignAccountPointsR\raccountPoints\"\x98\x01\n\rSpotOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12\x42\n\x06orders\x18\x03 \x03(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xa4\x01\n\x13\x44\x65rivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12H\n\x06orders\x18\x03 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc1\x03\n\x1e\x43onditionalDerivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x10limit_buy_orders\x18\x02 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x0elimitBuyOrders\x12]\n\x11market_buy_orders\x18\x03 \x03(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderR\x0fmarketBuyOrders\x12\\\n\x11limit_sell_orders\x18\x04 \x03(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderR\x0flimitSellOrders\x12_\n\x12market_sell_orders\x18\x05 \x03(\x0b\x32\x31.injective.exchange.v1beta1.DerivativeMarketOrderR\x10marketSellOrders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8f\x01\n\x07\x42\x61lance\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12?\n\x08\x64\x65posits\x18\x03 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xa2\x01\n\x12\x44\x65rivativePosition\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12@\n\x08position\x18\x03 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xae\x01\n\x0fSubaccountNonce\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12l\n\x16subaccount_trade_nonce\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.SubaccountTradeNonceB\x04\xc8\xde\x1f\x00R\x14subaccountTradeNonce:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x91\x01\n\x1c\x45xpiryFuturesMarketInfoState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12T\n\x0bmarket_info\x18\x02 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoR\nmarketInfo\"\x88\x01\n\x1bPerpetualMarketFundingState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x07\x66unding\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x07\x66unding\"\x8b\x02\n\x17\x46ullGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12K\n\x12total_grant_amount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x41\n\x1dlast_delegations_checked_time\x18\x03 \x01(\x03R\x1alastDelegationsCheckedTime\x12\x46\n\x06grants\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants\"w\n\x0f\x46ullActiveGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12J\n\x0c\x61\x63tive_grant\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x0b\x61\x63tiveGrantB\x88\x02\n\x1e\x63om.injective.exchange.v1beta1B\x0cGenesisProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -68,37 +68,37 @@ _globals['_FULLGRANTAUTHORIZATIONS'].fields_by_name['total_grant_amount']._loaded_options = None _globals['_FULLGRANTAUTHORIZATIONS'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_GENESISSTATE']._serialized_start=175 - _globals['_GENESISSTATE']._serialized_end=3930 - _globals['_ORDERBOOKSEQUENCE']._serialized_start=3932 - _globals['_ORDERBOOKSEQUENCE']._serialized_end=4008 - _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_start=4011 - _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_end=4139 - _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_start=4142 - _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_end=4311 - _globals['_ACCOUNTVOLUME']._serialized_start=4313 - _globals['_ACCOUNTVOLUME']._serialized_end=4415 - _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_start=4417 - _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_end=4540 - _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_start=4543 - _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_end=4752 - _globals['_SPOTORDERBOOK']._serialized_start=4755 - _globals['_SPOTORDERBOOK']._serialized_end=4907 - _globals['_DERIVATIVEORDERBOOK']._serialized_start=4910 - _globals['_DERIVATIVEORDERBOOK']._serialized_end=5074 - _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_start=5077 - _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_end=5526 - _globals['_BALANCE']._serialized_start=5529 - _globals['_BALANCE']._serialized_end=5672 - _globals['_DERIVATIVEPOSITION']._serialized_start=5675 - _globals['_DERIVATIVEPOSITION']._serialized_end=5837 - _globals['_SUBACCOUNTNONCE']._serialized_start=5840 - _globals['_SUBACCOUNTNONCE']._serialized_end=6014 - _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_start=6017 - _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_end=6162 - _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_start=6165 - _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_end=6301 - _globals['_FULLGRANTAUTHORIZATIONS']._serialized_start=6304 - _globals['_FULLGRANTAUTHORIZATIONS']._serialized_end=6571 - _globals['_FULLACTIVEGRANT']._serialized_start=6573 - _globals['_FULLACTIVEGRANT']._serialized_end=6692 + _globals['_GENESISSTATE']._serialized_end=4024 + _globals['_ORDERBOOKSEQUENCE']._serialized_start=4026 + _globals['_ORDERBOOKSEQUENCE']._serialized_end=4102 + _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_start=4105 + _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_end=4233 + _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_start=4236 + _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_end=4405 + _globals['_ACCOUNTVOLUME']._serialized_start=4407 + _globals['_ACCOUNTVOLUME']._serialized_end=4509 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_start=4511 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_end=4634 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_start=4637 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_end=4846 + _globals['_SPOTORDERBOOK']._serialized_start=4849 + _globals['_SPOTORDERBOOK']._serialized_end=5001 + _globals['_DERIVATIVEORDERBOOK']._serialized_start=5004 + _globals['_DERIVATIVEORDERBOOK']._serialized_end=5168 + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_start=5171 + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_end=5620 + _globals['_BALANCE']._serialized_start=5623 + _globals['_BALANCE']._serialized_end=5766 + _globals['_DERIVATIVEPOSITION']._serialized_start=5769 + _globals['_DERIVATIVEPOSITION']._serialized_end=5931 + _globals['_SUBACCOUNTNONCE']._serialized_start=5934 + _globals['_SUBACCOUNTNONCE']._serialized_end=6108 + _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_start=6111 + _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_end=6256 + _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_start=6259 + _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_end=6395 + _globals['_FULLGRANTAUTHORIZATIONS']._serialized_start=6398 + _globals['_FULLGRANTAUTHORIZATIONS']._serialized_end=6665 + _globals['_FULLACTIVEGRANT']._serialized_start=6667 + _globals['_FULLACTIVEGRANT']._serialized_end=6786 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py index 962502a2..fcee36d6 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xd3\x06\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x96\r\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\xca\x05\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\x9f\x07\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\r \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0e \x01(\rR\rquoteDecimals:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x8b\x0e\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals\x12s\n\x1b\x64\x65nom_min_notional_proposal\x18\x0e \x01(\x0b\x32\x34.injective.exchange.v1beta1.DenomMinNotionalProposalR\x18\x64\x65nomMinNotionalProposal:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\x96\x06\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal\"\xfe\x01\n\x18\x44\x65nomMinNotionalProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\\\n\x13\x64\x65nom_min_notionals\x18\x03 \x03(\x0b\x32,.injective.exchange.v1beta1.DenomMinNotionalR\x11\x64\x65nomMinNotionals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/DenomMinNotionalProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -174,48 +174,52 @@ _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(exchange/BatchCommunityPoolSpendProposal' _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._loaded_options = None _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal' - _globals['_EXCHANGETYPE']._serialized_start=12535 - _globals['_EXCHANGETYPE']._serialized_end=12655 + _globals['_DENOMMINNOTIONALPROPOSAL']._loaded_options = None + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*!exchange/DenomMinNotionalProposal' + _globals['_EXCHANGETYPE']._serialized_start=13061 + _globals['_EXCHANGETYPE']._serialized_end=13181 _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_start=329 - _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1180 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1183 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1387 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1390 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3076 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3079 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=3793 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=3796 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=4858 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=4861 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=5858 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=5861 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=6955 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=6958 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8256 - _globals['_ADMININFO']._serialized_start=8258 - _globals['_ADMININFO']._serialized_end=8336 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8339 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8620 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8623 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=8871 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=8874 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=9964 - _globals['_PROVIDERORACLEPARAMS']._serialized_start=9967 - _globals['_PROVIDERORACLEPARAMS']._serialized_end=10160 - _globals['_ORACLEPARAMS']._serialized_start=10163 - _globals['_ORACLEPARAMS']._serialized_end=10364 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10367 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=10741 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=10744 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11252 - _globals['_REWARDPOINTUPDATE']._serialized_start=11255 - _globals['_REWARDPOINTUPDATE']._serialized_end=11383 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11386 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11729 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=11732 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=11959 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=11962 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12223 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12226 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12533 + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1256 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1259 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1463 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1466 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3269 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3272 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=4062 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=4065 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=5127 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=5130 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=6127 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=6130 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=7224 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=7227 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8525 + _globals['_ADMININFO']._serialized_start=8527 + _globals['_ADMININFO']._serialized_end=8605 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8608 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8889 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8892 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=9140 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=9143 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=10233 + _globals['_PROVIDERORACLEPARAMS']._serialized_start=10236 + _globals['_PROVIDERORACLEPARAMS']._serialized_end=10429 + _globals['_ORACLEPARAMS']._serialized_start=10432 + _globals['_ORACLEPARAMS']._serialized_end=10633 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10636 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=11010 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=11013 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11521 + _globals['_REWARDPOINTUPDATE']._serialized_start=11524 + _globals['_REWARDPOINTUPDATE']._serialized_end=11652 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11655 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11998 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=12001 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=12228 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=12231 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12492 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12495 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12802 + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_start=12805 + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_end=13059 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py index 30a1f5d7..9cf996b3 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py @@ -19,7 +19,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xcd\x65\n\x05Query\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xcf\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}B\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"<\n\x1dQueryFullSpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xa6\x01\n\x1eQueryFullSpotOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"B\n#QueryFullDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xac\x01\n$QueryFullDerivativeOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"\xd3\x01\n\x11TrimmedLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants\"8\n\x19QueryMarketBalanceRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"a\n\x1aQueryMarketBalanceResponse\x12\x43\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32).injective.exchange.v1beta1.MarketBalanceR\x07\x62\x61lance\"\x1c\n\x1aQueryMarketBalancesRequest\"d\n\x1bQueryMarketBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.MarketBalanceR\x08\x62\x61lances\"k\n\rMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12=\n\x07\x62\x61lance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x07\x62\x61lance\"4\n\x1cQueryDenomMinNotionalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"\\\n\x1dQueryDenomMinNotionalResponse\x12;\n\x06\x61mount\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount\"\x1f\n\x1dQueryDenomMinNotionalsRequest\"~\n\x1eQueryDenomMinNotionalsResponse\x12\\\n\x13\x64\x65nom_min_notionals\x18\x01 \x03(\x0b\x32,.injective.exchange.v1beta1.DenomMinNotionalR\x11\x64\x65nomMinNotionals*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\x94o\n\x05Query\x12\xe2\x01\n\x15L3DerivativeOrderBook\x12?.injective.exchange.v1beta1.QueryFullDerivativeOrderbookRequest\x1a@.injective.exchange.v1beta1.QueryFullDerivativeOrderbookResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}\x12\xca\x01\n\x0fL3SpotOrderBook\x12\x39.injective.exchange.v1beta1.QueryFullSpotOrderbookRequest\x1a:.injective.exchange.v1beta1.QueryFullSpotOrderbookResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xda\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/subaccount_positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}\x12\xbe\x01\n\rMarketBalance\x12\x35.injective.exchange.v1beta1.QueryMarketBalanceRequest\x1a\x36.injective.exchange.v1beta1.QueryMarketBalanceResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/market_balance/{market_id}\x12\xb6\x01\n\x0eMarketBalances\x12\x36.injective.exchange.v1beta1.QueryMarketBalancesRequest\x1a\x37.injective.exchange.v1beta1.QueryMarketBalancesResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/exchange/v1beta1/market_balances\x12\xc7\x01\n\x10\x44\x65nomMinNotional\x12\x38.injective.exchange.v1beta1.QueryDenomMinNotionalRequest\x1a\x39.injective.exchange.v1beta1.QueryDenomMinNotionalResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/denom_min_notional/{denom}\x12\xc3\x01\n\x11\x44\x65nomMinNotionals\x12\x39.injective.exchange.v1beta1.QueryDenomMinNotionalsRequest\x1a:.injective.exchange.v1beta1.QueryDenomMinNotionalsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/denom_min_notionalsB\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -151,12 +151,24 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isBuy']._serialized_options = b'\352\336\037\005isBuy' _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._loaded_options = None _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._serialized_options = b'\352\336\037\007isLimit' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._loaded_options = None _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_MARKETBALANCE'].fields_by_name['balance']._loaded_options = None + _globals['_MARKETBALANCE'].fields_by_name['balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDENOMMINNOTIONALRESPONSE'].fields_by_name['amount']._loaded_options = None + _globals['_QUERYDENOMMINNOTIONALRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._serialized_options = b'\202\323\344\223\002@\022>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}' + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._serialized_options = b'\202\323\344\223\002:\0228/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}' _globals['_QUERY'].methods_by_name['QueryExchangeParams']._loaded_options = None _globals['_QUERY'].methods_by_name['QueryExchangeParams']._serialized_options = b'\202\323\344\223\002,\022*/injective/exchange/v1beta1/exchangeParams' _globals['_QUERY'].methods_by_name['SubaccountDeposits']._loaded_options = None @@ -224,7 +236,7 @@ _globals['_QUERY'].methods_by_name['Positions']._loaded_options = None _globals['_QUERY'].methods_by_name['Positions']._serialized_options = b'\202\323\344\223\002\'\022%/injective/exchange/v1beta1/positions' _globals['_QUERY'].methods_by_name['SubaccountPositions']._loaded_options = None - _globals['_QUERY'].methods_by_name['SubaccountPositions']._serialized_options = b'\202\323\344\223\0027\0225/injective/exchange/v1beta1/positions/{subaccount_id}' + _globals['_QUERY'].methods_by_name['SubaccountPositions']._serialized_options = b'\202\323\344\223\002B\022@/injective/exchange/v1beta1/subaccount_positions/{subaccount_id}' _globals['_QUERY'].methods_by_name['SubaccountPositionInMarket']._loaded_options = None _globals['_QUERY'].methods_by_name['SubaccountPositionInMarket']._serialized_options = b'\202\323\344\223\002C\022A/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}' _globals['_QUERY'].methods_by_name['SubaccountEffectivePositionInMarket']._loaded_options = None @@ -277,10 +289,18 @@ _globals['_QUERY'].methods_by_name['GrantAuthorization']._serialized_options = b'\202\323\344\223\002E\022C/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}' _globals['_QUERY'].methods_by_name['GrantAuthorizations']._loaded_options = None _globals['_QUERY'].methods_by_name['GrantAuthorizations']._serialized_options = b'\202\323\344\223\002<\022:/injective/exchange/v1beta1/grant_authorizations/{granter}' - _globals['_ORDERSIDE']._serialized_start=17324 - _globals['_ORDERSIDE']._serialized_end=17376 - _globals['_CANCELLATIONSTRATEGY']._serialized_start=17378 - _globals['_CANCELLATIONSTRATEGY']._serialized_end=17464 + _globals['_QUERY'].methods_by_name['MarketBalance']._loaded_options = None + _globals['_QUERY'].methods_by_name['MarketBalance']._serialized_options = b'\202\323\344\223\0028\0226/injective/exchange/v1beta1/market_balance/{market_id}' + _globals['_QUERY'].methods_by_name['MarketBalances']._loaded_options = None + _globals['_QUERY'].methods_by_name['MarketBalances']._serialized_options = b'\202\323\344\223\002-\022+/injective/exchange/v1beta1/market_balances' + _globals['_QUERY'].methods_by_name['DenomMinNotional']._loaded_options = None + _globals['_QUERY'].methods_by_name['DenomMinNotional']._serialized_options = b'\202\323\344\223\0028\0226/injective/exchange/v1beta1/denom_min_notional/{denom}' + _globals['_QUERY'].methods_by_name['DenomMinNotionals']._loaded_options = None + _globals['_QUERY'].methods_by_name['DenomMinNotionals']._serialized_options = b'\202\323\344\223\0021\022//injective/exchange/v1beta1/denom_min_notionals' + _globals['_ORDERSIDE']._serialized_start=18719 + _globals['_ORDERSIDE']._serialized_end=18771 + _globals['_CANCELLATIONSTRATEGY']._serialized_start=18773 + _globals['_CANCELLATIONSTRATEGY']._serialized_end=18859 _globals['_SUBACCOUNT']._serialized_start=246 _globals['_SUBACCOUNT']._serialized_end=325 _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_start=327 @@ -527,22 +547,50 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER']._serialized_end=16322 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_start=16325 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_end=16460 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=16462 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=16539 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=16541 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=16659 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=16661 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=16717 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=16720 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=16899 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=16901 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=16985 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=16987 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17075 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17077 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17136 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17139 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=17322 - _globals['_QUERY']._serialized_start=17467 - _globals['_QUERY']._serialized_end=30472 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_start=16462 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_end=16522 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_start=16525 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_end=16691 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_start=16693 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_end=16759 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_start=16762 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_end=16934 + _globals['_TRIMMEDLIMITORDER']._serialized_start=16937 + _globals['_TRIMMEDLIMITORDER']._serialized_end=17148 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=17150 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=17227 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=17229 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=17347 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=17349 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=17405 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=17408 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=17587 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=17589 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=17673 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=17675 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17763 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17765 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17824 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17827 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=18010 + _globals['_QUERYMARKETBALANCEREQUEST']._serialized_start=18012 + _globals['_QUERYMARKETBALANCEREQUEST']._serialized_end=18068 + _globals['_QUERYMARKETBALANCERESPONSE']._serialized_start=18070 + _globals['_QUERYMARKETBALANCERESPONSE']._serialized_end=18167 + _globals['_QUERYMARKETBALANCESREQUEST']._serialized_start=18169 + _globals['_QUERYMARKETBALANCESREQUEST']._serialized_end=18197 + _globals['_QUERYMARKETBALANCESRESPONSE']._serialized_start=18199 + _globals['_QUERYMARKETBALANCESRESPONSE']._serialized_end=18299 + _globals['_MARKETBALANCE']._serialized_start=18301 + _globals['_MARKETBALANCE']._serialized_end=18408 + _globals['_QUERYDENOMMINNOTIONALREQUEST']._serialized_start=18410 + _globals['_QUERYDENOMMINNOTIONALREQUEST']._serialized_end=18462 + _globals['_QUERYDENOMMINNOTIONALRESPONSE']._serialized_start=18464 + _globals['_QUERYDENOMMINNOTIONALRESPONSE']._serialized_end=18556 + _globals['_QUERYDENOMMINNOTIONALSREQUEST']._serialized_start=18558 + _globals['_QUERYDENOMMINNOTIONALSREQUEST']._serialized_end=18589 + _globals['_QUERYDENOMMINNOTIONALSRESPONSE']._serialized_start=18591 + _globals['_QUERYDENOMMINNOTIONALSRESPONSE']._serialized_end=18717 + _globals['_QUERY']._serialized_start=18862 + _globals['_QUERY']._serialized_end=33090 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py index c5aa407e..a56dc95f 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py @@ -15,6 +15,16 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ + self.L3DerivativeOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + _registered_method=True) + self.L3SpotOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + _registered_method=True) self.QueryExchangeParams = channel.unary_unary( '/injective.exchange.v1beta1.Query/QueryExchangeParams', request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.SerializeToString, @@ -315,12 +325,44 @@ def __init__(self, channel): request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryGrantAuthorizationsRequest.SerializeToString, response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryGrantAuthorizationsResponse.FromString, _registered_method=True) + self.MarketBalance = channel.unary_unary( + '/injective.exchange.v1beta1.Query/MarketBalance', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceResponse.FromString, + _registered_method=True) + self.MarketBalances = channel.unary_unary( + '/injective.exchange.v1beta1.Query/MarketBalances', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesResponse.FromString, + _registered_method=True) + self.DenomMinNotional = channel.unary_unary( + '/injective.exchange.v1beta1.Query/DenomMinNotional', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalResponse.FromString, + _registered_method=True) + self.DenomMinNotionals = channel.unary_unary( + '/injective.exchange.v1beta1.Query/DenomMinNotionals', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsResponse.FromString, + _registered_method=True) class QueryServicer(object): """Query defines the gRPC querier service. """ + def L3DerivativeOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def L3SpotOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def QueryExchangeParams(self, request, context): """Retrieves exchange params """ @@ -705,7 +747,7 @@ def MarketVolatility(self, request, context): raise NotImplementedError('Method not implemented!') def BinaryOptionsMarkets(self, request, context): - """Retrieves a spot market's orderbook by marketID + """Retrieves all binary options markets """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -745,9 +787,47 @@ def GrantAuthorizations(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def MarketBalance(self, request, context): + """Retrieves a derivative or binary options market's balance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketBalances(self, request, context): + """Retrieves all derivative or binary options market balances + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DenomMinNotional(self, request, context): + """Retrieves the min notional for a denom + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DenomMinNotionals(self, request, context): + """Retrieves the min notionals for all denoms + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_QueryServicer_to_server(servicer, server): rpc_method_handlers = { + 'L3DerivativeOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3DerivativeOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.SerializeToString, + ), + 'L3SpotOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3SpotOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.SerializeToString, + ), 'QueryExchangeParams': grpc.unary_unary_rpc_method_handler( servicer.QueryExchangeParams, request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.FromString, @@ -1048,6 +1128,26 @@ def add_QueryServicer_to_server(servicer, server): request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryGrantAuthorizationsRequest.FromString, response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryGrantAuthorizationsResponse.SerializeToString, ), + 'MarketBalance': grpc.unary_unary_rpc_method_handler( + servicer.MarketBalance, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceResponse.SerializeToString, + ), + 'MarketBalances': grpc.unary_unary_rpc_method_handler( + servicer.MarketBalances, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesResponse.SerializeToString, + ), + 'DenomMinNotional': grpc.unary_unary_rpc_method_handler( + servicer.DenomMinNotional, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalResponse.SerializeToString, + ), + 'DenomMinNotionals': grpc.unary_unary_rpc_method_handler( + servicer.DenomMinNotionals, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.exchange.v1beta1.Query', rpc_method_handlers) @@ -1060,6 +1160,60 @@ class Query(object): """Query defines the gRPC querier service. """ + @staticmethod + def L3DerivativeOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def L3SpotOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def QueryExchangeParams(request, target, @@ -2679,3 +2833,111 @@ def GrantAuthorizations(request, timeout, metadata, _registered_method=True) + + @staticmethod + def MarketBalance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/MarketBalance', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalanceResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketBalances(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/MarketBalances', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryMarketBalancesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DenomMinNotional(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/DenomMinNotional', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DenomMinNotionals(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/DenomMinNotionals', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryDenomMinNotionalsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py index 1308b852..98ce08bd 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py @@ -18,11 +18,12 @@ from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as injective_dot_exchange_dot_v1beta1_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v1beta1 import proposal_pb2 as injective_dot_exchange_dot_v1beta1_dot_proposal__pb2 from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa7\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:3\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbf\x03\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse2\xd0\'\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\xa0\x01\n\x1cInstantPerpetualMarketLaunch\x12;.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch\x1a\x43.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse\x12\xac\x01\n InstantExpiryFuturesMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12p\n\x0cUpdateParams\x12+.injective.exchange.v1beta1.MsgUpdateParams\x1a\x33.injective.exchange.v1beta1.MsgUpdateParamsResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a)injective/exchange/v1beta1/proposal.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa3\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:/\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8b\x04\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12#\n\rbase_decimals\x18\x08 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\t \x01(\rR\rquoteDecimals:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x96\x02\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12?\n\x08notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse\"\xd0\x01\n\x1cMsgBatchExchangeModification\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12Y\n\x08proposal\x18\x02 \x01(\x0b\x32=.injective.exchange.v1beta1.BatchExchangeModificationProposalR\x08proposal:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgBatchExchangeModification\"&\n$MsgBatchExchangeModificationResponse2\xa6%\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x12\x97\x01\n\x19\x42\x61tchExchangeModification\x12\x38.injective.exchange.v1beta1.MsgBatchExchangeModification\x1a@.injective.exchange.v1beta1.MsgBatchExchangeModificationResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,7 +38,7 @@ _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_notional']._loaded_options = None _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_MSGUPDATESPOTMARKET']._loaded_options = None - _globals['_MSGUPDATESPOTMARKET']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\005admin\212\347\260*\034exchange/MsgUpdateSpotMarket' + _globals['_MSGUPDATESPOTMARKET']._serialized_options = b'\350\240\037\000\202\347\260*\005admin\212\347\260*\034exchange/MsgUpdateSpotMarket' _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_price_tick_size']._loaded_options = None _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_quantity_tick_size']._loaded_options = None @@ -142,6 +143,8 @@ _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['fee']._loaded_options = None _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['notional']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SPOTMARKETORDERRESULTS']._loaded_options = None _globals['_SPOTMARKETORDERRESULTS']._serialized_options = b'\210\240\037\000\350\240\037\000' _globals['_MSGCREATEDERIVATIVELIMITORDER'].fields_by_name['order']._loaded_options = None @@ -278,162 +281,168 @@ _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_options = b'\202\347\260*\006sender\212\347\260* exchange/MsgAuthorizeStakeGrants' _globals['_MSGACTIVATESTAKEGRANT']._loaded_options = None _globals['_MSGACTIVATESTAKEGRANT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036exchange/MsgActivateStakeGrant' + _globals['_MSGBATCHEXCHANGEMODIFICATION']._loaded_options = None + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*%exchange/MsgBatchExchangeModification' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' - _globals['_MSGUPDATESPOTMARKET']._serialized_start=323 - _globals['_MSGUPDATESPOTMARKET']._serialized_end=746 - _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_start=748 - _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_end=777 - _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_start=780 - _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_end=1411 - _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_start=1413 - _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_end=1448 - _globals['_MSGUPDATEPARAMS']._serialized_start=1451 - _globals['_MSGUPDATEPARAMS']._serialized_end=1635 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1637 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1662 - _globals['_MSGDEPOSIT']._serialized_start=1665 - _globals['_MSGDEPOSIT']._serialized_end=1840 - _globals['_MSGDEPOSITRESPONSE']._serialized_start=1842 - _globals['_MSGDEPOSITRESPONSE']._serialized_end=1862 - _globals['_MSGWITHDRAW']._serialized_start=1865 - _globals['_MSGWITHDRAW']._serialized_end=2042 - _globals['_MSGWITHDRAWRESPONSE']._serialized_start=2044 - _globals['_MSGWITHDRAWRESPONSE']._serialized_end=2065 - _globals['_MSGCREATESPOTLIMITORDER']._serialized_start=2068 - _globals['_MSGCREATESPOTLIMITORDER']._serialized_end=2242 - _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_start=2244 - _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_end=2336 - _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_start=2339 - _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_end=2527 - _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_start=2530 - _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_end=2708 - _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_start=2711 - _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3158 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3160 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3196 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3199 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4144 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4146 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4187 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4190 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5095 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5097 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5142 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5145 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6122 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6124 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6169 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6172 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6348 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6351 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6528 - _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6531 - _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6744 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6747 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=6935 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=6937 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7035 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7038 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7232 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7234 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7335 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7338 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7540 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7543 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7727 - _globals['_MSGCANCELSPOTORDER']._serialized_start=7730 - _globals['_MSGCANCELSPOTORDER']._serialized_end=7938 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=7940 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=7968 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=7971 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8141 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8143 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8213 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8216 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8404 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8406 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8485 - _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8488 - _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9498 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9501 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10277 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10280 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10470 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10473 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10662 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10665 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11033 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11036 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11232 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11235 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11427 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11430 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11681 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11683 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11717 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11720 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=11977 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=11979 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12016 - _globals['_ORDERDATA']._serialized_start=12019 - _globals['_ORDERDATA']._serialized_end=12176 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12179 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12361 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12363 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12439 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12442 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12704 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12706 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12737 - _globals['_MSGEXTERNALTRANSFER']._serialized_start=12740 - _globals['_MSGEXTERNALTRANSFER']._serialized_end=12998 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13000 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13029 - _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13032 - _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13264 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13266 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13296 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13299 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13466 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13468 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13502 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13505 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13808 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13810 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=13845 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=13848 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14151 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14153 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14188 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14191 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14393 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14396 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14563 - _globals['_MSGREWARDSOPTOUT']._serialized_start=14565 - _globals['_MSGREWARDSOPTOUT']._serialized_end=14658 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14660 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14686 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14689 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=14864 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=14866 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=14897 - _globals['_MSGSIGNDATA']._serialized_start=14900 - _globals['_MSGSIGNDATA']._serialized_end=15028 - _globals['_MSGSIGNDOC']._serialized_start=15030 - _globals['_MSGSIGNDOC']._serialized_end=15150 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15153 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15549 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15551 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15594 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15597 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15768 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15770 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15803 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15805 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=15926 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=15928 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=15959 - _globals['_MSG']._serialized_start=15962 - _globals['_MSG']._serialized_end=21034 + _globals['_MSGUPDATESPOTMARKET']._serialized_start=366 + _globals['_MSGUPDATESPOTMARKET']._serialized_end=785 + _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_start=787 + _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_end=816 + _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_start=819 + _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_end=1450 + _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_start=1452 + _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_end=1487 + _globals['_MSGUPDATEPARAMS']._serialized_start=1490 + _globals['_MSGUPDATEPARAMS']._serialized_end=1674 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1676 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1701 + _globals['_MSGDEPOSIT']._serialized_start=1704 + _globals['_MSGDEPOSIT']._serialized_end=1879 + _globals['_MSGDEPOSITRESPONSE']._serialized_start=1881 + _globals['_MSGDEPOSITRESPONSE']._serialized_end=1901 + _globals['_MSGWITHDRAW']._serialized_start=1904 + _globals['_MSGWITHDRAW']._serialized_end=2081 + _globals['_MSGWITHDRAWRESPONSE']._serialized_start=2083 + _globals['_MSGWITHDRAWRESPONSE']._serialized_end=2104 + _globals['_MSGCREATESPOTLIMITORDER']._serialized_start=2107 + _globals['_MSGCREATESPOTLIMITORDER']._serialized_end=2281 + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_start=2283 + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_end=2375 + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_start=2378 + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_end=2566 + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_start=2569 + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_end=2747 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_start=2750 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3273 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3275 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3311 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3314 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4259 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4261 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4302 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4305 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5210 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5212 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5257 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5260 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6237 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6239 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6284 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6287 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6463 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6466 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6643 + _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6646 + _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6924 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6927 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=7115 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=7117 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7215 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7218 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7412 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7414 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7515 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7518 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7720 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7723 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7907 + _globals['_MSGCANCELSPOTORDER']._serialized_start=7910 + _globals['_MSGCANCELSPOTORDER']._serialized_end=8118 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=8120 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=8148 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=8151 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8321 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8323 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8393 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8396 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8584 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8586 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8665 + _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8668 + _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9678 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9681 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10457 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10460 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10650 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10653 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10842 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10845 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11213 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11216 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11412 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11415 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11607 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11610 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11861 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11863 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11897 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11900 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=12157 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=12159 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12196 + _globals['_ORDERDATA']._serialized_start=12199 + _globals['_ORDERDATA']._serialized_end=12356 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12359 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12541 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12543 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12619 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12622 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12884 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12886 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12917 + _globals['_MSGEXTERNALTRANSFER']._serialized_start=12920 + _globals['_MSGEXTERNALTRANSFER']._serialized_end=13178 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13180 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13209 + _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13212 + _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13444 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13446 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13476 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13479 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13646 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13648 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13682 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13685 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13988 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13990 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=14025 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=14028 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14331 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14333 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14368 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14371 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14573 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14576 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14743 + _globals['_MSGREWARDSOPTOUT']._serialized_start=14745 + _globals['_MSGREWARDSOPTOUT']._serialized_end=14838 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14840 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14866 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14869 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=15044 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=15046 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=15077 + _globals['_MSGSIGNDATA']._serialized_start=15080 + _globals['_MSGSIGNDATA']._serialized_end=15208 + _globals['_MSGSIGNDOC']._serialized_start=15210 + _globals['_MSGSIGNDOC']._serialized_end=15330 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15333 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15729 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15731 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15774 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15777 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15948 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15950 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15983 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15985 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=16106 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=16108 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=16139 + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_start=16142 + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_end=16350 + _globals['_MSGBATCHEXCHANGEMODIFICATIONRESPONSE']._serialized_start=16352 + _globals['_MSGBATCHEXCHANGEMODIFICATIONRESPONSE']._serialized_end=16390 + _globals['_MSG']._serialized_start=16393 + _globals['_MSG']._serialized_end=21167 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2_grpc.py index e8346ec5..0feea238 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2_grpc.py @@ -30,16 +30,6 @@ def __init__(self, channel): request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunch.SerializeToString, response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.FromString, _registered_method=True) - self.InstantPerpetualMarketLaunch = channel.unary_unary( - '/injective.exchange.v1beta1.Msg/InstantPerpetualMarketLaunch', - request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString, - response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString, - _registered_method=True) - self.InstantExpiryFuturesMarketLaunch = channel.unary_unary( - '/injective.exchange.v1beta1.Msg/InstantExpiryFuturesMarketLaunch', - request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString, - response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString, - _registered_method=True) self.CreateSpotLimitOrder = channel.unary_unary( '/injective.exchange.v1beta1.Msg/CreateSpotLimitOrder', request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrder.SerializeToString, @@ -165,11 +155,6 @@ def __init__(self, channel): request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.SerializeToString, response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.FromString, _registered_method=True) - self.UpdateParams = channel.unary_unary( - '/injective.exchange.v1beta1.Msg/UpdateParams', - request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, - response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, - _registered_method=True) self.UpdateSpotMarket = channel.unary_unary( '/injective.exchange.v1beta1.Msg/UpdateSpotMarket', request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarket.SerializeToString, @@ -190,6 +175,11 @@ def __init__(self, channel): request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrant.SerializeToString, response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrantResponse.FromString, _registered_method=True) + self.BatchExchangeModification = channel.unary_unary( + '/injective.exchange.v1beta1.Msg/BatchExchangeModification', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModification.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModificationResponse.FromString, + _registered_method=True) class MsgServicer(object): @@ -220,22 +210,6 @@ def InstantSpotMarketLaunch(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def InstantPerpetualMarketLaunch(self, request, context): - """InstantPerpetualMarketLaunch defines a method for creating a new perpetual - futures market by paying listing fee without governance - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def InstantExpiryFuturesMarketLaunch(self, request, context): - """InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry - futures market by paying listing fee without governance - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def CreateSpotLimitOrder(self, request, context): """CreateSpotLimitOrder defines a method for creating a new spot limit order. """ @@ -426,12 +400,6 @@ def AdminUpdateBinaryOptionsMarket(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def UpdateParams(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def UpdateSpotMarket(self, request, context): """UpdateSpotMarket modifies certain spot market fields (admin only) """ @@ -459,6 +427,12 @@ def ActivateStakeGrant(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def BatchExchangeModification(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_MsgServicer_to_server(servicer, server): rpc_method_handlers = { @@ -477,16 +451,6 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunch.FromString, response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.SerializeToString, ), - 'InstantPerpetualMarketLaunch': grpc.unary_unary_rpc_method_handler( - servicer.InstantPerpetualMarketLaunch, - request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.FromString, - response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.SerializeToString, - ), - 'InstantExpiryFuturesMarketLaunch': grpc.unary_unary_rpc_method_handler( - servicer.InstantExpiryFuturesMarketLaunch, - request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.FromString, - response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.SerializeToString, - ), 'CreateSpotLimitOrder': grpc.unary_unary_rpc_method_handler( servicer.CreateSpotLimitOrder, request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrder.FromString, @@ -612,11 +576,6 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.FromString, response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.SerializeToString, ), - 'UpdateParams': grpc.unary_unary_rpc_method_handler( - servicer.UpdateParams, - request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, - response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, - ), 'UpdateSpotMarket': grpc.unary_unary_rpc_method_handler( servicer.UpdateSpotMarket, request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarket.FromString, @@ -637,6 +596,11 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrant.FromString, response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrantResponse.SerializeToString, ), + 'BatchExchangeModification': grpc.unary_unary_rpc_method_handler( + servicer.BatchExchangeModification, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModification.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModificationResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.exchange.v1beta1.Msg', rpc_method_handlers) @@ -730,60 +694,6 @@ def InstantSpotMarketLaunch(request, metadata, _registered_method=True) - @staticmethod - def InstantPerpetualMarketLaunch(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/injective.exchange.v1beta1.Msg/InstantPerpetualMarketLaunch', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def InstantExpiryFuturesMarketLaunch(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/injective.exchange.v1beta1.Msg/InstantExpiryFuturesMarketLaunch', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - @staticmethod def CreateSpotLimitOrder(request, target, @@ -1460,7 +1370,7 @@ def AdminUpdateBinaryOptionsMarket(request, _registered_method=True) @staticmethod - def UpdateParams(request, + def UpdateSpotMarket(request, target, options=(), channel_credentials=None, @@ -1473,9 +1383,9 @@ def UpdateParams(request, return grpc.experimental.unary_unary( request, target, - '/injective.exchange.v1beta1.Msg/UpdateParams', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + '/injective.exchange.v1beta1.Msg/UpdateSpotMarket', + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarket.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarketResponse.FromString, options, channel_credentials, insecure, @@ -1487,7 +1397,7 @@ def UpdateParams(request, _registered_method=True) @staticmethod - def UpdateSpotMarket(request, + def UpdateDerivativeMarket(request, target, options=(), channel_credentials=None, @@ -1500,9 +1410,9 @@ def UpdateSpotMarket(request, return grpc.experimental.unary_unary( request, target, - '/injective.exchange.v1beta1.Msg/UpdateSpotMarket', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarket.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateSpotMarketResponse.FromString, + '/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket', + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateDerivativeMarket.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateDerivativeMarketResponse.FromString, options, channel_credentials, insecure, @@ -1514,7 +1424,7 @@ def UpdateSpotMarket(request, _registered_method=True) @staticmethod - def UpdateDerivativeMarket(request, + def AuthorizeStakeGrants(request, target, options=(), channel_credentials=None, @@ -1527,9 +1437,9 @@ def UpdateDerivativeMarket(request, return grpc.experimental.unary_unary( request, target, - '/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateDerivativeMarket.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgUpdateDerivativeMarketResponse.FromString, + '/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants', + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAuthorizeStakeGrants.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAuthorizeStakeGrantsResponse.FromString, options, channel_credentials, insecure, @@ -1541,7 +1451,7 @@ def UpdateDerivativeMarket(request, _registered_method=True) @staticmethod - def AuthorizeStakeGrants(request, + def ActivateStakeGrant(request, target, options=(), channel_credentials=None, @@ -1554,9 +1464,9 @@ def AuthorizeStakeGrants(request, return grpc.experimental.unary_unary( request, target, - '/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAuthorizeStakeGrants.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAuthorizeStakeGrantsResponse.FromString, + '/injective.exchange.v1beta1.Msg/ActivateStakeGrant', + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrant.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrantResponse.FromString, options, channel_credentials, insecure, @@ -1568,7 +1478,7 @@ def AuthorizeStakeGrants(request, _registered_method=True) @staticmethod - def ActivateStakeGrant(request, + def BatchExchangeModification(request, target, options=(), channel_credentials=None, @@ -1581,9 +1491,9 @@ def ActivateStakeGrant(request, return grpc.experimental.unary_unary( request, target, - '/injective.exchange.v1beta1.Msg/ActivateStakeGrant', - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrant.SerializeToString, - injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgActivateStakeGrantResponse.FromString, + '/injective.exchange.v1beta1.Msg/BatchExchangeModification', + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModification.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchExchangeModificationResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/injective/exchange/v2/authz_pb2.py b/pyinjective/proto/injective/exchange/v2/authz_pb2.py new file mode 100644 index 00000000..7c49d59a --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/authz_pb2.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/authz.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/exchange/v2/authz.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a\x11\x61mino/amino.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x99\x01\n\x19\x43reateSpotLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:8\xca\xb4-\rAuthorization\x8a\xe7\xb0*\"exchange/CreateSpotLimitOrderAuthz\"\x9b\x01\n\x1a\x43reateSpotMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CreateSpotMarketOrderAuthz\"\xa5\x01\n\x1f\x42\x61tchCreateSpotLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/BatchCreateSpotLimitOrdersAuthz\"\x8f\x01\n\x14\x43\x61ncelSpotOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:3\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1d\x65xchange/CancelSpotOrderAuthz\"\x9b\x01\n\x1a\x42\x61tchCancelSpotOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/BatchCancelSpotOrdersAuthz\"\xa5\x01\n\x1f\x43reateDerivativeLimitOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:>\xca\xb4-\rAuthorization\x8a\xe7\xb0*(exchange/CreateDerivativeLimitOrderAuthz\"\xa7\x01\n CreateDerivativeMarketOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/CreateDerivativeMarketOrderAuthz\"\xb1\x01\n%BatchCreateDerivativeLimitOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:D\xca\xb4-\rAuthorization\x8a\xe7\xb0*.exchange/BatchCreateDerivativeLimitOrdersAuthz\"\x9b\x01\n\x1a\x43\x61ncelDerivativeOrderAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:9\xca\xb4-\rAuthorization\x8a\xe7\xb0*#exchange/CancelDerivativeOrderAuthz\"\xa7\x01\n BatchCancelDerivativeOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds:?\xca\xb4-\rAuthorization\x8a\xe7\xb0*)exchange/BatchCancelDerivativeOrdersAuthz\"\xc6\x01\n\x16\x42\x61tchUpdateOrdersAuthz\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12!\n\x0cspot_markets\x18\x02 \x03(\tR\x0bspotMarkets\x12-\n\x12\x64\x65rivative_markets\x18\x03 \x03(\tR\x11\x64\x65rivativeMarkets:5\xca\xb4-\rAuthorization\x8a\xe7\xb0*\x1f\x65xchange/BatchUpdateOrdersAuthz\"\xf2\x01\n\x1cGenericExchangeAuthorization\x12\x10\n\x03msg\x18\x01 \x01(\tR\x03msg\x12\x82\x01\n\x0bspend_limit\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinBF\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.Coins\x9a\xe7\xb0*\x0clegacy_coins\xa8\xe7\xb0*\x01R\nspendLimit:;\xca\xb4-\rAuthorization\x8a\xe7\xb0*%exchange/GenericExchangeAuthorizationB\xf0\x01\n\x19\x63om.injective.exchange.v2B\nAuthzProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.authz_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\nAuthzProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_CREATESPOTLIMITORDERAUTHZ']._loaded_options = None + _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*\"exchange/CreateSpotLimitOrderAuthz' + _globals['_CREATESPOTMARKETORDERAUTHZ']._loaded_options = None + _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*#exchange/CreateSpotMarketOrderAuthz' + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._loaded_options = None + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*(exchange/BatchCreateSpotLimitOrdersAuthz' + _globals['_CANCELSPOTORDERAUTHZ']._loaded_options = None + _globals['_CANCELSPOTORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*\035exchange/CancelSpotOrderAuthz' + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._loaded_options = None + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*#exchange/BatchCancelSpotOrdersAuthz' + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._loaded_options = None + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*(exchange/CreateDerivativeLimitOrderAuthz' + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._loaded_options = None + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*)exchange/CreateDerivativeMarketOrderAuthz' + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._loaded_options = None + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*.exchange/BatchCreateDerivativeLimitOrdersAuthz' + _globals['_CANCELDERIVATIVEORDERAUTHZ']._loaded_options = None + _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*#exchange/CancelDerivativeOrderAuthz' + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._loaded_options = None + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*)exchange/BatchCancelDerivativeOrdersAuthz' + _globals['_BATCHUPDATEORDERSAUTHZ']._loaded_options = None + _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_options = b'\312\264-\rAuthorization\212\347\260*\037exchange/BatchUpdateOrdersAuthz' + _globals['_GENERICEXCHANGEAUTHORIZATION'].fields_by_name['spend_limit']._loaded_options = None + _globals['_GENERICEXCHANGEAUTHORIZATION'].fields_by_name['spend_limit']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins\232\347\260*\014legacy_coins\250\347\260*\001' + _globals['_GENERICEXCHANGEAUTHORIZATION']._loaded_options = None + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_options = b'\312\264-\rAuthorization\212\347\260*%exchange/GenericExchangeAuthorization' + _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_start=161 + _globals['_CREATESPOTLIMITORDERAUTHZ']._serialized_end=314 + _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_start=317 + _globals['_CREATESPOTMARKETORDERAUTHZ']._serialized_end=472 + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_start=475 + _globals['_BATCHCREATESPOTLIMITORDERSAUTHZ']._serialized_end=640 + _globals['_CANCELSPOTORDERAUTHZ']._serialized_start=643 + _globals['_CANCELSPOTORDERAUTHZ']._serialized_end=786 + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_start=789 + _globals['_BATCHCANCELSPOTORDERSAUTHZ']._serialized_end=944 + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_start=947 + _globals['_CREATEDERIVATIVELIMITORDERAUTHZ']._serialized_end=1112 + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_start=1115 + _globals['_CREATEDERIVATIVEMARKETORDERAUTHZ']._serialized_end=1282 + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_start=1285 + _globals['_BATCHCREATEDERIVATIVELIMITORDERSAUTHZ']._serialized_end=1462 + _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_start=1465 + _globals['_CANCELDERIVATIVEORDERAUTHZ']._serialized_end=1620 + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_start=1623 + _globals['_BATCHCANCELDERIVATIVEORDERSAUTHZ']._serialized_end=1790 + _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_start=1793 + _globals['_BATCHUPDATEORDERSAUTHZ']._serialized_end=1991 + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_start=1994 + _globals['_GENERICEXCHANGEAUTHORIZATION']._serialized_end=2236 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/authz_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/authz_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/authz_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/events_pb2.py b/pyinjective/proto/injective/exchange/v2/events_pb2.py new file mode 100644 index 00000000..7136a611 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/events_pb2.py @@ -0,0 +1,209 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/events.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.exchange.v2 import order_pb2 as injective_dot_exchange_dot_v2_dot_order__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"injective/exchange/v2/events.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a$injective/exchange/v2/exchange.proto\x1a\"injective/exchange/v2/market.proto\x1a!injective/exchange/v2/order.proto\"\xd2\x01\n\x17\x45ventBatchSpotExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12J\n\rexecutionType\x18\x03 \x01(\x0e\x32$.injective.exchange.v2.ExecutionTypeR\rexecutionType\x12\x37\n\x06trades\x18\x04 \x03(\x0b\x32\x1f.injective.exchange.v2.TradeLogR\x06trades\"\xdd\x02\n\x1d\x45ventBatchDerivativeExecution\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12%\n\x0eis_liquidation\x18\x03 \x01(\x08R\risLiquidation\x12R\n\x12\x63umulative_funding\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12J\n\rexecutionType\x18\x05 \x01(\x0e\x32$.injective.exchange.v2.ExecutionTypeR\rexecutionType\x12\x41\n\x06trades\x18\x06 \x03(\x0b\x32).injective.exchange.v2.DerivativeTradeLogR\x06trades\"\xc2\x02\n\x1d\x45ventLostFundsFromLiquidation\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12x\n\'lost_funds_from_available_during_payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"lostFundsFromAvailableDuringPayout\x12\x65\n\x1dlost_funds_from_order_cancels\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19lostFundsFromOrderCancels\"\xe8\x01\n&EventLostFundsFromCrossPoolLiquidation\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\x12x\n\'lost_funds_from_available_during_payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"lostFundsFromAvailableDuringPayout\"\x84\x01\n\x1c\x45ventBatchDerivativePosition\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12G\n\tpositions\x18\x02 \x03(\x0b\x32).injective.exchange.v2.SubaccountPositionR\tpositions\"\xbb\x01\n\x1b\x45ventDerivativeMarketPaused\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12.\n\x13total_missing_funds\x18\x03 \x01(\tR\x11totalMissingFunds\x12,\n\x12missing_funds_rate\x18\x04 \x01(\tR\x10missingFundsRate\"P\n\x19\x45ventSettledMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"S\n\x1c\x45ventNotSettledMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x16\n\x06\x61mount\x18\x02 \x01(\tR\x06\x61mount\"\x8f\x01\n\x1b\x45ventMarketBeyondBankruptcy\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12\x30\n\x14missing_market_funds\x18\x03 \x01(\tR\x12missingMarketFunds\"\x88\x01\n\x18\x45ventAllPositionsHaircut\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12!\n\x0csettle_price\x18\x02 \x01(\tR\x0bsettlePrice\x12,\n\x12missing_funds_rate\x18\x03 \x01(\tR\x10missingFundsRate\"j\n\x1e\x45ventBinaryOptionsMarketUpdate\x12H\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v2.BinaryOptionsMarketB\x04\xc8\xde\x1f\x00R\x06market\"d\n\x1b\x45ventDerivativeMarketUpdate\x12\x45\n\x06market\x18\x01 \x01(\x0b\x32\'.injective.exchange.v2.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\"\xbf\x01\n\x12\x45ventNewSpotOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x44\n\nbuy_orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v2.SpotLimitOrderR\tbuyOrders\x12\x46\n\x0bsell_orders\x18\x03 \x03(\x0b\x32%.injective.exchange.v2.SpotLimitOrderR\nsellOrders\"\xd1\x01\n\x18\x45ventNewDerivativeOrders\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\nbuy_orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderR\tbuyOrders\x12L\n\x0bsell_orders\x18\x03 \x03(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderR\nsellOrders\"v\n\x14\x45ventCancelSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v2.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"X\n\x15\x45ventSpotMarketUpdate\x12?\n\x06market\x18\x01 \x01(\x0b\x32!.injective.exchange.v2.SpotMarketB\x04\xc8\xde\x1f\x00R\x06market\"\x98\x02\n\x1a\x45ventPerpetualMarketUpdate\x12\x45\n\x06market\x18\x01 \x01(\x0b\x32\'.injective.exchange.v2.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12\x64\n\x15perpetual_market_info\x18\x02 \x01(\x0b\x32*.injective.exchange.v2.PerpetualMarketInfoB\x04\xc8\xde\x1f\x01R\x13perpetualMarketInfo\x12M\n\x07\x66unding\x18\x03 \x01(\x0b\x32-.injective.exchange.v2.PerpetualMarketFundingB\x04\xc8\xde\x1f\x01R\x07\x66unding\"\xda\x01\n\x1e\x45ventExpiryFuturesMarketUpdate\x12\x45\n\x06market\x18\x01 \x01(\x0b\x32\'.injective.exchange.v2.DerivativeMarketB\x04\xc8\xde\x1f\x00R\x06market\x12q\n\x1a\x65xpiry_futures_market_info\x18\x03 \x01(\x0b\x32..injective.exchange.v2.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x01R\x17\x65xpiryFuturesMarketInfo\"\xc7\x02\n!EventPerpetualMarketFundingUpdate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12M\n\x07\x66unding\x18\x02 \x01(\x0b\x32-.injective.exchange.v2.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x07\x66unding\x12*\n\x11is_hourly_funding\x18\x03 \x01(\x08R\x0fisHourlyFunding\x12\x46\n\x0c\x66unding_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x66undingRate\x12\x42\n\nmark_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\"\x97\x01\n\x16\x45ventSubaccountDeposit\x12\x1f\n\x0bsrc_address\x18\x01 \x01(\tR\nsrcAddress\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x98\x01\n\x17\x45ventSubaccountWithdraw\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x1f\n\x0b\x64st_address\x18\x02 \x01(\tR\ndstAddress\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\xb1\x01\n\x1e\x45ventSubaccountBalanceTransfer\x12*\n\x11src_subaccount_id\x18\x01 \x01(\tR\x0fsrcSubaccountId\x12*\n\x11\x64st_subaccount_id\x18\x02 \x01(\tR\x0f\x64stSubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x9b\x02\n!EventSubaccountRiskProfileUpdated\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12]\n\x10previous_profile\x18\x02 \x01(\x0b\x32,.injective.exchange.v2.SubaccountRiskProfileB\x04\xc8\xde\x1f\x00R\x0fpreviousProfile\x12S\n\x0bnew_profile\x18\x03 \x01(\x0b\x32,.injective.exchange.v2.SubaccountRiskProfileB\x04\xc8\xde\x1f\x00R\nnewProfile\x12\x1d\n\nis_default\x18\x04 \x01(\x08R\tisDefault\"h\n\x17\x45ventBatchDepositUpdate\x12M\n\x0f\x64\x65posit_updates\x18\x01 \x03(\x0b\x32$.injective.exchange.v2.DepositUpdateR\x0e\x64\x65positUpdates\"\xc2\x01\n\x1b\x44\x65rivativeMarketOrderCancel\x12U\n\x0cmarket_order\x18\x01 \x01(\x0b\x32,.injective.exchange.v2.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\x12L\n\x0f\x63\x61ncel_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x63\x61ncelQuantity\"\x9d\x02\n\x1a\x45ventCancelDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12R\n\x0blimit_order\x18\x03 \x01(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12h\n\x13market_order_cancel\x18\x04 \x01(\x0b\x32\x32.injective.exchange.v2.DerivativeMarketOrderCancelB\x04\xc8\xde\x1f\x01R\x11marketOrderCancel\"b\n\x18\x45ventFeeDiscountSchedule\x12\x46\n\x08schedule\x18\x01 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountScheduleR\x08schedule\"\xd8\x01\n EventTradingRewardCampaignUpdate\x12U\n\rcampaign_info\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v2.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12]\n\x15\x63\x61mpaign_reward_pools\x18\x02 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools\"p\n\x1e\x45ventTradingRewardDistribution\x12N\n\x0f\x61\x63\x63ount_rewards\x18\x01 \x03(\x0b\x32%.injective.exchange.v2.AccountRewardsR\x0e\x61\x63\x63ountRewards\"\xb0\x01\n\"EventNewConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12<\n\x05order\x18\x02 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderR\x05order\x12\x12\n\x04hash\x18\x03 \x01(\x0cR\x04hash\x12\x1b\n\tis_market\x18\x04 \x01(\x08R\x08isMarket\"\x95\x02\n%EventCancelConditionalDerivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12$\n\risLimitCancel\x18\x02 \x01(\x08R\risLimitCancel\x12R\n\x0blimit_order\x18\x03 \x01(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderB\x04\xc8\xde\x1f\x01R\nlimitOrder\x12U\n\x0cmarket_order\x18\x04 \x01(\x0b\x32,.injective.exchange.v2.DerivativeMarketOrderB\x04\xc8\xde\x1f\x01R\x0bmarketOrder\"\xfb\x01\n&EventConditionalDerivativeOrderTrigger\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12&\n\x0eisLimitTrigger\x18\x02 \x01(\x08R\x0eisLimitTrigger\x12\x30\n\x14triggered_order_hash\x18\x03 \x01(\x0cR\x12triggeredOrderHash\x12*\n\x11placed_order_hash\x18\x04 \x01(\x0cR\x0fplacedOrderHash\x12.\n\x13triggered_order_cid\x18\x05 \x01(\tR\x11triggeredOrderCid\"l\n\x0e\x45ventOrderFail\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0cR\x07\x61\x63\x63ount\x12\x16\n\x06hashes\x18\x02 \x03(\x0cR\x06hashes\x12\x14\n\x05\x66lags\x18\x03 \x03(\rR\x05\x66lags\x12\x12\n\x04\x63ids\x18\x04 \x03(\tR\x04\x63ids\"\x8f\x01\n+EventAtomicMarketOrderFeeMultipliersUpdated\x12`\n\x16market_fee_multipliers\x18\x01 \x03(\x0b\x32*.injective.exchange.v2.MarketFeeMultiplierR\x14marketFeeMultipliers\"\xb8\x01\n\x14\x45ventOrderbookUpdate\x12I\n\x0cspot_updates\x18\x01 \x03(\x0b\x32&.injective.exchange.v2.OrderbookUpdateR\x0bspotUpdates\x12U\n\x12\x64\x65rivative_updates\x18\x02 \x03(\x0b\x32&.injective.exchange.v2.OrderbookUpdateR\x11\x64\x65rivativeUpdates\"c\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12>\n\torderbook\x18\x02 \x01(\x0b\x32 .injective.exchange.v2.OrderbookR\torderbook\"\xa4\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\x0cR\x08marketId\x12;\n\nbuy_levels\x18\x02 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\tbuyLevels\x12=\n\x0bsell_levels\x18\x03 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\nsellLevels\"w\n\x18\x45ventGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x41\n\x06grants\x18\x02 \x03(\x0b\x32).injective.exchange.v2.GrantAuthorizationR\x06grants\"\x81\x01\n\x14\x45ventGrantActivation\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"G\n\x11\x45ventInvalidGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter\"\xab\x01\n\x14\x45ventOrderCancelFail\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scription\"\xfb\x01\n EventDerivativeOrdersV2Migration\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12[\n\x11\x62uy_order_changes\x18\x02 \x03(\x0b\x32/.injective.exchange.v2.DerivativeOrderV2ChangesR\x0f\x62uyOrderChanges\x12]\n\x12sell_order_changes\x18\x03 \x03(\x0b\x32/.injective.exchange.v2.DerivativeOrderV2ChangesR\x10sellOrderChanges\"\xc1\x02\n\x18\x44\x65rivativeOrderV2Changes\x12\x10\n\x03\x63id\x18\x01 \x01(\tR\x03\x63id\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\x12\x31\n\x01p\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\x12\x31\n\x01m\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01m\x12\x31\n\x01\x66\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01\x66\x12\x33\n\x02tp\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x02tp\"\xe9\x01\n\x1a\x45ventSpotOrdersV2Migration\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12U\n\x11\x62uy_order_changes\x18\x02 \x03(\x0b\x32).injective.exchange.v2.SpotOrderV2ChangesR\x0f\x62uyOrderChanges\x12W\n\x12sell_order_changes\x18\x03 \x03(\x0b\x32).injective.exchange.v2.SpotOrderV2ChangesR\x10sellOrderChanges\"\x82\x02\n(EventTriggerConditionalMarketOrderFailed\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x42\n\nmark_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12\x1d\n\norder_hash\x18\x04 \x01(\x0cR\torderHash\x12\x1f\n\x0btrigger_err\x18\x05 \x01(\tR\ntriggerErr\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"\x81\x02\n\'EventTriggerConditionalLimitOrderFailed\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x42\n\nmark_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12\x1d\n\norder_hash\x18\x04 \x01(\x0cR\torderHash\x12\x1f\n\x0btrigger_err\x18\x05 \x01(\tR\ntriggerErr\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"\x88\x02\n\x12SpotOrderV2Changes\x12\x10\n\x03\x63id\x18\x01 \x01(\tR\x03\x63id\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\x12\x31\n\x01p\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\x12\x31\n\x01\x66\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01\x66\x12\x33\n\x02tp\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x02tp\"k\n\"EventDerivativePositionV2Migration\x12\x45\n\x08position\x18\x01 \x01(\x0b\x32).injective.exchange.v2.DerivativePositionR\x08position\"\xe3\x01\n\x15\x45ventPositionTransfer\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantityB\xf1\x01\n\x19\x63om.injective.exchange.v2B\x0b\x45ventsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\013EventsProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_EVENTBATCHDERIVATIVEEXECUTION'].fields_by_name['cumulative_funding']._loaded_options = None + _globals['_EVENTBATCHDERIVATIVEEXECUTION'].fields_by_name['cumulative_funding']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._loaded_options = None + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_order_cancels']._loaded_options = None + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION'].fields_by_name['lost_funds_from_order_cancels']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._loaded_options = None + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION'].fields_by_name['lost_funds_from_available_during_payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTBINARYOPTIONSMARKETUPDATE'].fields_by_name['market']._loaded_options = None + _globals['_EVENTBINARYOPTIONSMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' + _globals['_EVENTDERIVATIVEMARKETUPDATE'].fields_by_name['market']._loaded_options = None + _globals['_EVENTDERIVATIVEMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' + _globals['_EVENTCANCELSPOTORDER'].fields_by_name['order']._loaded_options = None + _globals['_EVENTCANCELSPOTORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSPOTMARKETUPDATE'].fields_by_name['market']._loaded_options = None + _globals['_EVENTSPOTMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['market']._loaded_options = None + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['perpetual_market_info']._loaded_options = None + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['perpetual_market_info']._serialized_options = b'\310\336\037\001' + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['funding']._loaded_options = None + _globals['_EVENTPERPETUALMARKETUPDATE'].fields_by_name['funding']._serialized_options = b'\310\336\037\001' + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE'].fields_by_name['market']._loaded_options = None + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE'].fields_by_name['market']._serialized_options = b'\310\336\037\000' + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE'].fields_by_name['expiry_futures_market_info']._loaded_options = None + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE'].fields_by_name['expiry_futures_market_info']._serialized_options = b'\310\336\037\001' + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['funding']._loaded_options = None + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['funding']._serialized_options = b'\310\336\037\000' + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['funding_rate']._loaded_options = None + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['funding_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['mark_price']._loaded_options = None + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE'].fields_by_name['mark_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTSUBACCOUNTDEPOSIT'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTSUBACCOUNTDEPOSIT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSUBACCOUNTWITHDRAW'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTSUBACCOUNTWITHDRAW'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSUBACCOUNTBALANCETRANSFER'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTSUBACCOUNTBALANCETRANSFER'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED'].fields_by_name['previous_profile']._loaded_options = None + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED'].fields_by_name['previous_profile']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED'].fields_by_name['new_profile']._loaded_options = None + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED'].fields_by_name['new_profile']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEMARKETORDERCANCEL'].fields_by_name['market_order']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERCANCEL'].fields_by_name['market_order']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEMARKETORDERCANCEL'].fields_by_name['cancel_quantity']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERCANCEL'].fields_by_name['cancel_quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTCANCELDERIVATIVEORDER'].fields_by_name['limit_order']._loaded_options = None + _globals['_EVENTCANCELDERIVATIVEORDER'].fields_by_name['limit_order']._serialized_options = b'\310\336\037\001' + _globals['_EVENTCANCELDERIVATIVEORDER'].fields_by_name['market_order_cancel']._loaded_options = None + _globals['_EVENTCANCELDERIVATIVEORDER'].fields_by_name['market_order_cancel']._serialized_options = b'\310\336\037\001' + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER'].fields_by_name['limit_order']._loaded_options = None + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER'].fields_by_name['limit_order']._serialized_options = b'\310\336\037\001' + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER'].fields_by_name['market_order']._loaded_options = None + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER'].fields_by_name['market_order']._serialized_options = b'\310\336\037\001' + _globals['_EVENTGRANTACTIVATION'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTGRANTACTIVATION'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['p']._loaded_options = None + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['p']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['q']._loaded_options = None + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['q']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['m']._loaded_options = None + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['m']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['f']._loaded_options = None + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['f']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['tp']._loaded_options = None + _globals['_DERIVATIVEORDERV2CHANGES'].fields_by_name['tp']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTTRIGGERCONDITIONALMARKETORDERFAILED'].fields_by_name['mark_price']._loaded_options = None + _globals['_EVENTTRIGGERCONDITIONALMARKETORDERFAILED'].fields_by_name['mark_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTTRIGGERCONDITIONALLIMITORDERFAILED'].fields_by_name['mark_price']._loaded_options = None + _globals['_EVENTTRIGGERCONDITIONALLIMITORDERFAILED'].fields_by_name['mark_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDERV2CHANGES'].fields_by_name['p']._loaded_options = None + _globals['_SPOTORDERV2CHANGES'].fields_by_name['p']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDERV2CHANGES'].fields_by_name['q']._loaded_options = None + _globals['_SPOTORDERV2CHANGES'].fields_by_name['q']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDERV2CHANGES'].fields_by_name['f']._loaded_options = None + _globals['_SPOTORDERV2CHANGES'].fields_by_name['f']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDERV2CHANGES'].fields_by_name['tp']._loaded_options = None + _globals['_SPOTORDERV2CHANGES'].fields_by_name['tp']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTPOSITIONTRANSFER'].fields_by_name['quantity']._loaded_options = None + _globals['_EVENTPOSITIONTRANSFER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTBATCHSPOTEXECUTION']._serialized_start=264 + _globals['_EVENTBATCHSPOTEXECUTION']._serialized_end=474 + _globals['_EVENTBATCHDERIVATIVEEXECUTION']._serialized_start=477 + _globals['_EVENTBATCHDERIVATIVEEXECUTION']._serialized_end=826 + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION']._serialized_start=829 + _globals['_EVENTLOSTFUNDSFROMLIQUIDATION']._serialized_end=1151 + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION']._serialized_start=1154 + _globals['_EVENTLOSTFUNDSFROMCROSSPOOLLIQUIDATION']._serialized_end=1386 + _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_start=1389 + _globals['_EVENTBATCHDERIVATIVEPOSITION']._serialized_end=1521 + _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_start=1524 + _globals['_EVENTDERIVATIVEMARKETPAUSED']._serialized_end=1711 + _globals['_EVENTSETTLEDMARKETBALANCE']._serialized_start=1713 + _globals['_EVENTSETTLEDMARKETBALANCE']._serialized_end=1793 + _globals['_EVENTNOTSETTLEDMARKETBALANCE']._serialized_start=1795 + _globals['_EVENTNOTSETTLEDMARKETBALANCE']._serialized_end=1878 + _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_start=1881 + _globals['_EVENTMARKETBEYONDBANKRUPTCY']._serialized_end=2024 + _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_start=2027 + _globals['_EVENTALLPOSITIONSHAIRCUT']._serialized_end=2163 + _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_start=2165 + _globals['_EVENTBINARYOPTIONSMARKETUPDATE']._serialized_end=2271 + _globals['_EVENTDERIVATIVEMARKETUPDATE']._serialized_start=2273 + _globals['_EVENTDERIVATIVEMARKETUPDATE']._serialized_end=2373 + _globals['_EVENTNEWSPOTORDERS']._serialized_start=2376 + _globals['_EVENTNEWSPOTORDERS']._serialized_end=2567 + _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_start=2570 + _globals['_EVENTNEWDERIVATIVEORDERS']._serialized_end=2779 + _globals['_EVENTCANCELSPOTORDER']._serialized_start=2781 + _globals['_EVENTCANCELSPOTORDER']._serialized_end=2899 + _globals['_EVENTSPOTMARKETUPDATE']._serialized_start=2901 + _globals['_EVENTSPOTMARKETUPDATE']._serialized_end=2989 + _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_start=2992 + _globals['_EVENTPERPETUALMARKETUPDATE']._serialized_end=3272 + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_start=3275 + _globals['_EVENTEXPIRYFUTURESMARKETUPDATE']._serialized_end=3493 + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_start=3496 + _globals['_EVENTPERPETUALMARKETFUNDINGUPDATE']._serialized_end=3823 + _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_start=3826 + _globals['_EVENTSUBACCOUNTDEPOSIT']._serialized_end=3977 + _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_start=3980 + _globals['_EVENTSUBACCOUNTWITHDRAW']._serialized_end=4132 + _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_start=4135 + _globals['_EVENTSUBACCOUNTBALANCETRANSFER']._serialized_end=4312 + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED']._serialized_start=4315 + _globals['_EVENTSUBACCOUNTRISKPROFILEUPDATED']._serialized_end=4598 + _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_start=4600 + _globals['_EVENTBATCHDEPOSITUPDATE']._serialized_end=4704 + _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_start=4707 + _globals['_DERIVATIVEMARKETORDERCANCEL']._serialized_end=4901 + _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_start=4904 + _globals['_EVENTCANCELDERIVATIVEORDER']._serialized_end=5189 + _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_start=5191 + _globals['_EVENTFEEDISCOUNTSCHEDULE']._serialized_end=5289 + _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_start=5292 + _globals['_EVENTTRADINGREWARDCAMPAIGNUPDATE']._serialized_end=5508 + _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_start=5510 + _globals['_EVENTTRADINGREWARDDISTRIBUTION']._serialized_end=5622 + _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_start=5625 + _globals['_EVENTNEWCONDITIONALDERIVATIVEORDER']._serialized_end=5801 + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_start=5804 + _globals['_EVENTCANCELCONDITIONALDERIVATIVEORDER']._serialized_end=6081 + _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_start=6084 + _globals['_EVENTCONDITIONALDERIVATIVEORDERTRIGGER']._serialized_end=6335 + _globals['_EVENTORDERFAIL']._serialized_start=6337 + _globals['_EVENTORDERFAIL']._serialized_end=6445 + _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_start=6448 + _globals['_EVENTATOMICMARKETORDERFEEMULTIPLIERSUPDATED']._serialized_end=6591 + _globals['_EVENTORDERBOOKUPDATE']._serialized_start=6594 + _globals['_EVENTORDERBOOKUPDATE']._serialized_end=6778 + _globals['_ORDERBOOKUPDATE']._serialized_start=6780 + _globals['_ORDERBOOKUPDATE']._serialized_end=6879 + _globals['_ORDERBOOK']._serialized_start=6882 + _globals['_ORDERBOOK']._serialized_end=7046 + _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_start=7048 + _globals['_EVENTGRANTAUTHORIZATIONS']._serialized_end=7167 + _globals['_EVENTGRANTACTIVATION']._serialized_start=7170 + _globals['_EVENTGRANTACTIVATION']._serialized_end=7299 + _globals['_EVENTINVALIDGRANT']._serialized_start=7301 + _globals['_EVENTINVALIDGRANT']._serialized_end=7372 + _globals['_EVENTORDERCANCELFAIL']._serialized_start=7375 + _globals['_EVENTORDERCANCELFAIL']._serialized_end=7546 + _globals['_EVENTDERIVATIVEORDERSV2MIGRATION']._serialized_start=7549 + _globals['_EVENTDERIVATIVEORDERSV2MIGRATION']._serialized_end=7800 + _globals['_DERIVATIVEORDERV2CHANGES']._serialized_start=7803 + _globals['_DERIVATIVEORDERV2CHANGES']._serialized_end=8124 + _globals['_EVENTSPOTORDERSV2MIGRATION']._serialized_start=8127 + _globals['_EVENTSPOTORDERSV2MIGRATION']._serialized_end=8360 + _globals['_EVENTTRIGGERCONDITIONALMARKETORDERFAILED']._serialized_start=8363 + _globals['_EVENTTRIGGERCONDITIONALMARKETORDERFAILED']._serialized_end=8621 + _globals['_EVENTTRIGGERCONDITIONALLIMITORDERFAILED']._serialized_start=8624 + _globals['_EVENTTRIGGERCONDITIONALLIMITORDERFAILED']._serialized_end=8881 + _globals['_SPOTORDERV2CHANGES']._serialized_start=8884 + _globals['_SPOTORDERV2CHANGES']._serialized_end=9148 + _globals['_EVENTDERIVATIVEPOSITIONV2MIGRATION']._serialized_start=9150 + _globals['_EVENTDERIVATIVEPOSITIONV2MIGRATION']._serialized_end=9257 + _globals['_EVENTPOSITIONTRANSFER']._serialized_start=9260 + _globals['_EVENTPOSITIONTRANSFER']._serialized_end=9487 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/events_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/events_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/events_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/exchange_pb2.py b/pyinjective/proto/injective/exchange/v2/exchange_pb2.py new file mode 100644 index 00000000..3d8b3789 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/exchange_pb2.py @@ -0,0 +1,260 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/exchange.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.exchange.v2 import order_pb2 as injective_dot_exchange_dot_v2_dot_order__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/exchange/v2/exchange.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a\x11\x61mino/amino.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\"injective/exchange/v2/market.proto\x1a!injective/exchange/v2/order.proto\"\x9d\x01\n\x1c\x45nforcedRestrictionsContract\x12\x43\n\x10\x63ontract_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0f\x63ontractAddress\x12\x32\n\x15pause_event_signature\x18\x02 \x01(\tR\x13pauseEventSignature:\x04\xe8\xa0\x1f\x01\"\xc8\x1c\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12{\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x33.injective.exchange.v2.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12N\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1f\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap\x12*\n\x11\x66ixed_gas_enabled\x18\x1d \x01(\x08R\x0f\x66ixedGasEnabled\x12;\n\x1a\x65mit_legacy_version_events\x18\x1e \x01(\x08R\x17\x65mitLegacyVersionEvents\x12\x62\n\x1b\x64\x65\x66\x61ult_reduce_margin_ratio\x18\x1f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x64\x65\x66\x61ultReduceMarginRatio\x12>\n\x1cpost_only_mode_blocks_amount\x18! \x01(\x04R\x18postOnlyModeBlocksAmount\x12M\n$min_post_only_mode_downtime_duration\x18\" \x01(\tR\x1fminPostOnlyModeDowntimeDuration\x12Z\n+post_only_mode_blocks_amount_after_downtime\x18# \x01(\x04R%postOnlyModeBlocksAmountAfterDowntime\x12\x96\x01\n*deprecated_enforced_restrictions_contracts\x18$ \x03(\x0b\x32\x33.injective.exchange.v2.EnforcedRestrictionsContractB\x04\xc8\xde\x1f\x00R\'deprecatedEnforcedRestrictionsContracts\x12\x38\n\x18white_knight_liquidators\x18% \x03(\tR\x16whiteKnightLiquidators\x12|\n)white_knight_liquidator_reward_share_rate\x18& \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR$whiteKnightLiquidatorRewardShareRate\x12^\n\x13\x63ross_margin_params\x18\' \x01(\x0b\x32(.injective.exchange.v2.CrossMarginParamsB\x04\xc8\xde\x1f\x00R\x11\x63rossMarginParams:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/ParamsJ\x04\x08 \x10!\"\xc5\x03\n\x11\x43rossMarginParams\x12`\n\x1apositive_upnl_haircut_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17positiveUpnlHaircutRate\x12\x44\n\x0b\x66\x65\x65s_buffer\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nfeesBuffer\x12\x30\n\x14\x65nabled_quote_denoms\x18\x03 \x03(\tR\x12\x65nabledQuoteDenoms\x12+\n\x11perpetual_enabled\x18\x04 \x01(\x08R\x10perpetualEnabled\x12%\n\x0e\x65xpiry_enabled\x18\x05 \x01(\x08R\rexpiryEnabled\x12Q\n&max_active_derivative_markets_per_pool\x18\x06 \x01(\rR!maxActiveDerivativeMarketsPerPool\x12)\n\x10\x65mergency_paused\x18\x07 \x01(\x08R\x0f\x65mergencyPaused:\x04\xe8\xa0\x1f\x01\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"r\n\x13SubaccountOrderData\x12<\n\x05order\x18\x01 \x01(\x0b\x32&.injective.exchange.v2.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"\x8a\x01\n\x07\x42\x61lance\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12:\n\x08\x64\x65posits\x18\x03 \x01(\x0b\x32\x1e.injective.exchange.v2.DepositR\x08\x64\x65posits:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9d\x01\n\x12\x44\x65rivativePosition\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12;\n\x08position\x18\x03 \x01(\x0b\x32\x1f.injective.exchange.v2.PositionR\x08position:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\x8e\x03\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12?\n\x08notional\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\x9c\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12K\n\x0eposition_delta\x18\x02 \x01(\x0b\x32$.injective.exchange.v2.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"v\n\x12SubaccountPosition\x12;\n\x08position\x18\x01 \x01(\x0b\x32\x1f.injective.exchange.v2.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"r\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12\x38\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32\x1e.injective.exchange.v2.DepositR\x07\x64\x65posit\"k\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x44\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32(.injective.exchange.v2.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xf4\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12\x65\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32\'.injective.exchange.v2.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12q\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32\'.injective.exchange.v2.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa4\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12p\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v2.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x87\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12I\n\ntier_infos\x18\x04 \x03(\x0b\x32*.injective.exchange.v2.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x81\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12T\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\".injective.exchange.v2.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x92\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12J\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\rmarketVolumes\"\x84\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12J\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\rmarketVolumes\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid\"p\n\x10\x44\x65nomMinNotional\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x46\n\x0cmin_notional\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\"\xcb\x01\n\x15SubaccountRiskProfile\x12\x33\n\x04mode\x18\x01 \x01(\x0e\x32\x1f.injective.exchange.v2.RiskModeR\x04mode\x12W\n\x12reservation_policy\x18\x02 \x01(\x0e\x32(.injective.exchange.v2.ReservationPolicyR\x11reservationPolicy\x12$\n\x0e\x63redit_line_id\x18\x03 \x01(\tR\x0c\x63reditLineId*\xd6\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06\x12\x16\n\x12OffsettingPosition\x10\x07\x12\r\n\tSynthetic\x10\x08*k\n\x08RiskMode\x12\x19\n\x15RISK_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12RISK_MODE_ISOLATED\x10\x01\x12\x13\n\x0fRISK_MODE_CROSS\x10\x02\x12\x17\n\x13RISK_MODE_PORTFOLIO\x10\x03*\x9e\x01\n\x11ReservationPolicy\x12\"\n\x1eRESERVATION_POLICY_UNSPECIFIED\x10\x00\x12 \n\x1cRESERVATION_POLICY_FULL_HOLD\x10\x01\x12#\n\x1fRESERVATION_POLICY_PARTIAL_HOLD\x10\x02\x12\x1e\n\x1aRESERVATION_POLICY_NO_HOLD\x10\x03\x42\xf3\x01\n\x19\x63om.injective.exchange.v2B\rExchangeProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.exchange_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\rExchangeProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_ENFORCEDRESTRICTIONSCONTRACT'].fields_by_name['contract_address']._loaded_options = None + _globals['_ENFORCEDRESTRICTIONSCONTRACT'].fields_by_name['contract_address']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_ENFORCEDRESTRICTIONSCONTRACT']._loaded_options = None + _globals['_ENFORCEDRESTRICTIONSCONTRACT']._serialized_options = b'\350\240\037\001' + _globals['_PARAMS'].fields_by_name['spot_market_instant_listing_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['spot_market_instant_listing_fee']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS'].fields_by_name['derivative_market_instant_listing_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['derivative_market_instant_listing_fee']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS'].fields_by_name['default_spot_maker_fee_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_spot_maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_spot_taker_fee_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_spot_taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_derivative_maker_fee_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_derivative_maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_derivative_taker_fee_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_derivative_taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_initial_margin_ratio']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_maintenance_margin_ratio']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_hourly_funding_rate_cap']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_hourly_funding_rate_cap']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['default_hourly_interest_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_hourly_interest_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['inj_reward_staked_requirement_threshold']._loaded_options = None + _globals['_PARAMS'].fields_by_name['inj_reward_staked_requirement_threshold']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_PARAMS'].fields_by_name['liquidator_reward_share_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['liquidator_reward_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['binary_options_market_instant_listing_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['binary_options_market_instant_listing_fee']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS'].fields_by_name['spot_atomic_market_order_fee_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['spot_atomic_market_order_fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['derivative_atomic_market_order_fee_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['derivative_atomic_market_order_fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['binary_options_atomic_market_order_fee_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['binary_options_atomic_market_order_fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['minimal_protocol_fee_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['minimal_protocol_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['inj_auction_max_cap']._loaded_options = None + _globals['_PARAMS'].fields_by_name['inj_auction_max_cap']._serialized_options = b'\030\001\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_PARAMS'].fields_by_name['default_reduce_margin_ratio']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['deprecated_enforced_restrictions_contracts']._loaded_options = None + _globals['_PARAMS'].fields_by_name['deprecated_enforced_restrictions_contracts']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS'].fields_by_name['white_knight_liquidator_reward_share_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['white_knight_liquidator_reward_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['cross_margin_params']._loaded_options = None + _globals['_PARAMS'].fields_by_name['cross_margin_params']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS']._loaded_options = None + _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\017exchange/Params' + _globals['_CROSSMARGINPARAMS'].fields_by_name['positive_upnl_haircut_rate']._loaded_options = None + _globals['_CROSSMARGINPARAMS'].fields_by_name['positive_upnl_haircut_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_CROSSMARGINPARAMS'].fields_by_name['fees_buffer']._loaded_options = None + _globals['_CROSSMARGINPARAMS'].fields_by_name['fees_buffer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_CROSSMARGINPARAMS']._loaded_options = None + _globals['_CROSSMARGINPARAMS']._serialized_options = b'\350\240\037\001' + _globals['_MIDPRICEANDTOB'].fields_by_name['mid_price']._loaded_options = None + _globals['_MIDPRICEANDTOB'].fields_by_name['mid_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MIDPRICEANDTOB'].fields_by_name['best_buy_price']._loaded_options = None + _globals['_MIDPRICEANDTOB'].fields_by_name['best_buy_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MIDPRICEANDTOB'].fields_by_name['best_sell_price']._loaded_options = None + _globals['_MIDPRICEANDTOB'].fields_by_name['best_sell_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DEPOSIT'].fields_by_name['available_balance']._loaded_options = None + _globals['_DEPOSIT'].fields_by_name['available_balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DEPOSIT'].fields_by_name['total_balance']._loaded_options = None + _globals['_DEPOSIT'].fields_by_name['total_balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SUBACCOUNTORDER'].fields_by_name['price']._loaded_options = None + _globals['_SUBACCOUNTORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SUBACCOUNTORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_SUBACCOUNTORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['quantity']._loaded_options = None + _globals['_POSITION'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['entry_price']._loaded_options = None + _globals['_POSITION'].fields_by_name['entry_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['margin']._loaded_options = None + _globals['_POSITION'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['cumulative_funding_entry']._loaded_options = None + _globals['_POSITION'].fields_by_name['cumulative_funding_entry']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCE']._loaded_options = None + _globals['_BALANCE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_DERIVATIVEPOSITION']._loaded_options = None + _globals['_DERIVATIVEPOSITION']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_TRADELOG'].fields_by_name['quantity']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADELOG'].fields_by_name['price']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADELOG'].fields_by_name['fee']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADELOG'].fields_by_name['fee_recipient_address']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_TRADELOG'].fields_by_name['notional']._loaded_options = None + _globals['_TRADELOG'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITIONDELTA'].fields_by_name['execution_quantity']._loaded_options = None + _globals['_POSITIONDELTA'].fields_by_name['execution_quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITIONDELTA'].fields_by_name['execution_margin']._loaded_options = None + _globals['_POSITIONDELTA'].fields_by_name['execution_margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITIONDELTA'].fields_by_name['execution_price']._loaded_options = None + _globals['_POSITIONDELTA'].fields_by_name['execution_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADELOG'].fields_by_name['payout']._loaded_options = None + _globals['_DERIVATIVETRADELOG'].fields_by_name['payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADELOG'].fields_by_name['fee']._loaded_options = None + _globals['_DERIVATIVETRADELOG'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADELOG'].fields_by_name['fee_recipient_address']._loaded_options = None + _globals['_DERIVATIVETRADELOG'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVETRADELOG'].fields_by_name['pnl']._loaded_options = None + _globals['_DERIVATIVETRADELOG'].fields_by_name['pnl']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POINTSMULTIPLIER'].fields_by_name['maker_points_multiplier']._loaded_options = None + _globals['_POINTSMULTIPLIER'].fields_by_name['maker_points_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POINTSMULTIPLIER'].fields_by_name['taker_points_multiplier']._loaded_options = None + _globals['_POINTSMULTIPLIER'].fields_by_name['taker_points_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO'].fields_by_name['spot_market_multipliers']._loaded_options = None + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO'].fields_by_name['spot_market_multipliers']._serialized_options = b'\310\336\037\000' + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO'].fields_by_name['derivative_market_multipliers']._loaded_options = None + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO'].fields_by_name['derivative_market_multipliers']._serialized_options = b'\310\336\037\000' + _globals['_CAMPAIGNREWARDPOOL'].fields_by_name['max_campaign_rewards']._loaded_options = None + _globals['_CAMPAIGNREWARDPOOL'].fields_by_name['max_campaign_rewards']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['maker_discount_rate']._loaded_options = None + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['maker_discount_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['taker_discount_rate']._loaded_options = None + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['taker_discount_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['staked_amount']._loaded_options = None + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['staked_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['volume']._loaded_options = None + _globals['_FEEDISCOUNTTIERINFO'].fields_by_name['volume']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_ACCOUNTREWARDS'].fields_by_name['rewards']._loaded_options = None + _globals['_ACCOUNTREWARDS'].fields_by_name['rewards']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_TRADERECORD'].fields_by_name['price']._loaded_options = None + _globals['_TRADERECORD'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADERECORD'].fields_by_name['quantity']._loaded_options = None + _globals['_TRADERECORD'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_LEVEL'].fields_by_name['p']._loaded_options = None + _globals['_LEVEL'].fields_by_name['p']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_LEVEL'].fields_by_name['q']._loaded_options = None + _globals['_LEVEL'].fields_by_name['q']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_GRANTAUTHORIZATION'].fields_by_name['amount']._loaded_options = None + _globals['_GRANTAUTHORIZATION'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_ACTIVEGRANT'].fields_by_name['amount']._loaded_options = None + _globals['_ACTIVEGRANT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._loaded_options = None + _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_DENOMMINNOTIONAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_DENOMMINNOTIONAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXECUTIONTYPE']._serialized_start=10897 + _globals['_EXECUTIONTYPE']._serialized_end=11111 + _globals['_RISKMODE']._serialized_start=11113 + _globals['_RISKMODE']._serialized_end=11220 + _globals['_RESERVATIONPOLICY']._serialized_start=11223 + _globals['_RESERVATIONPOLICY']._serialized_end=11381 + _globals['_ENFORCEDRESTRICTIONSCONTRACT']._serialized_start=274 + _globals['_ENFORCEDRESTRICTIONSCONTRACT']._serialized_end=431 + _globals['_PARAMS']._serialized_start=434 + _globals['_PARAMS']._serialized_end=4090 + _globals['_CROSSMARGINPARAMS']._serialized_start=4093 + _globals['_CROSSMARGINPARAMS']._serialized_end=4546 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=4548 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=4609 + _globals['_MIDPRICEANDTOB']._serialized_start=4612 + _globals['_MIDPRICEANDTOB']._serialized_end=4846 + _globals['_DEPOSIT']._serialized_start=4849 + _globals['_DEPOSIT']._serialized_end=5014 + _globals['_SUBACCOUNTTRADENONCE']._serialized_start=5016 + _globals['_SUBACCOUNTTRADENONCE']._serialized_end=5060 + _globals['_SUBACCOUNTORDER']._serialized_start=5063 + _globals['_SUBACCOUNTORDER']._serialized_end=5258 + _globals['_SUBACCOUNTORDERDATA']._serialized_start=5260 + _globals['_SUBACCOUNTORDERDATA']._serialized_end=5374 + _globals['_POSITION']._serialized_start=5377 + _globals['_POSITION']._serialized_end=5702 + _globals['_BALANCE']._serialized_start=5705 + _globals['_BALANCE']._serialized_end=5843 + _globals['_DERIVATIVEPOSITION']._serialized_start=5846 + _globals['_DERIVATIVEPOSITION']._serialized_end=6003 + _globals['_MARKETORDERINDICATOR']._serialized_start=6005 + _globals['_MARKETORDERINDICATOR']._serialized_end=6078 + _globals['_TRADELOG']._serialized_start=6081 + _globals['_TRADELOG']._serialized_end=6479 + _globals['_POSITIONDELTA']._serialized_start=6482 + _globals['_POSITIONDELTA']._serialized_end=6764 + _globals['_DERIVATIVETRADELOG']._serialized_start=6767 + _globals['_DERIVATIVETRADELOG']._serialized_end=7179 + _globals['_SUBACCOUNTPOSITION']._serialized_start=7181 + _globals['_SUBACCOUNTPOSITION']._serialized_end=7299 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=7301 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=7415 + _globals['_DEPOSITUPDATE']._serialized_start=7417 + _globals['_DEPOSITUPDATE']._serialized_end=7524 + _globals['_POINTSMULTIPLIER']._serialized_start=7527 + _globals['_POINTSMULTIPLIER']._serialized_end=7731 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=7734 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=8106 + _globals['_CAMPAIGNREWARDPOOL']._serialized_start=8109 + _globals['_CAMPAIGNREWARDPOOL']._serialized_end=8297 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=8300 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=8592 + _globals['_FEEDISCOUNTTIERINFO']._serialized_start=8595 + _globals['_FEEDISCOUNTTIERINFO']._serialized_end=8915 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=8918 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=9181 + _globals['_FEEDISCOUNTTIERTTL']._serialized_start=9183 + _globals['_FEEDISCOUNTTIERTTL']._serialized_end=9260 + _globals['_ACCOUNTREWARDS']._serialized_start=9263 + _globals['_ACCOUNTREWARDS']._serialized_end=9408 + _globals['_TRADERECORDS']._serialized_start=9411 + _globals['_TRADERECORDS']._serialized_end=9540 + _globals['_SUBACCOUNTIDS']._serialized_start=9542 + _globals['_SUBACCOUNTIDS']._serialized_end=9596 + _globals['_TRADERECORD']._serialized_start=9599 + _globals['_TRADERECORD']._serialized_end=9766 + _globals['_LEVEL']._serialized_start=9768 + _globals['_LEVEL']._serialized_end=9877 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=9880 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=10026 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=10029 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=10161 + _globals['_DENOMDECIMALS']._serialized_start=10163 + _globals['_DENOMDECIMALS']._serialized_end=10228 + _globals['_GRANTAUTHORIZATION']._serialized_start=10230 + _globals['_GRANTAUTHORIZATION']._serialized_end=10331 + _globals['_ACTIVEGRANT']._serialized_start=10333 + _globals['_ACTIVEGRANT']._serialized_end=10427 + _globals['_EFFECTIVEGRANT']._serialized_start=10430 + _globals['_EFFECTIVEGRANT']._serialized_end=10574 + _globals['_DENOMMINNOTIONAL']._serialized_start=10576 + _globals['_DENOMMINNOTIONAL']._serialized_end=10688 + _globals['_SUBACCOUNTRISKPROFILE']._serialized_start=10691 + _globals['_SUBACCOUNTRISKPROFILE']._serialized_end=10894 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/exchange_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/exchange_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/exchange_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/genesis_pb2.py b/pyinjective/proto/injective/exchange/v2/genesis_pb2.py new file mode 100644 index 00000000..bf067ffb --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/genesis_pb2.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/genesis.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.exchange.v2 import orderbook_pb2 as injective_dot_exchange_dot_v2_dot_orderbook__pb2 +from pyinjective.proto.injective.exchange.v2 import tx_pb2 as injective_dot_exchange_dot_v2_dot_tx__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v2/genesis.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a$injective/exchange/v2/exchange.proto\x1a\"injective/exchange/v2/market.proto\x1a%injective/exchange/v2/orderbook.proto\x1a\x1einjective/exchange/v2/tx.proto\"\x8c\x1e\n\x0cGenesisState\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x1d.injective.exchange.v2.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12\x44\n\x0cspot_markets\x18\x02 \x03(\x0b\x32!.injective.exchange.v2.SpotMarketR\x0bspotMarkets\x12V\n\x12\x64\x65rivative_markets\x18\x03 \x03(\x0b\x32\'.injective.exchange.v2.DerivativeMarketR\x11\x64\x65rivativeMarkets\x12Q\n\x0espot_orderbook\x18\x04 \x03(\x0b\x32$.injective.exchange.v2.SpotOrderBookB\x04\xc8\xde\x1f\x00R\rspotOrderbook\x12\x63\n\x14\x64\x65rivative_orderbook\x18\x05 \x03(\x0b\x32*.injective.exchange.v2.DerivativeOrderBookB\x04\xc8\xde\x1f\x00R\x13\x64\x65rivativeOrderbook\x12@\n\x08\x62\x61lances\x18\x06 \x03(\x0b\x32\x1e.injective.exchange.v2.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\x12M\n\tpositions\x18\x07 \x03(\x0b\x32).injective.exchange.v2.DerivativePositionB\x04\xc8\xde\x1f\x00R\tpositions\x12\x64\n\x17subaccount_trade_nonces\x18\x08 \x03(\x0b\x32&.injective.exchange.v2.SubaccountNonceB\x04\xc8\xde\x1f\x00R\x15subaccountTradeNonces\x12\x81\x01\n expiry_futures_market_info_state\x18\t \x03(\x0b\x32\x33.injective.exchange.v2.ExpiryFuturesMarketInfoStateB\x04\xc8\xde\x1f\x00R\x1c\x65xpiryFuturesMarketInfoState\x12\x64\n\x15perpetual_market_info\x18\n \x03(\x0b\x32*.injective.exchange.v2.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x13perpetualMarketInfo\x12}\n\x1eperpetual_market_funding_state\x18\x0b \x03(\x0b\x32\x32.injective.exchange.v2.PerpetualMarketFundingStateB\x04\xc8\xde\x1f\x00R\x1bperpetualMarketFundingState\x12\x90\x01\n&derivative_market_settlement_scheduled\x18\x0c \x03(\x0b\x32\x35.injective.exchange.v2.DerivativeMarketSettlementInfoB\x04\xc8\xde\x1f\x00R#derivativeMarketSettlementScheduled\x12\x37\n\x18is_spot_exchange_enabled\x18\r \x01(\x08R\x15isSpotExchangeEnabled\x12\x45\n\x1fis_derivatives_exchange_enabled\x18\x0e \x01(\x08R\x1cisDerivativesExchangeEnabled\x12q\n\x1ctrading_reward_campaign_info\x18\x0f \x01(\x0b\x32\x30.injective.exchange.v2.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12{\n%trading_reward_pool_campaign_schedule\x18\x10 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12\x8d\x01\n&trading_reward_campaign_account_points\x18\x11 \x03(\x0b\x32\x39.injective.exchange.v2.TradingRewardCampaignAccountPointsR\"tradingRewardCampaignAccountPoints\x12^\n\x15\x66\x65\x65_discount_schedule\x18\x12 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\x12r\n\x1d\x66\x65\x65_discount_account_tier_ttl\x18\x13 \x03(\x0b\x32\x30.injective.exchange.v2.FeeDiscountAccountTierTTLR\x19\x66\x65\x65\x44iscountAccountTierTtl\x12\x84\x01\n#fee_discount_bucket_volume_accounts\x18\x14 \x03(\x0b\x32\x36.injective.exchange.v2.FeeDiscountBucketVolumeAccountsR\x1f\x66\x65\x65\x44iscountBucketVolumeAccounts\x12<\n\x1bis_first_fee_cycle_finished\x18\x15 \x01(\x08R\x17isFirstFeeCycleFinished\x12\x8a\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x16 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12\xa3\x01\n.pending_trading_reward_campaign_account_points\x18\x17 \x03(\x0b\x32@.injective.exchange.v2.TradingRewardCampaignAccountPendingPointsR)pendingTradingRewardCampaignAccountPoints\x12\x39\n\x19rewards_opt_out_addresses\x18\x18 \x03(\tR\x16rewardsOptOutAddresses\x12]\n\x18historical_trade_records\x18\x19 \x03(\x0b\x32#.injective.exchange.v2.TradeRecordsR\x16historicalTradeRecords\x12`\n\x16\x62inary_options_markets\x18\x1a \x03(\x0b\x32*.injective.exchange.v2.BinaryOptionsMarketR\x14\x62inaryOptionsMarkets\x12h\n2binary_options_market_ids_scheduled_for_settlement\x18\x1b \x03(\tR,binaryOptionsMarketIdsScheduledForSettlement\x12T\n(spot_market_ids_scheduled_to_force_close\x18\x1c \x03(\tR\"spotMarketIdsScheduledToForceClose\x12\x82\x01\n(auction_exchange_transfer_denom_decimals\x18\x1d \x03(\x0b\x32$.injective.exchange.v2.DenomDecimalsB\x04\xc8\xde\x1f\x00R$auctionExchangeTransferDenomDecimals\x12\x81\x01\n!conditional_derivative_orderbooks\x18\x1e \x03(\x0b\x32\x35.injective.exchange.v2.ConditionalDerivativeOrderBookR\x1f\x63onditionalDerivativeOrderbooks\x12`\n\x16market_fee_multipliers\x18\x1f \x03(\x0b\x32*.injective.exchange.v2.MarketFeeMultiplierR\x14marketFeeMultipliers\x12Y\n\x13orderbook_sequences\x18 \x03(\x0b\x32(.injective.exchange.v2.OrderbookSequenceR\x12orderbookSequences\x12\x65\n\x12subaccount_volumes\x18! \x03(\x0b\x32\x36.injective.exchange.v2.AggregateSubaccountVolumeRecordR\x11subaccountVolumes\x12J\n\x0emarket_volumes\x18\" \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\rmarketVolumes\x12\x61\n\x14grant_authorizations\x18# \x03(\x0b\x32..injective.exchange.v2.FullGrantAuthorizationsR\x13grantAuthorizations\x12K\n\ractive_grants\x18$ \x03(\x0b\x32&.injective.exchange.v2.FullActiveGrantR\x0c\x61\x63tiveGrants\x12W\n\x13\x64\x65nom_min_notionals\x18% \x03(\x0b\x32\'.injective.exchange.v2.DenomMinNotionalR\x11\x64\x65nomMinNotionals\x12l\n\x18subaccount_risk_profiles\x18& \x03(\x0b\x32\x32.injective.exchange.v2.SubaccountRiskProfileRecordR\x16subaccountRiskProfiles\"L\n\x11OrderbookSequence\x12\x1a\n\x08sequence\x18\x01 \x01(\x04R\x08sequence\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"{\n\x19\x46\x65\x65\x44iscountAccountTierTTL\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x44\n\x08tier_ttl\x18\x02 \x01(\x0b\x32).injective.exchange.v2.FeeDiscountTierTTLR\x07tierTtl\"\xa4\x01\n\x1f\x46\x65\x65\x44iscountBucketVolumeAccounts\x12\x34\n\x16\x62ucket_start_timestamp\x18\x01 \x01(\x03R\x14\x62ucketStartTimestamp\x12K\n\x0e\x61\x63\x63ount_volume\x18\x02 \x03(\x0b\x32$.injective.exchange.v2.AccountVolumeR\raccountVolume\"f\n\rAccountVolume\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"{\n\"TradingRewardCampaignAccountPoints\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12;\n\x06points\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06points\"\xcc\x01\n)TradingRewardCampaignAccountPendingPoints\x12=\n\x1breward_pool_start_timestamp\x18\x01 \x01(\x03R\x18rewardPoolStartTimestamp\x12`\n\x0e\x61\x63\x63ount_points\x18\x02 \x03(\x0b\x32\x39.injective.exchange.v2.TradingRewardCampaignAccountPointsR\raccountPoints\"\xa9\x01\n\x0fSubaccountNonce\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12g\n\x16subaccount_trade_nonce\x18\x02 \x01(\x0b\x32+.injective.exchange.v2.SubaccountTradeNonceB\x04\xc8\xde\x1f\x00R\x14subaccountTradeNonce:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x17\x46ullGrantAuthorizations\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12K\n\x12total_grant_amount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x41\n\x1dlast_delegations_checked_time\x18\x03 \x01(\x03R\x1alastDelegationsCheckedTime\x12\x41\n\x06grants\x18\x04 \x03(\x0b\x32).injective.exchange.v2.GrantAuthorizationR\x06grants\"r\n\x0f\x46ullActiveGrant\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x45\n\x0c\x61\x63tive_grant\x18\x02 \x01(\x0b\x32\".injective.exchange.v2.ActiveGrantR\x0b\x61\x63tiveGrant\"\x99\x01\n\x1bSubaccountRiskProfileRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12U\n\x0crisk_profile\x18\x02 \x01(\x0b\x32,.injective.exchange.v2.SubaccountRiskProfileB\x04\xc8\xde\x1f\x00R\x0briskProfileB\xf2\x01\n\x19\x63om.injective.exchange.v2B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.genesis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\014GenesisProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['spot_orderbook']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['spot_orderbook']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['derivative_orderbook']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['derivative_orderbook']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['balances']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['balances']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['positions']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['positions']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['subaccount_trade_nonces']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['subaccount_trade_nonces']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['expiry_futures_market_info_state']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['expiry_futures_market_info_state']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['perpetual_market_info']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['perpetual_market_info']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['perpetual_market_funding_state']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['perpetual_market_funding_state']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['derivative_market_settlement_scheduled']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['derivative_market_settlement_scheduled']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['auction_exchange_transfer_denom_decimals']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['auction_exchange_transfer_denom_decimals']._serialized_options = b'\310\336\037\000' + _globals['_ACCOUNTVOLUME'].fields_by_name['volume']._loaded_options = None + _globals['_ACCOUNTVOLUME'].fields_by_name['volume']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS'].fields_by_name['points']._loaded_options = None + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS'].fields_by_name['points']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SUBACCOUNTNONCE'].fields_by_name['subaccount_trade_nonce']._loaded_options = None + _globals['_SUBACCOUNTNONCE'].fields_by_name['subaccount_trade_nonce']._serialized_options = b'\310\336\037\000' + _globals['_SUBACCOUNTNONCE']._loaded_options = None + _globals['_SUBACCOUNTNONCE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_FULLGRANTAUTHORIZATIONS'].fields_by_name['total_grant_amount']._loaded_options = None + _globals['_FULLGRANTAUTHORIZATIONS'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_SUBACCOUNTRISKPROFILERECORD'].fields_by_name['risk_profile']._loaded_options = None + _globals['_SUBACCOUNTRISKPROFILERECORD'].fields_by_name['risk_profile']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE']._serialized_start=230 + _globals['_GENESISSTATE']._serialized_end=4082 + _globals['_ORDERBOOKSEQUENCE']._serialized_start=4084 + _globals['_ORDERBOOKSEQUENCE']._serialized_end=4160 + _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_start=4162 + _globals['_FEEDISCOUNTACCOUNTTIERTTL']._serialized_end=4285 + _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_start=4288 + _globals['_FEEDISCOUNTBUCKETVOLUMEACCOUNTS']._serialized_end=4452 + _globals['_ACCOUNTVOLUME']._serialized_start=4454 + _globals['_ACCOUNTVOLUME']._serialized_end=4556 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_start=4558 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPOINTS']._serialized_end=4681 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_start=4684 + _globals['_TRADINGREWARDCAMPAIGNACCOUNTPENDINGPOINTS']._serialized_end=4888 + _globals['_SUBACCOUNTNONCE']._serialized_start=4891 + _globals['_SUBACCOUNTNONCE']._serialized_end=5060 + _globals['_FULLGRANTAUTHORIZATIONS']._serialized_start=5063 + _globals['_FULLGRANTAUTHORIZATIONS']._serialized_end=5325 + _globals['_FULLACTIVEGRANT']._serialized_start=5327 + _globals['_FULLACTIVEGRANT']._serialized_end=5441 + _globals['_SUBACCOUNTRISKPROFILERECORD']._serialized_start=5444 + _globals['_SUBACCOUNTRISKPROFILERECORD']._serialized_end=5597 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/genesis_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/genesis_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/genesis_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/market_pb2.py b/pyinjective/proto/injective/exchange/v2/market_pb2.py new file mode 100644 index 00000000..8972a6f2 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/market_pb2.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/market.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"injective/exchange/v2/market.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a\x11\x61mino/amino.proto\x1a%injective/oracle/v1beta1/oracle.proto\"\xab\x01\n\x0f\x46orcePausedInfo\x12@\n\x06reason\x18\x01 \x01(\x0e\x32(.injective.exchange.v2.ForcePausedReasonR\x06reason\x12V\n\x15mark_price_at_pausing\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12markPriceAtPausing\"\xc1\x02\n\x0fOpenNotionalCap\x12\x80\x01\n\x08uncapped\x18\x01 \x01(\x0b\x32..injective.exchange.v2.OpenNotionalCapUncappedB2\xb2\xe7\xb0*-injective.exchange.v2.OpenNotionalCapUncappedH\x00R\x08uncapped\x12x\n\x06\x63\x61pped\x18\x02 \x01(\x0b\x32,.injective.exchange.v2.OpenNotionalCapCappedB0\xb2\xe7\xb0*+injective.exchange.v2.OpenNotionalCapCappedH\x00R\x06\x63\x61pped:*\x8a\xe7\xb0*%injective.exchange.v2.OpenNotionalCapB\x05\n\x03\x63\x61p\"M\n\x17OpenNotionalCapUncapped:2\x8a\xe7\xb0*-injective.exchange.v2.OpenNotionalCapUncapped\"\x84\x01\n\x15OpenNotionalCapCapped\x12\x39\n\x05value\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05value:0\x8a\xe7\xb0*+injective.exchange.v2.OpenNotionalCapCapped\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\xfd\x06\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12;\n\x06status\x18\x08 \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals\x12H\n!has_disabled_minimal_protocol_fee\x18\x10 \x01(\x08R\x1dhasDisabledMinimalProtocolFee\"\xf1\n\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12;\n\x06status\x18\x0e \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals\x12X\n\x11open_notional_cap\x18\x15 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12H\n!has_disabled_minimal_protocol_fee\x18\x16 \x01(\x08R\x1dhasDisabledMinimalProtocolFee\x12R\n\x11\x66orce_paused_info\x18\x17 \x01(\x0b\x32&.injective.exchange.v2.ForcePausedInfoR\x0f\x66orcePausedInfo:\x04\x88\xa0\x1f\x00\"\x8f\x0c\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12;\n\x06status\x18\x0e \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals\x12S\n\x13reduce_margin_ratio\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x16 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12H\n!has_disabled_minimal_protocol_fee\x18\x17 \x01(\x08R\x1dhasDisabledMinimalProtocolFee\x12R\n\x11\x66orce_paused_info\x18\x18 \x01(\x0b\x32&.injective.exchange.v2.ForcePausedInfoR\x0f\x66orcePausedInfo\x12\x32\n\x15\x63ross_margin_eligible\x18\x19 \x01(\x08R\x13\x63rossMarginEligible:\x04\x88\xa0\x1f\x00\"\xbf\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x30\n\x14is_forced_settlement\x18\x03 \x01(\x08R\x12isForcedSettlement\"n\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x06volume\x18\x02 \x01(\x0b\x32#.injective.exchange.v2.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x8c\x01\n\x1c\x45xpiryFuturesMarketInfoState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12O\n\x0bmarket_info\x18\x02 \x01(\x0b\x32..injective.exchange.v2.ExpiryFuturesMarketInfoR\nmarketInfo\"\x83\x01\n\x1bPerpetualMarketFundingState\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12G\n\x07\x66unding\x18\x02 \x01(\x0b\x32-.injective.exchange.v2.PerpetualMarketFundingR\x07\x66unding\"\xee\x04\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12y\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x80\x01\n+expiration_twap_start_base_cumulative_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR&expirationTwapStartBaseCumulativePrice\x12\x82\x01\n,expiration_twap_start_quote_cumulative_price\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\'expirationTwapStartQuoteCumulativePrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp*e\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04\x12\x0f\n\x0b\x46orcePaused\x10\x05*)\n\x11\x46orcePausedReason\x12\x14\n\x10QuoteDenomPaused\x10\x00\x42\xf1\x01\n\x19\x63om.injective.exchange.v2B\x0bMarketProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.market_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\013MarketProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_FORCEPAUSEDINFO'].fields_by_name['mark_price_at_pausing']._loaded_options = None + _globals['_FORCEPAUSEDINFO'].fields_by_name['mark_price_at_pausing']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_OPENNOTIONALCAP'].fields_by_name['uncapped']._loaded_options = None + _globals['_OPENNOTIONALCAP'].fields_by_name['uncapped']._serialized_options = b'\262\347\260*-injective.exchange.v2.OpenNotionalCapUncapped' + _globals['_OPENNOTIONALCAP'].fields_by_name['capped']._loaded_options = None + _globals['_OPENNOTIONALCAP'].fields_by_name['capped']._serialized_options = b'\262\347\260*+injective.exchange.v2.OpenNotionalCapCapped' + _globals['_OPENNOTIONALCAP']._loaded_options = None + _globals['_OPENNOTIONALCAP']._serialized_options = b'\212\347\260*%injective.exchange.v2.OpenNotionalCap' + _globals['_OPENNOTIONALCAPUNCAPPED']._loaded_options = None + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_options = b'\212\347\260*-injective.exchange.v2.OpenNotionalCapUncapped' + _globals['_OPENNOTIONALCAPCAPPED'].fields_by_name['value']._loaded_options = None + _globals['_OPENNOTIONALCAPCAPPED'].fields_by_name['value']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_OPENNOTIONALCAPCAPPED']._loaded_options = None + _globals['_OPENNOTIONALCAPCAPPED']._serialized_options = b'\212\347\260*+injective.exchange.v2.OpenNotionalCapCapped' + _globals['_MARKETFEEMULTIPLIER'].fields_by_name['fee_multiplier']._loaded_options = None + _globals['_MARKETFEEMULTIPLIER'].fields_by_name['fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MARKETFEEMULTIPLIER']._loaded_options = None + _globals['_MARKETFEEMULTIPLIER']._serialized_options = b'\210\240\037\000' + _globals['_SPOTMARKET'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKET'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKET'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKET'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKET'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKET'].fields_by_name['min_notional']._loaded_options = None + _globals['_SPOTMARKET'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['settlement_price']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_notional']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKET'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_BINARYOPTIONSMARKET'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_BINARYOPTIONSMARKET']._loaded_options = None + _globals['_BINARYOPTIONSMARKET']._serialized_options = b'\210\240\037\000' + _globals['_DERIVATIVEMARKET'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['min_notional']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKET'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_DERIVATIVEMARKET'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEMARKET']._loaded_options = None + _globals['_DERIVATIVEMARKET']._serialized_options = b'\210\240\037\000' + _globals['_DERIVATIVEMARKETSETTLEMENTINFO'].fields_by_name['settlement_price']._loaded_options = None + _globals['_DERIVATIVEMARKETSETTLEMENTINFO'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MARKETVOLUME'].fields_by_name['volume']._loaded_options = None + _globals['_MARKETVOLUME'].fields_by_name['volume']._serialized_options = b'\310\336\037\000' + _globals['_VOLUMERECORD'].fields_by_name['maker_volume']._loaded_options = None + _globals['_VOLUMERECORD'].fields_by_name['maker_volume']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_VOLUMERECORD'].fields_by_name['taker_volume']._loaded_options = None + _globals['_VOLUMERECORD'].fields_by_name['taker_volume']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_price_cumulative']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_price_cumulative']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['settlement_price']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_base_cumulative_price']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_base_cumulative_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_quote_cumulative_price']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETINFO'].fields_by_name['expiration_twap_start_quote_cumulative_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETINFO'].fields_by_name['hourly_funding_rate_cap']._loaded_options = None + _globals['_PERPETUALMARKETINFO'].fields_by_name['hourly_funding_rate_cap']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETINFO'].fields_by_name['hourly_interest_rate']._loaded_options = None + _globals['_PERPETUALMARKETINFO'].fields_by_name['hourly_interest_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETFUNDING'].fields_by_name['cumulative_funding']._loaded_options = None + _globals['_PERPETUALMARKETFUNDING'].fields_by_name['cumulative_funding']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETFUNDING'].fields_by_name['cumulative_price']._loaded_options = None + _globals['_PERPETUALMARKETFUNDING'].fields_by_name['cumulative_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MARKETSTATUS']._serialized_start=6762 + _globals['_MARKETSTATUS']._serialized_end=6863 + _globals['_FORCEPAUSEDREASON']._serialized_start=6865 + _globals['_FORCEPAUSEDREASON']._serialized_end=6906 + _globals['_FORCEPAUSEDINFO']._serialized_start=142 + _globals['_FORCEPAUSEDINFO']._serialized_end=313 + _globals['_OPENNOTIONALCAP']._serialized_start=316 + _globals['_OPENNOTIONALCAP']._serialized_end=637 + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_start=639 + _globals['_OPENNOTIONALCAPUNCAPPED']._serialized_end=716 + _globals['_OPENNOTIONALCAPCAPPED']._serialized_start=719 + _globals['_OPENNOTIONALCAPCAPPED']._serialized_end=851 + _globals['_MARKETFEEMULTIPLIER']._serialized_start=854 + _globals['_MARKETFEEMULTIPLIER']._serialized_end=986 + _globals['_SPOTMARKET']._serialized_start=989 + _globals['_SPOTMARKET']._serialized_end=1882 + _globals['_BINARYOPTIONSMARKET']._serialized_start=1885 + _globals['_BINARYOPTIONSMARKET']._serialized_end=3278 + _globals['_DERIVATIVEMARKET']._serialized_start=3281 + _globals['_DERIVATIVEMARKET']._serialized_end=4832 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=4835 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=5026 + _globals['_MARKETVOLUME']._serialized_start=5028 + _globals['_MARKETVOLUME']._serialized_end=5138 + _globals['_VOLUMERECORD']._serialized_start=5141 + _globals['_VOLUMERECORD']._serialized_end=5299 + _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_start=5302 + _globals['_EXPIRYFUTURESMARKETINFOSTATE']._serialized_end=5442 + _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_start=5445 + _globals['_PERPETUALMARKETFUNDINGSTATE']._serialized_end=5576 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5579 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=6201 + _globals['_PERPETUALMARKETINFO']._serialized_start=6204 + _globals['_PERPETUALMARKETINFO']._serialized_end=6530 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=6533 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=6760 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/market_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/market_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/market_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/order_pb2.py b/pyinjective/proto/injective/exchange/v2/order_pb2.py new file mode 100644 index 00000000..2a79d0c8 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/order_pb2.py @@ -0,0 +1,134 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/order.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/exchange/v2/order.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xab\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x45\n\norder_info\x18\x02 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12?\n\norder_type\x18\x03 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12/\n\x10\x65xpiration_block\x18\x05 \x01(\x03\x42\x04\xc8\xde\x1f\x01R\x0f\x65xpirationBlock\"\xca\x02\n\x0fSpotMarketOrder\x12\x45\n\norder_info\x18\x01 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12?\n\norder_type\x18\x04 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xf3\x02\n\x0eSpotLimitOrder\x12\x45\n\norder_info\x18\x01 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12?\n\norder_type\x18\x02 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12/\n\x10\x65xpiration_block\x18\x06 \x01(\x03\x42\x04\xc8\xde\x1f\x01R\x0f\x65xpirationBlock\"\xee\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x45\n\norder_info\x18\x02 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12?\n\norder_type\x18\x03 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12/\n\x10\x65xpiration_block\x18\x06 \x01(\x03\x42\x04\xc8\xde\x1f\x01R\x0f\x65xpirationBlock\"\x8b\x03\n\x15\x44\x65rivativeMarketOrder\x12\x45\n\norder_info\x18\x01 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12?\n\norder_type\x18\x02 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xb6\x03\n\x14\x44\x65rivativeLimitOrder\x12\x45\n\norder_info\x18\x01 \x01(\x0b\x32 .injective.exchange.v2.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12?\n\norder_type\x18\x02 \x01(\x0e\x32 .injective.exchange.v2.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\x12/\n\x10\x65xpiration_block\x18\x07 \x01(\x03\x42\x04\xc8\xde\x1f\x01R\x0f\x65xpirationBlock*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMIT*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03\x42\xf0\x01\n\x19\x63om.injective.exchange.v2B\nOrderProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.order_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\nOrderProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_ORDERTYPE'].values_by_name["UNSPECIFIED"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["UNSPECIFIED"]._serialized_options = b'\212\235 \013UNSPECIFIED' + _globals['_ORDERTYPE'].values_by_name["BUY"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["BUY"]._serialized_options = b'\212\235 \003BUY' + _globals['_ORDERTYPE'].values_by_name["SELL"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["SELL"]._serialized_options = b'\212\235 \004SELL' + _globals['_ORDERTYPE'].values_by_name["STOP_BUY"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["STOP_BUY"]._serialized_options = b'\212\235 \010STOP_BUY' + _globals['_ORDERTYPE'].values_by_name["STOP_SELL"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["STOP_SELL"]._serialized_options = b'\212\235 \tSTOP_SELL' + _globals['_ORDERTYPE'].values_by_name["TAKE_BUY"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["TAKE_BUY"]._serialized_options = b'\212\235 \010TAKE_BUY' + _globals['_ORDERTYPE'].values_by_name["TAKE_SELL"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["TAKE_SELL"]._serialized_options = b'\212\235 \tTAKE_SELL' + _globals['_ORDERTYPE'].values_by_name["BUY_PO"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["BUY_PO"]._serialized_options = b'\212\235 \006BUY_PO' + _globals['_ORDERTYPE'].values_by_name["SELL_PO"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["SELL_PO"]._serialized_options = b'\212\235 \007SELL_PO' + _globals['_ORDERTYPE'].values_by_name["BUY_ATOMIC"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["BUY_ATOMIC"]._serialized_options = b'\212\235 \nBUY_ATOMIC' + _globals['_ORDERTYPE'].values_by_name["SELL_ATOMIC"]._loaded_options = None + _globals['_ORDERTYPE'].values_by_name["SELL_ATOMIC"]._serialized_options = b'\212\235 \013SELL_ATOMIC' + _globals['_ORDERMASK'].values_by_name["UNUSED"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["UNUSED"]._serialized_options = b'\212\235 \006UNUSED' + _globals['_ORDERMASK'].values_by_name["ANY"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["ANY"]._serialized_options = b'\212\235 \003ANY' + _globals['_ORDERMASK'].values_by_name["REGULAR"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["REGULAR"]._serialized_options = b'\212\235 \007REGULAR' + _globals['_ORDERMASK'].values_by_name["CONDITIONAL"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["CONDITIONAL"]._serialized_options = b'\212\235 \013CONDITIONAL' + _globals['_ORDERMASK'].values_by_name["DIRECTION_BUY_OR_HIGHER"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["DIRECTION_BUY_OR_HIGHER"]._serialized_options = b'\212\235 \rBUY_OR_HIGHER' + _globals['_ORDERMASK'].values_by_name["DIRECTION_SELL_OR_LOWER"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["DIRECTION_SELL_OR_LOWER"]._serialized_options = b'\212\235 \rSELL_OR_LOWER' + _globals['_ORDERMASK'].values_by_name["TYPE_MARKET"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["TYPE_MARKET"]._serialized_options = b'\212\235 \006MARKET' + _globals['_ORDERMASK'].values_by_name["TYPE_LIMIT"]._loaded_options = None + _globals['_ORDERMASK'].values_by_name["TYPE_LIMIT"]._serialized_options = b'\212\235 \005LIMIT' + _globals['_ORDERINFO'].fields_by_name['price']._loaded_options = None + _globals['_ORDERINFO'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_ORDERINFO'].fields_by_name['quantity']._loaded_options = None + _globals['_ORDERINFO'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_SPOTORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_SPOTORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_SPOTORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDER'].fields_by_name['expiration_block']._loaded_options = None + _globals['_SPOTORDER'].fields_by_name['expiration_block']._serialized_options = b'\310\336\037\001' + _globals['_SPOTMARKETORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_SPOTMARKETORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_SPOTMARKETORDER'].fields_by_name['balance_hold']._loaded_options = None + _globals['_SPOTMARKETORDER'].fields_by_name['balance_hold']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_SPOTMARKETORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTLIMITORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_SPOTLIMITORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_SPOTLIMITORDER'].fields_by_name['fillable']._loaded_options = None + _globals['_SPOTLIMITORDER'].fields_by_name['fillable']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTLIMITORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_SPOTLIMITORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTLIMITORDER'].fields_by_name['expiration_block']._loaded_options = None + _globals['_SPOTLIMITORDER'].fields_by_name['expiration_block']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_DERIVATIVEORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEORDER'].fields_by_name['margin']._loaded_options = None + _globals['_DERIVATIVEORDER'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_DERIVATIVEORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEORDER'].fields_by_name['expiration_block']._loaded_options = None + _globals['_DERIVATIVEORDER'].fields_by_name['expiration_block']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['margin']._loaded_options = None + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['margin_hold']._loaded_options = None + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['margin_hold']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_DERIVATIVEMARKETORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVELIMITORDER'].fields_by_name['order_info']._loaded_options = None + _globals['_DERIVATIVELIMITORDER'].fields_by_name['order_info']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVELIMITORDER'].fields_by_name['margin']._loaded_options = None + _globals['_DERIVATIVELIMITORDER'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVELIMITORDER'].fields_by_name['fillable']._loaded_options = None + _globals['_DERIVATIVELIMITORDER'].fields_by_name['fillable']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVELIMITORDER'].fields_by_name['trigger_price']._loaded_options = None + _globals['_DERIVATIVELIMITORDER'].fields_by_name['trigger_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVELIMITORDER'].fields_by_name['expiration_block']._loaded_options = None + _globals['_DERIVATIVELIMITORDER'].fields_by_name['expiration_block']._serialized_options = b'\310\336\037\001' + _globals['_ORDERTYPE']._serialized_start=2530 + _globals['_ORDERTYPE']._serialized_end=2845 + _globals['_ORDERMASK']._serialized_start=2848 + _globals['_ORDERMASK']._serialized_end=3113 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=3115 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=3231 + _globals['_ORDERINFO']._serialized_start=83 + _globals['_ORDERINFO']._serialized_end=310 + _globals['_SPOTORDER']._serialized_start=313 + _globals['_SPOTORDER']._serialized_end=612 + _globals['_SPOTMARKETORDER']._serialized_start=615 + _globals['_SPOTMARKETORDER']._serialized_end=945 + _globals['_SPOTLIMITORDER']._serialized_start=948 + _globals['_SPOTLIMITORDER']._serialized_end=1319 + _globals['_DERIVATIVEORDER']._serialized_start=1322 + _globals['_DERIVATIVEORDER']._serialized_end=1688 + _globals['_DERIVATIVEMARKETORDER']._serialized_start=1691 + _globals['_DERIVATIVEMARKETORDER']._serialized_end=2086 + _globals['_DERIVATIVELIMITORDER']._serialized_start=2089 + _globals['_DERIVATIVELIMITORDER']._serialized_end=2527 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/order_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/order_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/order_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/orderbook_pb2.py b/pyinjective/proto/injective/exchange/v2/orderbook_pb2.py new file mode 100644 index 00000000..d9f9e5d0 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/orderbook_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/orderbook.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.exchange.v2 import order_pb2 as injective_dot_exchange_dot_v2_dot_order__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/exchange/v2/orderbook.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a!injective/exchange/v2/order.proto\"\x93\x01\n\rSpotOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12=\n\x06orders\x18\x03 \x03(\x0b\x32%.injective.exchange.v2.SpotLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x9f\x01\n\x13\x44\x65rivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x1c\n\tisBuySide\x18\x02 \x01(\x08R\tisBuySide\x12\x43\n\x06orders\x18\x03 \x03(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderR\x06orders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xad\x03\n\x1e\x43onditionalDerivativeOrderBook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12U\n\x10limit_buy_orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderR\x0elimitBuyOrders\x12X\n\x11market_buy_orders\x18\x03 \x03(\x0b\x32,.injective.exchange.v2.DerivativeMarketOrderR\x0fmarketBuyOrders\x12W\n\x11limit_sell_orders\x18\x04 \x03(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderR\x0flimitSellOrders\x12Z\n\x12market_sell_orders\x18\x05 \x03(\x0b\x32,.injective.exchange.v2.DerivativeMarketOrderR\x10marketSellOrders:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCountB\xf4\x01\n\x19\x63om.injective.exchange.v2B\x0eOrderbookProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.orderbook_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\016OrderbookProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_SPOTORDERBOOK']._loaded_options = None + _globals['_SPOTORDERBOOK']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_DERIVATIVEORDERBOOK']._loaded_options = None + _globals['_DERIVATIVEORDERBOOK']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._loaded_options = None + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_SUBACCOUNTORDERBOOKMETADATA'].fields_by_name['aggregate_reduce_only_quantity']._loaded_options = None + _globals['_SUBACCOUNTORDERBOOKMETADATA'].fields_by_name['aggregate_reduce_only_quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SUBACCOUNTORDERBOOKMETADATA'].fields_by_name['aggregate_vanilla_quantity']._loaded_options = None + _globals['_SUBACCOUNTORDERBOOKMETADATA'].fields_by_name['aggregate_vanilla_quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTORDERBOOK']._serialized_start=122 + _globals['_SPOTORDERBOOK']._serialized_end=269 + _globals['_DERIVATIVEORDERBOOK']._serialized_start=272 + _globals['_DERIVATIVEORDERBOOK']._serialized_end=431 + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_start=434 + _globals['_CONDITIONALDERIVATIVEORDERBOOK']._serialized_end=863 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=866 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=1374 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/orderbook_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/orderbook_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/orderbook_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/proposal_pb2.py b/pyinjective/proto/injective/exchange/v2/proposal_pb2.py new file mode 100644 index 00000000..6235d36e --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/proposal_pb2.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/proposal.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 +from pyinjective.proto.cosmos.distribution.v1beta1 import distribution_pb2 as cosmos_dot_distribution_dot_v1beta1_dot_distribution__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/exchange/v2/proposal.proto\x12\x15injective.exchange.v2\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x11\x61mino/amino.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a$injective/exchange/v2/exchange.proto\x1a\"injective/exchange/v2/market.proto\x1a%injective/oracle/v1beta1/oracle.proto\"\x9e\x08\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12;\n\x06status\x18\t \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12?\n\nadmin_info\x18\x0c \x01(\x0b\x32 .injective.exchange.v2.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\r \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0e \x01(\rR\rquoteDecimals\x12\x86\x01\n!has_disabled_minimal_protocol_fee\x18\x0f \x01(\x0e\x32\x36.injective.exchange.v2.DisableMinimalProtocolFeeUpdateB\x04\xc8\xde\x1f\x01R\x1dhasDisabledMinimalProtocolFee:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xc7\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12G\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32#.injective.exchange.v2.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x97\x0e\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x80\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x34.injective.exchange.v2.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x92\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32:.injective.exchange.v2.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12p\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32/.injective.exchange.v2.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x7f\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x34.injective.exchange.v2.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x8c\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32\x38.injective.exchange.v2.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x90\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32:.injective.exchange.v2.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x8c\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32\x38.injective.exchange.v2.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x8f\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32=.injective.exchange.v2.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12\xbf\x01\n8auction_exchange_transfer_denom_decimals_update_proposal\x18\x0b \x01(\x0b\x32I.injective.exchange.v2.UpdateAuctionExchangeTransferDenomDecimalsProposalR2auctionExchangeTransferDenomDecimalsUpdateProposal\x12^\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x82\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32\x35.injective.exchange.v2.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals\x12n\n\x1b\x64\x65nom_min_notional_proposal\x18\x0e \x01(\x0b\x32/.injective.exchange.v2.DenomMinNotionalProposalR\x18\x64\x65nomMinNotionalProposal:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\x91\x06\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12?\n\nadmin_info\x18\x0b \x01(\x0b\x32 .injective.exchange.v2.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\x84\n\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12?\n\nadmin_info\x18\x10 \x01(\x0b\x32 .injective.exchange.v2.AdminInfoR\tadminInfo\x12S\n\x13reduce_margin_ratio\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x12 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12\x32\n\x15\x63ross_margin_eligible\x18\x13 \x01(\x08R\x13\x63rossMarginEligible:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xbf\x08\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions\x12X\n\x11open_notional_cap\x18\x12 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xa4\n\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12?\n\nadmin_info\x18\x11 \x01(\x0b\x32 .injective.exchange.v2.AdminInfoR\tadminInfo\x12S\n\x13reduce_margin_ratio\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x13 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12\x32\n\x15\x63ross_margin_eligible\x18\x14 \x01(\x08R\x13\x63rossMarginEligible:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\xa4\r\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12;\n\x06status\x18\r \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12H\n\roracle_params\x18\x0e \x01(\x0b\x32#.injective.exchange.v2.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12?\n\nadmin_info\x18\x11 \x01(\x0b\x32 .injective.exchange.v2.AdminInfoR\tadminInfo\x12S\n\x13reduce_margin_ratio\x18\x12 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x13 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x01R\x0fopenNotionalCap\x12\x86\x01\n!has_disabled_minimal_protocol_fee\x18\x14 \x01(\x0e\x32\x36.injective.exchange.v2.DisableMinimalProtocolFeeUpdateB\x04\xc8\xde\x1f\x01R\x1dhasDisabledMinimalProtocolFee\x12g\n\x18\x63ross_margin_eligibility\x18\x15 \x01(\x0e\x32-.injective.exchange.v2.CrossMarginEligibilityR\x16\x63rossMarginEligibility:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xa1\x02\n2UpdateAuctionExchangeTransferDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32$.injective.exchange.v2.DenomDecimalsR\rdenomDecimals:f\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*;exchange/UpdateAuctionExchangeTransferDenomDecimalsProposal\"\x9b\n\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12;\n\x06status\x18\r \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status\x12P\n\roracle_params\x18\x0e \x01(\x0b\x32+.injective.exchange.v2.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12X\n\x11open_notional_cap\x18\x11 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x01R\x0fopenNotionalCap\x12\x86\x01\n!has_disabled_minimal_protocol_fee\x18\x12 \x01(\x0e\x32\x36.injective.exchange.v2.DisableMinimalProtocolFeeUpdateB\x04\xc8\xde\x1f\x01R\x1dhasDisabledMinimalProtocolFee:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xec\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v2.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12]\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xed\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x30.injective.exchange.v2.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12p\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12l\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd2\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12Z\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32(.injective.exchange.v2.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xde\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x46\n\x08schedule\x18\x03 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xae\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12`\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32*.injective.exchange.v2.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal\"\xf9\x01\n\x18\x44\x65nomMinNotionalProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12W\n\x13\x64\x65nom_min_notionals\x18\x03 \x03(\x0b\x32\'.injective.exchange.v2.DenomMinNotionalR\x11\x64\x65nomMinNotionals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/DenomMinNotionalProposal*D\n\x1f\x44isableMinimalProtocolFeeUpdate\x12\x0c\n\x08NoUpdate\x10\x00\x12\t\n\x05\x46\x61lse\x10\x01\x12\x08\n\x04True\x10\x02*t\n\x16\x43rossMarginEligibility\x12\x1e\n\x1a\x43M_ELIGIBILITY_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43M_ELIGIBILITY_ELIGIBLE\x10\x01\x12\x1d\n\x19\x43M_ELIGIBILITY_INELIGIBLE\x10\x02*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\xf3\x01\n\x19\x63om.injective.exchange.v2B\rProposalProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.proposal_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\rProposalProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_EXCHANGETYPE'].values_by_name["EXCHANGE_UNSPECIFIED"]._loaded_options = None + _globals['_EXCHANGETYPE'].values_by_name["EXCHANGE_UNSPECIFIED"]._serialized_options = b'\212\235 \024EXCHANGE_UNSPECIFIED' + _globals['_EXCHANGETYPE'].values_by_name["SPOT"]._loaded_options = None + _globals['_EXCHANGETYPE'].values_by_name["SPOT"]._serialized_options = b'\212\235 \004SPOT' + _globals['_EXCHANGETYPE'].values_by_name["DERIVATIVES"]._loaded_options = None + _globals['_EXCHANGETYPE'].values_by_name["DERIVATIVES"]._serialized_options = b'\212\235 \013DERIVATIVES' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._serialized_options = b'\310\336\037\001' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._serialized_options = b'\310\336\037\001' + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._loaded_options = None + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*&exchange/SpotMarketParamUpdateProposal' + _globals['_EXCHANGEENABLEPROPOSAL']._loaded_options = None + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\212\347\260*\037exchange/ExchangeEnableProposal' + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._loaded_options = None + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260**exchange/BatchExchangeModificationProposal' + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETLAUNCHPROPOSAL']._loaded_options = None + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*!exchange/SpotMarketLaunchProposal' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._loaded_options = None + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*&exchange/PerpetualMarketLaunchProposal' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._loaded_options = None + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260**exchange/BinaryOptionsMarketLaunchProposal' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._loaded_options = None + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260**exchange/ExpiryFuturesMarketLaunchProposal' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['HourlyInterestRate']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['HourlyInterestRate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['HourlyFundingRateCap']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['HourlyFundingRateCap']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._serialized_options = b'\310\336\037\001' + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._loaded_options = None + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*,exchange/DerivativeMarketParamUpdateProposal' + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL'].fields_by_name['settlement_price']._loaded_options = None + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._loaded_options = None + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\'exchange/MarketForcedSettlementProposal' + _globals['_UPDATEAUCTIONEXCHANGETRANSFERDENOMDECIMALSPROPOSAL']._loaded_options = None + _globals['_UPDATEAUCTIONEXCHANGETRANSFERDENOMDECIMALSPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*;exchange/UpdateAuctionExchangeTransferDenomDecimalsProposal' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['relayer_fee_share_rate']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['settlement_price']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['ticker']._serialized_options = b'\310\336\037\001' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\001' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL'].fields_by_name['has_disabled_minimal_protocol_fee']._serialized_options = b'\310\336\037\001' + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._loaded_options = None + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*/exchange/BinaryOptionsMarketParamUpdateProposal' + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._loaded_options = None + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*,exchange/TradingRewardCampaignLaunchProposal' + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._loaded_options = None + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*,exchange/TradingRewardCampaignUpdateProposal' + _globals['_REWARDPOINTUPDATE'].fields_by_name['new_points']._loaded_options = None + _globals['_REWARDPOINTUPDATE'].fields_by_name['new_points']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._loaded_options = None + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*1exchange/TradingRewardPendingPointsUpdateProposal' + _globals['_FEEDISCOUNTPROPOSAL']._loaded_options = None + _globals['_FEEDISCOUNTPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\034exchange/FeeDiscountProposal' + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._loaded_options = None + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(exchange/BatchCommunityPoolSpendProposal' + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._loaded_options = None + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal' + _globals['_DENOMMINNOTIONALPROPOSAL']._loaded_options = None + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*!exchange/DenomMinNotionalProposal' + _globals['_DISABLEMINIMALPROTOCOLFEEUPDATE']._serialized_start=14360 + _globals['_DISABLEMINIMALPROTOCOLFEEUPDATE']._serialized_end=14428 + _globals['_CROSSMARGINELIGIBILITY']._serialized_start=14430 + _globals['_CROSSMARGINELIGIBILITY']._serialized_end=14546 + _globals['_EXCHANGETYPE']._serialized_start=14548 + _globals['_EXCHANGETYPE']._serialized_end=14668 + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_start=350 + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1404 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1407 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1606 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1609 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3424 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3427 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=4212 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=4215 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=5499 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=5502 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=6589 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=6592 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=7908 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=7911 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=9611 + _globals['_ADMININFO']._serialized_start=9613 + _globals['_ADMININFO']._serialized_end=9691 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=9694 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=9975 + _globals['_UPDATEAUCTIONEXCHANGETRANSFERDENOMDECIMALSPROPOSAL']._serialized_start=9978 + _globals['_UPDATEAUCTIONEXCHANGETRANSFERDENOMDECIMALSPROPOSAL']._serialized_end=10267 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=10270 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=11577 + _globals['_PROVIDERORACLEPARAMS']._serialized_start=11580 + _globals['_PROVIDERORACLEPARAMS']._serialized_end=11773 + _globals['_ORACLEPARAMS']._serialized_start=11776 + _globals['_ORACLEPARAMS']._serialized_end=11977 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=11980 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=12344 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=12347 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=12840 + _globals['_REWARDPOINTUPDATE']._serialized_start=12843 + _globals['_REWARDPOINTUPDATE']._serialized_end=12971 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=12974 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=13312 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=13315 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=13537 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=13540 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=13801 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=13804 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=14106 + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_start=14109 + _globals['_DENOMMINNOTIONALPROPOSAL']._serialized_end=14358 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/proposal_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/proposal_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/proposal_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/exchange/v2/query_pb2.py b/pyinjective/proto/injective/exchange/v2/query_pb2.py new file mode 100644 index 00000000..e7c75fc6 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/query_pb2.py @@ -0,0 +1,656 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import orderbook_pb2 as injective_dot_exchange_dot_v2_dot_orderbook__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.exchange.v2 import genesis_pb2 as injective_dot_exchange_dot_v2_dot_genesis__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/exchange/v2/query.proto\x12\x15injective.exchange.v2\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a$injective/exchange/v2/exchange.proto\x1a%injective/exchange/v2/orderbook.proto\x1a\"injective/exchange/v2/market.proto\x1a#injective/exchange/v2/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xb7\x01\n\x1dQuerySubaccountOrdersResponse\x12I\n\nbuy_orders\x18\x01 \x03(\x0b\x32*.injective.exchange.v2.SubaccountOrderDataR\tbuyOrders\x12K\n\x0bsell_orders\x18\x02 \x03(\x0b\x32*.injective.exchange.v2.SubaccountOrderDataR\nsellOrders\"\xaa\x01\n%SubaccountOrderbookMetadataWithMarket\x12N\n\x08metadata\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v2.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"Z\n\x1bQueryExchangeParamsResponse\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x1d.injective.exchange.v2.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x8e\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12G\n\nsubaccount\x18\x02 \x01(\x0b\x32!.injective.exchange.v2.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xe0\x01\n\x1fQuerySubaccountDepositsResponse\x12`\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32\x44.injective.exchange.v2.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a[\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32\x1e.injective.exchange.v2.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"a\n\x1dQueryExchangeBalancesResponse\x12@\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32\x1e.injective.exchange.v2.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"p\n\x1cQueryAggregateVolumeResponse\x12P\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xef\x01\n\x1dQueryAggregateVolumesResponse\x12o\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x33.injective.exchange.v2.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12]\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"g\n\"QueryAggregateMarketVolumeResponse\x12\x41\n\x06volume\x18\x01 \x01(\x0b\x32#.injective.exchange.v2.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"G\n/QueryAuctionExchangeTransferDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"L\n0QueryAuctionExchangeTransferDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"J\n0QueryAuctionExchangeTransferDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"\x86\x01\n1QueryAuctionExchangeTransferDenomDecimalsResponse\x12Q\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32$.injective.exchange.v2.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"d\n#QueryAggregateMarketVolumesResponse\x12=\n\x07volumes\x18\x01 \x03(\x0b\x32#.injective.exchange.v2.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"\\\n\x1eQuerySubaccountDepositResponse\x12:\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32\x1e.injective.exchange.v2.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x18QuerySpotMarketsResponse\x12;\n\x07markets\x18\x01 \x03(\x0b\x32!.injective.exchange.v2.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"T\n\x17QuerySpotMarketResponse\x12\x39\n\x06market\x18\x01 \x01(\x0b\x32!.injective.exchange.v2.SpotMarketR\x06market\"\xd1\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12?\n\norder_side\x18\x03 \x01(\x0e\x32 .injective.exchange.v2.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xc0\x01\n\x1aQuerySpotOrderbookResponse\x12\x46\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\x0e\x62uysPriceLevel\x12H\n\x11sells_price_level\x18\x02 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\x0fsellsPriceLevel\x12\x10\n\x03seq\x18\x03 \x01(\x04R\x03seq\"\xa3\x01\n\x0e\x46ullSpotMarket\x12\x39\n\x06market\x18\x01 \x01(\x0b\x32!.injective.exchange.v2.SpotMarketR\x06market\x12V\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32%.injective.exchange.v2.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"_\n\x1cQueryFullSpotMarketsResponse\x12?\n\x07markets\x18\x01 \x03(\x0b\x32%.injective.exchange.v2.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"\\\n\x1bQueryFullSpotMarketResponse\x12=\n\x06market\x18\x01 \x01(\x0b\x32%.injective.exchange.v2.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"g\n\x1fQuerySpotOrdersByHashesResponse\x12\x44\n\x06orders\x18\x01 \x03(\x0b\x32,.injective.exchange.v2.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"e\n\x1dQueryTraderSpotOrdersResponse\x12\x44\n\x06orders\x18\x01 \x03(\x0b\x32,.injective.exchange.v2.TrimmedSpotLimitOrderR\x06orders\"m\n%QueryAccountAddressSpotOrdersResponse\x12\x44\n\x06orders\x18\x01 \x03(\x0b\x32,.injective.exchange.v2.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xc6\x01\n QueryDerivativeOrderbookResponse\x12\x46\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\x0e\x62uysPriceLevel\x12H\n\x11sells_price_level\x18\x02 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\x0fsellsPriceLevel\x12\x10\n\x03seq\x18\x03 \x01(\x04R\x03seq\"\x97\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12G\n\x08strategy\x18\x05 \x01(\x0e\x32+.injective.exchange.v2.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xd7\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12G\n\x08strategy\x18\x04 \x01(\x0e\x32+.injective.exchange.v2.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"q\n#QueryTraderDerivativeOrdersResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective.exchange.v2.TrimmedDerivativeLimitOrderR\x06orders\"y\n+QueryAccountAddressDerivativeOrdersResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective.exchange.v2.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"s\n%QueryDerivativeOrdersByHashesResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective.exchange.v2.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xb5\x01\n\x14PerpetualMarketState\x12K\n\x0bmarket_info\x18\x01 \x01(\x0b\x32*.injective.exchange.v2.PerpetualMarketInfoR\nmarketInfo\x12P\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32-.injective.exchange.v2.PerpetualMarketFundingR\x0b\x66undingInfo\"\xa6\x03\n\x14\x46ullDerivativeMarket\x12?\n\x06market\x18\x01 \x01(\x0b\x32\'.injective.exchange.v2.DerivativeMarketR\x06market\x12T\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32+.injective.exchange.v2.PerpetualMarketStateH\x00R\rperpetualInfo\x12S\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32..injective.exchange.v2.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12V\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32%.injective.exchange.v2.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"g\n\x1eQueryDerivativeMarketsResponse\x12\x45\n\x07markets\x18\x01 \x03(\x0b\x32+.injective.exchange.v2.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"d\n\x1dQueryDerivativeMarketResponse\x12\x43\n\x06market\x18\x01 \x01(\x0b\x32+.injective.exchange.v2.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"<\n\x1dQueryPositionsInMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"g\n\x1eQueryPositionsInMarketResponse\x12\x45\n\x05state\x18\x01 \x03(\x0b\x32).injective.exchange.v2.DerivativePositionB\x04\xc8\xde\x1f\x01R\x05state\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"i\n QuerySubaccountPositionsResponse\x12\x45\n\x05state\x18\x01 \x03(\x0b\x32).injective.exchange.v2.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"\xa4\x01\n\'QuerySubaccountPositionInMarketResponse\x12;\n\x05state\x18\x01 \x01(\x0b\x32\x1f.injective.exchange.v2.PositionB\x04\xc8\xde\x1f\x01R\x05state\x12<\n\trisk_mode\x18\x02 \x01(\x0e\x32\x1f.injective.exchange.v2.RiskModeR\x08riskMode\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"\xb6\x01\n0QuerySubaccountEffectivePositionInMarketResponse\x12\x44\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v2.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\x12<\n\trisk_mode\x18\x02 \x01(\x0e\x32\x1f.injective.exchange.v2.RiskModeR\x08riskMode\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"h\n QueryPerpetualMarketInfoResponse\x12\x44\n\x04info\x18\x01 \x01(\x0b\x32*.injective.exchange.v2.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"p\n$QueryExpiryFuturesMarketInfoResponse\x12H\n\x04info\x18\x01 \x01(\x0b\x32..injective.exchange.v2.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"p\n#QueryPerpetualMarketFundingResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v2.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x86\x01\n$QuerySubaccountOrderMetadataResponse\x12^\n\x08metadata\x18\x01 \x03(\x0b\x32<.injective.exchange.v2.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"H\n!QuerySubaccountRiskProfileRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"\x8b\x01\n\"QuerySubaccountRiskProfileResponse\x12\x46\n\x07profile\x18\x01 \x01(\x0b\x32,.injective.exchange.v2.SubaccountRiskProfileR\x07profile\x12\x1d\n\nis_default\x18\x02 \x01(\x08R\tisDefault\"k\n#QueryCrossMarginPoolSnapshotRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1f\n\x0bquote_denom\x18\x02 \x01(\tR\nquoteDenom\"\x89\n\n$QueryCrossMarginPoolSnapshotResponse\x12\x1f\n\x0bquote_denom\x18\x01 \x01(\tR\nquoteDenom\x12H\n\rquote_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cquoteBalance\x12W\n\x15position_margin_total\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13positionMarginTotal\x12J\n\x0eunrealized_pnl\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\runrealizedPnl\x12]\n\x18unrealized_pnl_effective\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16unrealizedPnlEffective\x12N\n\x10\x65quity_admission\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65quityAdmission\x12R\n\x12\x65quity_liquidation\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65quityLiquidation\x12U\n\x14initial_margin_total\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginTotal\x12]\n\x18maintenance_margin_total\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginTotal\x12k\n initial_margin_with_orders_total\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1cinitialMarginWithOrdersTotal\x12M\n\x10\x65ntry_loss_total\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65ntryLossTotal\x12O\n\x11\x66\x65\x65_reserve_total\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x66\x65\x65ReserveTotal\x12Y\n\x16order_lock_requirement\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14orderLockRequirement\x12`\n\x1apositive_upnl_haircut_rate\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17positiveUpnlHaircutRate\x12H\n\rhealth_factor\x18\x0f \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0chealthFactorJ\x04\x08\x10\x10\x11\"\x19\n\x17QueryModuleStateRequest\"U\n\x18QueryModuleStateResponse\x12\x39\n\x05state\x18\x01 \x01(\x0b\x32#.injective.exchange.v2.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"_\n\x16QueryPositionsResponse\x12\x45\n\x05state\x18\x01 \x03(\x0b\x32).injective.exchange.v2.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xee\x04\n QueryTradeRewardCampaignResponse\x12q\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v2.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12{\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8a\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32).injective.exchange.v2.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xdf\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12M\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12J\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32).injective.exchange.v2.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x82\x01\n QueryFeeDiscountScheduleResponse\x12^\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"w\n\x1eQueryBalanceMismatchesResponse\x12U\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32&.injective.exchange.v2.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x91\x01\n$QueryBalanceWithBalanceHoldsResponse\x12i\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32,.injective.exchange.v2.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"n\n&QueryFeeDiscountTierStatisticsResponse\x12\x44\n\nstatistics\x18\x01 \x03(\x0b\x32$.injective.exchange.v2.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"o\n#QueryHistoricalTradeRecordsResponse\x12H\n\rtrade_records\x18\x01 \x03(\x0b\x32#.injective.exchange.v2.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\x9b\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12^\n\x15trade_history_options\x18\x02 \x01(\x0b\x32*.injective.exchange.v2.TradeHistoryOptionsR\x13tradeHistoryOptions\"\xfe\x01\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12\x43\n\x0braw_history\x18\x03 \x03(\x0b\x32\".injective.exchange.v2.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"b\n\x1aQueryBinaryMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v2.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x82\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12P\n\x06orders\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v2.TrimmedDerivativeConditionalOrderR\x06orders\"<\n\x1dQueryFullSpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xae\x01\n\x1eQueryFullSpotOrderbookResponse\x12<\n\x04\x42ids\x18\x01 \x03(\x0b\x32(.injective.exchange.v2.TrimmedLimitOrderR\x04\x42ids\x12<\n\x04\x41sks\x18\x02 \x03(\x0b\x32(.injective.exchange.v2.TrimmedLimitOrderR\x04\x41sks\x12\x10\n\x03seq\x18\x03 \x01(\x04R\x03seq\"B\n#QueryFullDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xb4\x01\n$QueryFullDerivativeOrderbookResponse\x12<\n\x04\x42ids\x18\x01 \x03(\x0b\x32(.injective.exchange.v2.TrimmedLimitOrderR\x04\x42ids\x12<\n\x04\x41sks\x18\x02 \x03(\x0b\x32(.injective.exchange.v2.TrimmedLimitOrderR\x04\x41sks\x12\x10\n\x03seq\x18\x03 \x01(\x04R\x03seq\"\xd3\x01\n\x11TrimmedLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xa9\x01\n\x1dQueryActiveStakeGrantResponse\x12\x38\n\x05grant\x18\x01 \x01(\x0b\x32\".injective.exchange.v2.ActiveGrantR\x05grant\x12N\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32%.injective.exchange.v2.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb2\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x41\n\x06grants\x18\x02 \x03(\x0b\x32).injective.exchange.v2.GrantAuthorizationR\x06grants\"8\n\x19QueryMarketBalanceRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\\\n\x1aQueryMarketBalanceResponse\x12>\n\x07\x62\x61lance\x18\x01 \x01(\x0b\x32$.injective.exchange.v2.MarketBalanceR\x07\x62\x61lance\"\x1c\n\x1aQueryMarketBalancesRequest\"_\n\x1bQueryMarketBalancesResponse\x12@\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32$.injective.exchange.v2.MarketBalanceR\x08\x62\x61lances\"k\n\rMarketBalance\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12=\n\x07\x62\x61lance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x07\x62\x61lance\"4\n\x1cQueryDenomMinNotionalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"\\\n\x1dQueryDenomMinNotionalResponse\x12;\n\x06\x61mount\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount\"\x1f\n\x1dQueryDenomMinNotionalsRequest\"y\n\x1eQueryDenomMinNotionalsResponse\x12W\n\x13\x64\x65nom_min_notionals\x18\x01 \x03(\x0b\x32\'.injective.exchange.v2.DenomMinNotionalR\x11\x64\x65nomMinNotionals\"j\n\x0cOpenInterest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12=\n\x07\x62\x61lance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x07\x62\x61lance\"7\n\x18QueryOpenInterestRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"X\n\x19QueryOpenInterestResponse\x12;\n\x06\x61mount\x18\x01 \x01(\x0b\x32#.injective.exchange.v2.OpenInterestR\x06\x61mount*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xa2o\n\x05Query\x12\xd3\x01\n\x15L3DerivativeOrderBook\x12:.injective.exchange.v2.QueryFullDerivativeOrderbookRequest\x1a;.injective.exchange.v2.QueryFullDerivativeOrderbookResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v2/derivative/L3OrderBook/{market_id}\x12\xbb\x01\n\x0fL3SpotOrderBook\x12\x34.injective.exchange.v2.QueryFullSpotOrderbookRequest\x1a\x35.injective.exchange.v2.QueryFullSpotOrderbookResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v2/spot/L3OrderBook/{market_id}\x12\xab\x01\n\x13QueryExchangeParams\x12\x31.injective.exchange.v2.QueryExchangeParamsRequest\x1a\x32.injective.exchange.v2.QueryExchangeParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v2/exchangeParams\x12\xbf\x01\n\x12SubaccountDeposits\x12\x35.injective.exchange.v2.QuerySubaccountDepositsRequest\x1a\x36.injective.exchange.v2.QuerySubaccountDepositsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v2/exchange/subaccountDeposits\x12\xbb\x01\n\x11SubaccountDeposit\x12\x34.injective.exchange.v2.QuerySubaccountDepositRequest\x1a\x35.injective.exchange.v2.QuerySubaccountDepositResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v2/exchange/subaccountDeposit\x12\xb7\x01\n\x10\x45xchangeBalances\x12\x33.injective.exchange.v2.QueryExchangeBalancesRequest\x1a\x34.injective.exchange.v2.QueryExchangeBalancesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/exchange/v2/exchange/exchangeBalances\x12\xbd\x01\n\x0f\x41ggregateVolume\x12\x32.injective.exchange.v2.QueryAggregateVolumeRequest\x1a\x33.injective.exchange.v2.QueryAggregateVolumeResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v2/exchange/aggregateVolume/{account}\x12\xb7\x01\n\x10\x41ggregateVolumes\x12\x33.injective.exchange.v2.QueryAggregateVolumesRequest\x1a\x34.injective.exchange.v2.QueryAggregateVolumesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/exchange/v2/exchange/aggregateVolumes\x12\xd7\x01\n\x15\x41ggregateMarketVolume\x12\x38.injective.exchange.v2.QueryAggregateMarketVolumeRequest\x1a\x39.injective.exchange.v2.QueryAggregateMarketVolumeResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v2/exchange/aggregateMarketVolume/{market_id}\x12\xcf\x01\n\x16\x41ggregateMarketVolumes\x12\x39.injective.exchange.v2.QueryAggregateMarketVolumesRequest\x1a:.injective.exchange.v2.QueryAggregateMarketVolumesResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v2/exchange/aggregateMarketVolumes\x12\x8f\x02\n#AuctionExchangeTransferDenomDecimal\x12\x46.injective.exchange.v2.QueryAuctionExchangeTransferDenomDecimalRequest\x1aG.injective.exchange.v2.QueryAuctionExchangeTransferDenomDecimalResponse\"W\x82\xd3\xe4\x93\x02Q\x12O/injective/exchange/v2/exchange/auction_exchange_transfer_denom_decimal/{denom}\x12\x8b\x02\n$AuctionExchangeTransferDenomDecimals\x12G.injective.exchange.v2.QueryAuctionExchangeTransferDenomDecimalsRequest\x1aH.injective.exchange.v2.QueryAuctionExchangeTransferDenomDecimalsResponse\"P\x82\xd3\xe4\x93\x02J\x12H/injective/exchange/v2/exchange/auction_exchange_transfer_denom_decimals\x12\x9b\x01\n\x0bSpotMarkets\x12..injective.exchange.v2.QuerySpotMarketsRequest\x1a/.injective.exchange.v2.QuerySpotMarketsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/injective/exchange/v2/spot/markets\x12\xa4\x01\n\nSpotMarket\x12-.injective.exchange.v2.QuerySpotMarketRequest\x1a..injective.exchange.v2.QuerySpotMarketResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v2/spot/markets/{market_id}\x12\xac\x01\n\x0f\x46ullSpotMarkets\x12\x32.injective.exchange.v2.QueryFullSpotMarketsRequest\x1a\x33.injective.exchange.v2.QueryFullSpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v2/spot/full_markets\x12\xb4\x01\n\x0e\x46ullSpotMarket\x12\x31.injective.exchange.v2.QueryFullSpotMarketRequest\x1a\x32.injective.exchange.v2.QueryFullSpotMarketResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v2/spot/full_market/{market_id}\x12\xaf\x01\n\rSpotOrderbook\x12\x30.injective.exchange.v2.QuerySpotOrderbookRequest\x1a\x31.injective.exchange.v2.QuerySpotOrderbookResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v2/spot/orderbook/{market_id}\x12\xc5\x01\n\x10TraderSpotOrders\x12\x33.injective.exchange.v2.QueryTraderSpotOrdersRequest\x1a\x34.injective.exchange.v2.QueryTraderSpotOrdersResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v2/spot/orders/{market_id}/{subaccount_id}\x12\xe7\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12;.injective.exchange.v2.QueryAccountAddressSpotOrdersRequest\x1a<.injective.exchange.v2.QueryAccountAddressSpotOrdersResponse\"P\x82\xd3\xe4\x93\x02J\x12H/injective/exchange/v2/spot/orders/{market_id}/account/{account_address}\x12\xd5\x01\n\x12SpotOrdersByHashes\x12\x35.injective.exchange.v2.QuerySpotOrdersByHashesRequest\x1a\x36.injective.exchange.v2.QuerySpotOrdersByHashesResponse\"P\x82\xd3\xe4\x93\x02J\x12H/injective/exchange/v2/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xb4\x01\n\x10SubaccountOrders\x12\x33.injective.exchange.v2.QuerySubaccountOrdersRequest\x1a\x34.injective.exchange.v2.QuerySubaccountOrdersResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v2/orders/{subaccount_id}\x12\xd8\x01\n\x19TraderSpotTransientOrders\x12\x33.injective.exchange.v2.QueryTraderSpotOrdersRequest\x1a\x34.injective.exchange.v2.QueryTraderSpotOrdersResponse\"P\x82\xd3\xe4\x93\x02J\x12H/injective/exchange/v2/spot/transient_orders/{market_id}/{subaccount_id}\x12\xc6\x01\n\x12SpotMidPriceAndTOB\x12\x35.injective.exchange.v2.QuerySpotMidPriceAndTOBRequest\x1a\x36.injective.exchange.v2.QuerySpotMidPriceAndTOBResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v2/spot/mid_price_and_tob/{market_id}\x12\xde\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12;.injective.exchange.v2.QueryDerivativeMidPriceAndTOBRequest\x1a<.injective.exchange.v2.QueryDerivativeMidPriceAndTOBResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v2/derivative/mid_price_and_tob/{market_id}\x12\xc7\x01\n\x13\x44\x65rivativeOrderbook\x12\x36.injective.exchange.v2.QueryDerivativeOrderbookRequest\x1a\x37.injective.exchange.v2.QueryDerivativeOrderbookResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v2/derivative/orderbook/{market_id}\x12\xdd\x01\n\x16TraderDerivativeOrders\x12\x39.injective.exchange.v2.QueryTraderDerivativeOrdersRequest\x1a:.injective.exchange.v2.QueryTraderDerivativeOrdersResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v2/derivative/orders/{market_id}/{subaccount_id}\x12\xff\x01\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x41.injective.exchange.v2.QueryAccountAddressDerivativeOrdersRequest\x1a\x42.injective.exchange.v2.QueryAccountAddressDerivativeOrdersResponse\"V\x82\xd3\xe4\x93\x02P\x12N/injective/exchange/v2/derivative/orders/{market_id}/account/{account_address}\x12\xed\x01\n\x18\x44\x65rivativeOrdersByHashes\x12;.injective.exchange.v2.QueryDerivativeOrdersByHashesRequest\x1a<.injective.exchange.v2.QueryDerivativeOrdersByHashesResponse\"V\x82\xd3\xe4\x93\x02P\x12N/injective/exchange/v2/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xf0\x01\n\x1fTraderDerivativeTransientOrders\x12\x39.injective.exchange.v2.QueryTraderDerivativeOrdersRequest\x1a:.injective.exchange.v2.QueryTraderDerivativeOrdersResponse\"V\x82\xd3\xe4\x93\x02P\x12N/injective/exchange/v2/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xb3\x01\n\x11\x44\x65rivativeMarkets\x12\x34.injective.exchange.v2.QueryDerivativeMarketsRequest\x1a\x35.injective.exchange.v2.QueryDerivativeMarketsResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/exchange/v2/derivative/markets\x12\xbc\x01\n\x10\x44\x65rivativeMarket\x12\x33.injective.exchange.v2.QueryDerivativeMarketRequest\x1a\x34.injective.exchange.v2.QueryDerivativeMarketResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v2/derivative/markets/{market_id}\x12\xd8\x01\n\x17\x44\x65rivativeMarketAddress\x12:.injective.exchange.v2.QueryDerivativeMarketAddressRequest\x1a;.injective.exchange.v2.QueryDerivativeMarketAddressResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v2/positions_in_market/{market_id}\x12\xcb\x01\n\x13SubaccountPositions\x12\x36.injective.exchange.v2.QuerySubaccountPositionsRequest\x1a\x37.injective.exchange.v2.QuerySubaccountPositionsResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v2/subaccount_positions/{subaccount_id}\x12\xe1\x01\n\x1aSubaccountPositionInMarket\x12=.injective.exchange.v2.QuerySubaccountPositionInMarketRequest\x1a>.injective.exchange.v2.QuerySubaccountPositionInMarketResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v2/vault_market_id/{vault_address}\x12\xc8\x01\n\x16HistoricalTradeRecords\x12\x39.injective.exchange.v2.QueryHistoricalTradeRecordsRequest\x1a:.injective.exchange.v2.QueryHistoricalTradeRecordsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v2/historical_trade_records\x12\xc8\x01\n\x13IsOptedOutOfRewards\x12\x36.injective.exchange.v2.QueryIsOptedOutOfRewardsRequest\x1a\x37.injective.exchange.v2.QueryIsOptedOutOfRewardsResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v2/is_opted_out_of_rewards/{account}\x12\xd6\x01\n\x19OptedOutOfRewardsAccounts\x12<.injective.exchange.v2.QueryOptedOutOfRewardsAccountsRequest\x1a=.injective.exchange.v2.QueryOptedOutOfRewardsAccountsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v2/opted_out_of_rewards_accounts\x12\xbb\x01\n\x10MarketVolatility\x12\x33.injective.exchange.v2.QueryMarketVolatilityRequest\x1a\x34.injective.exchange.v2.QueryMarketVolatilityResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v2/market_volatility/{market_id}\x12\xb2\x01\n\x14\x42inaryOptionsMarkets\x12\x30.injective.exchange.v2.QueryBinaryMarketsRequest\x1a\x31.injective.exchange.v2.QueryBinaryMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v2/binary_options/markets\x12\x8a\x02\n!TraderDerivativeConditionalOrders\x12\x44.injective.exchange.v2.QueryTraderDerivativeConditionalOrdersRequest\x1a\x45.injective.exchange.v2.QueryTraderDerivativeConditionalOrdersResponse\"X\x82\xd3\xe4\x93\x02R\x12P/injective/exchange/v2/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xef\x01\n\"MarketAtomicExecutionFeeMultiplier\x12\x45.injective.exchange.v2.QueryMarketAtomicExecutionFeeMultiplierRequest\x1a\x46.injective.exchange.v2.QueryMarketAtomicExecutionFeeMultiplierResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v2/atomic_order_fee_multiplier\x12\xba\x01\n\x10\x41\x63tiveStakeGrant\x12\x33.injective.exchange.v2.QueryActiveStakeGrantRequest\x1a\x34.injective.exchange.v2.QueryActiveStakeGrantResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v2/active_stake_grant/{grantee}\x12\xcb\x01\n\x12GrantAuthorization\x12\x35.injective.exchange.v2.QueryGrantAuthorizationRequest\x1a\x36.injective.exchange.v2.QueryGrantAuthorizationResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v2/grant_authorization/{granter}/{grantee}\x12\xc5\x01\n\x13GrantAuthorizations\x12\x36.injective.exchange.v2.QueryGrantAuthorizationsRequest\x1a\x37.injective.exchange.v2.QueryGrantAuthorizationsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v2/grant_authorizations/{granter}\x12\xaf\x01\n\rMarketBalance\x12\x30.injective.exchange.v2.QueryMarketBalanceRequest\x1a\x31.injective.exchange.v2.QueryMarketBalanceResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v2/market_balance/{market_id}\x12\xa7\x01\n\x0eMarketBalances\x12\x31.injective.exchange.v2.QueryMarketBalancesRequest\x1a\x32.injective.exchange.v2.QueryMarketBalancesResponse\".\x82\xd3\xe4\x93\x02(\x12&/injective/exchange/v2/market_balances\x12\xb8\x01\n\x10\x44\x65nomMinNotional\x12\x33.injective.exchange.v2.QueryDenomMinNotionalRequest\x1a\x34.injective.exchange.v2.QueryDenomMinNotionalResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v2/denom_min_notional/{denom}\x12\xb4\x01\n\x11\x44\x65nomMinNotionals\x12\x34.injective.exchange.v2.QueryDenomMinNotionalsRequest\x1a\x35.injective.exchange.v2.QueryDenomMinNotionalsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v2/denom_min_notionals\x12\x9f\x01\n\x0cOpenInterest\x12/.injective.exchange.v2.QueryOpenInterestRequest\x1a\x30.injective.exchange.v2.QueryOpenInterestResponse\",\x82\xd3\xe4\x93\x02&\x12$/injective/exchange/v2/open_interestB\xf0\x01\n\x19\x63om.injective.exchange.v2B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\nQueryProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_QUERYEXCHANGEPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None + _globals['_QUERYEXCHANGEPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_QUERYSUBACCOUNTDEPOSITSREQUEST'].fields_by_name['subaccount']._loaded_options = None + _globals['_QUERYSUBACCOUNTDEPOSITSREQUEST'].fields_by_name['subaccount']._serialized_options = b'\310\336\037\001' + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE_DEPOSITSENTRY']._loaded_options = None + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE_DEPOSITSENTRY']._serialized_options = b'8\001' + _globals['_QUERYEXCHANGEBALANCESRESPONSE'].fields_by_name['balances']._loaded_options = None + _globals['_QUERYEXCHANGEBALANCESRESPONSE'].fields_by_name['balances']._serialized_options = b'\310\336\037\000' + _globals['_QUERYAGGREGATEMARKETVOLUMERESPONSE'].fields_by_name['volume']._loaded_options = None + _globals['_QUERYAGGREGATEMARKETVOLUMERESPONSE'].fields_by_name['volume']._serialized_options = b'\310\336\037\000' + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSRESPONSE'].fields_by_name['denom_decimals']._loaded_options = None + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSRESPONSE'].fields_by_name['denom_decimals']._serialized_options = b'\310\336\037\000' + _globals['_QUERYSPOTORDERBOOKREQUEST'].fields_by_name['limit_cumulative_notional']._loaded_options = None + _globals['_QUERYSPOTORDERBOOKREQUEST'].fields_by_name['limit_cumulative_notional']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYSPOTORDERBOOKREQUEST'].fields_by_name['limit_cumulative_quantity']._loaded_options = None + _globals['_QUERYSPOTORDERBOOKREQUEST'].fields_by_name['limit_cumulative_quantity']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_FULLSPOTMARKET'].fields_by_name['mid_price_and_tob']._loaded_options = None + _globals['_FULLSPOTMARKET'].fields_by_name['mid_price_and_tob']._serialized_options = b'\310\336\037\001' + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['fillable']._loaded_options = None + _globals['_TRIMMEDSPOTLIMITORDER'].fields_by_name['fillable']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['mid_price']._loaded_options = None + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['mid_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['best_buy_price']._loaded_options = None + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['best_buy_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['best_sell_price']._loaded_options = None + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE'].fields_by_name['best_sell_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['mid_price']._loaded_options = None + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['mid_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['best_buy_price']._loaded_options = None + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['best_buy_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['best_sell_price']._loaded_options = None + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE'].fields_by_name['best_sell_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDERIVATIVEORDERBOOKREQUEST'].fields_by_name['limit_cumulative_notional']._loaded_options = None + _globals['_QUERYDERIVATIVEORDERBOOKREQUEST'].fields_by_name['limit_cumulative_notional']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['base_amount']._loaded_options = None + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['base_amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['quote_amount']._loaded_options = None + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['quote_amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['reference_price']._loaded_options = None + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['reference_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['quote_amount']._loaded_options = None + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['quote_amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['reference_price']._loaded_options = None + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST'].fields_by_name['reference_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['margin']._loaded_options = None + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['fillable']._loaded_options = None + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['fillable']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['isBuy']._loaded_options = None + _globals['_TRIMMEDDERIVATIVELIMITORDER'].fields_by_name['isBuy']._serialized_options = b'\352\336\037\005isBuy' + _globals['_PRICELEVEL'].fields_by_name['price']._loaded_options = None + _globals['_PRICELEVEL'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PRICELEVEL'].fields_by_name['quantity']._loaded_options = None + _globals['_PRICELEVEL'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_FULLDERIVATIVEMARKET'].fields_by_name['mark_price']._loaded_options = None + _globals['_FULLDERIVATIVEMARKET'].fields_by_name['mark_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_FULLDERIVATIVEMARKET'].fields_by_name['mid_price_and_tob']._loaded_options = None + _globals['_FULLDERIVATIVEMARKET'].fields_by_name['mid_price_and_tob']._serialized_options = b'\310\336\037\001' + _globals['_QUERYPOSITIONSINMARKETRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYPOSITIONSINMARKETRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\001' + _globals['_QUERYSUBACCOUNTPOSITIONSRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYSUBACCOUNTPOSITIONSRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\000' + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\001' + _globals['_EFFECTIVEPOSITION'].fields_by_name['quantity']._loaded_options = None + _globals['_EFFECTIVEPOSITION'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EFFECTIVEPOSITION'].fields_by_name['entry_price']._loaded_options = None + _globals['_EFFECTIVEPOSITION'].fields_by_name['entry_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EFFECTIVEPOSITION'].fields_by_name['effective_margin']._loaded_options = None + _globals['_EFFECTIVEPOSITION'].fields_by_name['effective_margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\001' + _globals['_QUERYPERPETUALMARKETINFORESPONSE'].fields_by_name['info']._loaded_options = None + _globals['_QUERYPERPETUALMARKETINFORESPONSE'].fields_by_name['info']._serialized_options = b'\310\336\037\000' + _globals['_QUERYEXPIRYFUTURESMARKETINFORESPONSE'].fields_by_name['info']._loaded_options = None + _globals['_QUERYEXPIRYFUTURESMARKETINFORESPONSE'].fields_by_name['info']._serialized_options = b'\310\336\037\000' + _globals['_QUERYPERPETUALMARKETFUNDINGRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYPERPETUALMARKETFUNDINGRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\000' + _globals['_QUERYSUBACCOUNTORDERMETADATARESPONSE'].fields_by_name['metadata']._loaded_options = None + _globals['_QUERYSUBACCOUNTORDERMETADATARESPONSE'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['quote_balance']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['quote_balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['position_margin_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['position_margin_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['unrealized_pnl']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['unrealized_pnl']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['unrealized_pnl_effective']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['unrealized_pnl_effective']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['equity_admission']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['equity_admission']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['equity_liquidation']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['equity_liquidation']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['initial_margin_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['initial_margin_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['maintenance_margin_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['maintenance_margin_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['initial_margin_with_orders_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['initial_margin_with_orders_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['entry_loss_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['entry_loss_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['fee_reserve_total']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['fee_reserve_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['order_lock_requirement']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['order_lock_requirement']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['positive_upnl_haircut_rate']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['positive_upnl_haircut_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['health_factor']._loaded_options = None + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE'].fields_by_name['health_factor']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYPOSITIONSRESPONSE'].fields_by_name['state']._loaded_options = None + _globals['_QUERYPOSITIONSRESPONSE'].fields_by_name['state']._serialized_options = b'\310\336\037\000' + _globals['_QUERYTRADEREWARDPOINTSRESPONSE'].fields_by_name['account_trade_reward_points']._loaded_options = None + _globals['_QUERYTRADEREWARDPOINTSRESPONSE'].fields_by_name['account_trade_reward_points']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE'].fields_by_name['total_trade_reward_points']._loaded_options = None + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE'].fields_by_name['total_trade_reward_points']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE'].fields_by_name['pending_total_trade_reward_points']._loaded_options = None + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE'].fields_by_name['pending_total_trade_reward_points']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEMISMATCH'].fields_by_name['available']._loaded_options = None + _globals['_BALANCEMISMATCH'].fields_by_name['available']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEMISMATCH'].fields_by_name['total']._loaded_options = None + _globals['_BALANCEMISMATCH'].fields_by_name['total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEMISMATCH'].fields_by_name['balance_hold']._loaded_options = None + _globals['_BALANCEMISMATCH'].fields_by_name['balance_hold']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEMISMATCH'].fields_by_name['expected_total']._loaded_options = None + _globals['_BALANCEMISMATCH'].fields_by_name['expected_total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEMISMATCH'].fields_by_name['difference']._loaded_options = None + _globals['_BALANCEMISMATCH'].fields_by_name['difference']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['available']._loaded_options = None + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['available']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['total']._loaded_options = None + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['total']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['balance_hold']._loaded_options = None + _globals['_BALANCEWITHMARGINHOLD'].fields_by_name['balance_hold']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYMARKETVOLATILITYRESPONSE'].fields_by_name['volatility']._loaded_options = None + _globals['_QUERYMARKETVOLATILITYRESPONSE'].fields_by_name['volatility']._serialized_options = b'\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['margin']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['triggerPrice']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['triggerPrice']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isBuy']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isBuy']._serialized_options = b'\352\336\037\005isBuy' + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._loaded_options = None + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._serialized_options = b'\352\336\037\007isLimit' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._loaded_options = None + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._loaded_options = None + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._loaded_options = None + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_MARKETBALANCE'].fields_by_name['balance']._loaded_options = None + _globals['_MARKETBALANCE'].fields_by_name['balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERYDENOMMINNOTIONALRESPONSE'].fields_by_name['amount']._loaded_options = None + _globals['_QUERYDENOMMINNOTIONALRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_OPENINTEREST'].fields_by_name['balance']._loaded_options = None + _globals['_OPENINTEREST'].fields_by_name['balance']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._serialized_options = b'\202\323\344\223\002;\0229/injective/exchange/v2/derivative/L3OrderBook/{market_id}' + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._serialized_options = b'\202\323\344\223\0025\0223/injective/exchange/v2/spot/L3OrderBook/{market_id}' + _globals['_QUERY'].methods_by_name['QueryExchangeParams']._loaded_options = None + _globals['_QUERY'].methods_by_name['QueryExchangeParams']._serialized_options = b'\202\323\344\223\002\'\022%/injective/exchange/v2/exchangeParams' + _globals['_QUERY'].methods_by_name['SubaccountDeposits']._loaded_options = None + _globals['_QUERY'].methods_by_name['SubaccountDeposits']._serialized_options = b'\202\323\344\223\0024\0222/injective/exchange/v2/exchange/subaccountDeposits' + _globals['_QUERY'].methods_by_name['SubaccountDeposit']._loaded_options = None + _globals['_QUERY'].methods_by_name['SubaccountDeposit']._serialized_options = b'\202\323\344\223\0023\0221/injective/exchange/v2/exchange/subaccountDeposit' + _globals['_QUERY'].methods_by_name['ExchangeBalances']._loaded_options = None + _globals['_QUERY'].methods_by_name['ExchangeBalances']._serialized_options = b'\202\323\344\223\0022\0220/injective/exchange/v2/exchange/exchangeBalances' + _globals['_QUERY'].methods_by_name['AggregateVolume']._loaded_options = None + _globals['_QUERY'].methods_by_name['AggregateVolume']._serialized_options = b'\202\323\344\223\002;\0229/injective/exchange/v2/exchange/aggregateVolume/{account}' + _globals['_QUERY'].methods_by_name['AggregateVolumes']._loaded_options = None + _globals['_QUERY'].methods_by_name['AggregateVolumes']._serialized_options = b'\202\323\344\223\0022\0220/injective/exchange/v2/exchange/aggregateVolumes' + _globals['_QUERY'].methods_by_name['AggregateMarketVolume']._loaded_options = None + _globals['_QUERY'].methods_by_name['AggregateMarketVolume']._serialized_options = b'\202\323\344\223\002C\022A/injective/exchange/v2/exchange/aggregateMarketVolume/{market_id}' + _globals['_QUERY'].methods_by_name['AggregateMarketVolumes']._loaded_options = None + _globals['_QUERY'].methods_by_name['AggregateMarketVolumes']._serialized_options = b'\202\323\344\223\0028\0226/injective/exchange/v2/exchange/aggregateMarketVolumes' + _globals['_QUERY'].methods_by_name['AuctionExchangeTransferDenomDecimal']._loaded_options = None + _globals['_QUERY'].methods_by_name['AuctionExchangeTransferDenomDecimal']._serialized_options = b'\202\323\344\223\002Q\022O/injective/exchange/v2/exchange/auction_exchange_transfer_denom_decimal/{denom}' + _globals['_QUERY'].methods_by_name['AuctionExchangeTransferDenomDecimals']._loaded_options = None + _globals['_QUERY'].methods_by_name['AuctionExchangeTransferDenomDecimals']._serialized_options = b'\202\323\344\223\002J\022H/injective/exchange/v2/exchange/auction_exchange_transfer_denom_decimals' + _globals['_QUERY'].methods_by_name['SpotMarkets']._loaded_options = None + _globals['_QUERY'].methods_by_name['SpotMarkets']._serialized_options = b'\202\323\344\223\002%\022#/injective/exchange/v2/spot/markets' + _globals['_QUERY'].methods_by_name['SpotMarket']._loaded_options = None + _globals['_QUERY'].methods_by_name['SpotMarket']._serialized_options = b'\202\323\344\223\0021\022//injective/exchange/v2/spot/markets/{market_id}' + _globals['_QUERY'].methods_by_name['FullSpotMarkets']._loaded_options = None + _globals['_QUERY'].methods_by_name['FullSpotMarkets']._serialized_options = b'\202\323\344\223\002*\022(/injective/exchange/v2/spot/full_markets' + _globals['_QUERY'].methods_by_name['FullSpotMarket']._loaded_options = None + _globals['_QUERY'].methods_by_name['FullSpotMarket']._serialized_options = b'\202\323\344\223\0025\0223/injective/exchange/v2/spot/full_market/{market_id}' + _globals['_QUERY'].methods_by_name['SpotOrderbook']._loaded_options = None + _globals['_QUERY'].methods_by_name['SpotOrderbook']._serialized_options = b'\202\323\344\223\0023\0221/injective/exchange/v2/spot/orderbook/{market_id}' + _globals['_QUERY'].methods_by_name['TraderSpotOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraderSpotOrders']._serialized_options = b'\202\323\344\223\002@\022>/injective/exchange/v2/spot/orders/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['AccountAddressSpotOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['AccountAddressSpotOrders']._serialized_options = b'\202\323\344\223\002J\022H/injective/exchange/v2/spot/orders/{market_id}/account/{account_address}' + _globals['_QUERY'].methods_by_name['SpotOrdersByHashes']._loaded_options = None + _globals['_QUERY'].methods_by_name['SpotOrdersByHashes']._serialized_options = b'\202\323\344\223\002J\022H/injective/exchange/v2/spot/orders_by_hashes/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['SubaccountOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['SubaccountOrders']._serialized_options = b'\202\323\344\223\002/\022-/injective/exchange/v2/orders/{subaccount_id}' + _globals['_QUERY'].methods_by_name['TraderSpotTransientOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraderSpotTransientOrders']._serialized_options = b'\202\323\344\223\002J\022H/injective/exchange/v2/spot/transient_orders/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['SpotMidPriceAndTOB']._loaded_options = None + _globals['_QUERY'].methods_by_name['SpotMidPriceAndTOB']._serialized_options = b'\202\323\344\223\002;\0229/injective/exchange/v2/spot/mid_price_and_tob/{market_id}' + _globals['_QUERY'].methods_by_name['DerivativeMidPriceAndTOB']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeMidPriceAndTOB']._serialized_options = b'\202\323\344\223\002A\022?/injective/exchange/v2/derivative/mid_price_and_tob/{market_id}' + _globals['_QUERY'].methods_by_name['DerivativeOrderbook']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeOrderbook']._serialized_options = b'\202\323\344\223\0029\0227/injective/exchange/v2/derivative/orderbook/{market_id}' + _globals['_QUERY'].methods_by_name['TraderDerivativeOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraderDerivativeOrders']._serialized_options = b'\202\323\344\223\002F\022D/injective/exchange/v2/derivative/orders/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['AccountAddressDerivativeOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['AccountAddressDerivativeOrders']._serialized_options = b'\202\323\344\223\002P\022N/injective/exchange/v2/derivative/orders/{market_id}/account/{account_address}' + _globals['_QUERY'].methods_by_name['DerivativeOrdersByHashes']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeOrdersByHashes']._serialized_options = b'\202\323\344\223\002P\022N/injective/exchange/v2/derivative/orders_by_hashes/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['TraderDerivativeTransientOrders']._loaded_options = None + _globals['_QUERY'].methods_by_name['TraderDerivativeTransientOrders']._serialized_options = b'\202\323\344\223\002P\022N/injective/exchange/v2/derivative/transient_orders/{market_id}/{subaccount_id}' + _globals['_QUERY'].methods_by_name['DerivativeMarkets']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeMarkets']._serialized_options = b'\202\323\344\223\002+\022)/injective/exchange/v2/derivative/markets' + _globals['_QUERY'].methods_by_name['DerivativeMarket']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeMarket']._serialized_options = b'\202\323\344\223\0027\0225/injective/exchange/v2/derivative/markets/{market_id}' + _globals['_QUERY'].methods_by_name['DerivativeMarketAddress']._loaded_options = None + _globals['_QUERY'].methods_by_name['DerivativeMarketAddress']._serialized_options = b'\202\323\344\223\002>\022\022/injective/exchange/v2/grant_authorization/{granter}/{grantee}' + _globals['_QUERY'].methods_by_name['GrantAuthorizations']._loaded_options = None + _globals['_QUERY'].methods_by_name['GrantAuthorizations']._serialized_options = b'\202\323\344\223\0027\0225/injective/exchange/v2/grant_authorizations/{granter}' + _globals['_QUERY'].methods_by_name['MarketBalance']._loaded_options = None + _globals['_QUERY'].methods_by_name['MarketBalance']._serialized_options = b'\202\323\344\223\0023\0221/injective/exchange/v2/market_balance/{market_id}' + _globals['_QUERY'].methods_by_name['MarketBalances']._loaded_options = None + _globals['_QUERY'].methods_by_name['MarketBalances']._serialized_options = b'\202\323\344\223\002(\022&/injective/exchange/v2/market_balances' + _globals['_QUERY'].methods_by_name['DenomMinNotional']._loaded_options = None + _globals['_QUERY'].methods_by_name['DenomMinNotional']._serialized_options = b'\202\323\344\223\0023\0221/injective/exchange/v2/denom_min_notional/{denom}' + _globals['_QUERY'].methods_by_name['DenomMinNotionals']._loaded_options = None + _globals['_QUERY'].methods_by_name['DenomMinNotionals']._serialized_options = b'\202\323\344\223\002,\022*/injective/exchange/v2/denom_min_notionals' + _globals['_QUERY'].methods_by_name['OpenInterest']._loaded_options = None + _globals['_QUERY'].methods_by_name['OpenInterest']._serialized_options = b'\202\323\344\223\002&\022$/injective/exchange/v2/open_interest' + _globals['_ORDERSIDE']._serialized_start=20728 + _globals['_ORDERSIDE']._serialized_end=20780 + _globals['_CANCELLATIONSTRATEGY']._serialized_start=20782 + _globals['_CANCELLATIONSTRATEGY']._serialized_end=20868 + _globals['_SUBACCOUNT']._serialized_start=301 + _globals['_SUBACCOUNT']._serialized_end=380 + _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_start=382 + _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_end=478 + _globals['_QUERYSUBACCOUNTORDERSRESPONSE']._serialized_start=481 + _globals['_QUERYSUBACCOUNTORDERSRESPONSE']._serialized_end=664 + _globals['_SUBACCOUNTORDERBOOKMETADATAWITHMARKET']._serialized_start=667 + _globals['_SUBACCOUNTORDERBOOKMETADATAWITHMARKET']._serialized_end=837 + _globals['_QUERYEXCHANGEPARAMSREQUEST']._serialized_start=839 + _globals['_QUERYEXCHANGEPARAMSREQUEST']._serialized_end=867 + _globals['_QUERYEXCHANGEPARAMSRESPONSE']._serialized_start=869 + _globals['_QUERYEXCHANGEPARAMSRESPONSE']._serialized_end=959 + _globals['_QUERYSUBACCOUNTDEPOSITSREQUEST']._serialized_start=962 + _globals['_QUERYSUBACCOUNTDEPOSITSREQUEST']._serialized_end=1104 + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE']._serialized_start=1107 + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE']._serialized_end=1331 + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE_DEPOSITSENTRY']._serialized_start=1240 + _globals['_QUERYSUBACCOUNTDEPOSITSRESPONSE_DEPOSITSENTRY']._serialized_end=1331 + _globals['_QUERYEXCHANGEBALANCESREQUEST']._serialized_start=1333 + _globals['_QUERYEXCHANGEBALANCESREQUEST']._serialized_end=1363 + _globals['_QUERYEXCHANGEBALANCESRESPONSE']._serialized_start=1365 + _globals['_QUERYEXCHANGEBALANCESRESPONSE']._serialized_end=1462 + _globals['_QUERYAGGREGATEVOLUMEREQUEST']._serialized_start=1464 + _globals['_QUERYAGGREGATEVOLUMEREQUEST']._serialized_end=1519 + _globals['_QUERYAGGREGATEVOLUMERESPONSE']._serialized_start=1521 + _globals['_QUERYAGGREGATEVOLUMERESPONSE']._serialized_end=1633 + _globals['_QUERYAGGREGATEVOLUMESREQUEST']._serialized_start=1635 + _globals['_QUERYAGGREGATEVOLUMESREQUEST']._serialized_end=1724 + _globals['_QUERYAGGREGATEVOLUMESRESPONSE']._serialized_start=1727 + _globals['_QUERYAGGREGATEVOLUMESRESPONSE']._serialized_end=1966 + _globals['_QUERYAGGREGATEMARKETVOLUMEREQUEST']._serialized_start=1968 + _globals['_QUERYAGGREGATEMARKETVOLUMEREQUEST']._serialized_end=2032 + _globals['_QUERYAGGREGATEMARKETVOLUMERESPONSE']._serialized_start=2034 + _globals['_QUERYAGGREGATEMARKETVOLUMERESPONSE']._serialized_end=2137 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALREQUEST']._serialized_start=2139 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALREQUEST']._serialized_end=2210 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALRESPONSE']._serialized_start=2212 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALRESPONSE']._serialized_end=2288 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSREQUEST']._serialized_start=2290 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSREQUEST']._serialized_end=2364 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSRESPONSE']._serialized_start=2367 + _globals['_QUERYAUCTIONEXCHANGETRANSFERDENOMDECIMALSRESPONSE']._serialized_end=2501 + _globals['_QUERYAGGREGATEMARKETVOLUMESREQUEST']._serialized_start=2503 + _globals['_QUERYAGGREGATEMARKETVOLUMESREQUEST']._serialized_end=2570 + _globals['_QUERYAGGREGATEMARKETVOLUMESRESPONSE']._serialized_start=2572 + _globals['_QUERYAGGREGATEMARKETVOLUMESRESPONSE']._serialized_end=2672 + _globals['_QUERYSUBACCOUNTDEPOSITREQUEST']._serialized_start=2674 + _globals['_QUERYSUBACCOUNTDEPOSITREQUEST']._serialized_end=2764 + _globals['_QUERYSUBACCOUNTDEPOSITRESPONSE']._serialized_start=2766 + _globals['_QUERYSUBACCOUNTDEPOSITRESPONSE']._serialized_end=2858 + _globals['_QUERYSPOTMARKETSREQUEST']._serialized_start=2860 + _globals['_QUERYSPOTMARKETSREQUEST']._serialized_end=2940 + _globals['_QUERYSPOTMARKETSRESPONSE']._serialized_start=2942 + _globals['_QUERYSPOTMARKETSRESPONSE']._serialized_end=3029 + _globals['_QUERYSPOTMARKETREQUEST']._serialized_start=3031 + _globals['_QUERYSPOTMARKETREQUEST']._serialized_end=3084 + _globals['_QUERYSPOTMARKETRESPONSE']._serialized_start=3086 + _globals['_QUERYSPOTMARKETRESPONSE']._serialized_end=3170 + _globals['_QUERYSPOTORDERBOOKREQUEST']._serialized_start=3173 + _globals['_QUERYSPOTORDERBOOKREQUEST']._serialized_end=3510 + _globals['_QUERYSPOTORDERBOOKRESPONSE']._serialized_start=3513 + _globals['_QUERYSPOTORDERBOOKRESPONSE']._serialized_end=3705 + _globals['_FULLSPOTMARKET']._serialized_start=3708 + _globals['_FULLSPOTMARKET']._serialized_end=3871 + _globals['_QUERYFULLSPOTMARKETSREQUEST']._serialized_start=3874 + _globals['_QUERYFULLSPOTMARKETSREQUEST']._serialized_end=4010 + _globals['_QUERYFULLSPOTMARKETSRESPONSE']._serialized_start=4012 + _globals['_QUERYFULLSPOTMARKETSRESPONSE']._serialized_end=4107 + _globals['_QUERYFULLSPOTMARKETREQUEST']._serialized_start=4109 + _globals['_QUERYFULLSPOTMARKETREQUEST']._serialized_end=4218 + _globals['_QUERYFULLSPOTMARKETRESPONSE']._serialized_start=4220 + _globals['_QUERYFULLSPOTMARKETRESPONSE']._serialized_end=4312 + _globals['_QUERYSPOTORDERSBYHASHESREQUEST']._serialized_start=4315 + _globals['_QUERYSPOTORDERSBYHASHESREQUEST']._serialized_end=4448 + _globals['_QUERYSPOTORDERSBYHASHESRESPONSE']._serialized_start=4450 + _globals['_QUERYSPOTORDERSBYHASHESRESPONSE']._serialized_end=4553 + _globals['_QUERYTRADERSPOTORDERSREQUEST']._serialized_start=4555 + _globals['_QUERYTRADERSPOTORDERSREQUEST']._serialized_end=4651 + _globals['_QUERYACCOUNTADDRESSSPOTORDERSREQUEST']._serialized_start=4653 + _globals['_QUERYACCOUNTADDRESSSPOTORDERSREQUEST']._serialized_end=4761 + _globals['_TRIMMEDSPOTLIMITORDER']._serialized_start=4764 + _globals['_TRIMMEDSPOTLIMITORDER']._serialized_end=5047 + _globals['_QUERYTRADERSPOTORDERSRESPONSE']._serialized_start=5049 + _globals['_QUERYTRADERSPOTORDERSRESPONSE']._serialized_end=5150 + _globals['_QUERYACCOUNTADDRESSSPOTORDERSRESPONSE']._serialized_start=5152 + _globals['_QUERYACCOUNTADDRESSSPOTORDERSRESPONSE']._serialized_end=5261 + _globals['_QUERYSPOTMIDPRICEANDTOBREQUEST']._serialized_start=5263 + _globals['_QUERYSPOTMIDPRICEANDTOBREQUEST']._serialized_end=5324 + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE']._serialized_start=5327 + _globals['_QUERYSPOTMIDPRICEANDTOBRESPONSE']._serialized_end=5578 + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBREQUEST']._serialized_start=5580 + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBREQUEST']._serialized_end=5647 + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE']._serialized_start=5650 + _globals['_QUERYDERIVATIVEMIDPRICEANDTOBRESPONSE']._serialized_end=5907 + _globals['_QUERYDERIVATIVEORDERBOOKREQUEST']._serialized_start=5910 + _globals['_QUERYDERIVATIVEORDERBOOKREQUEST']._serialized_end=6091 + _globals['_QUERYDERIVATIVEORDERBOOKRESPONSE']._serialized_start=6094 + _globals['_QUERYDERIVATIVEORDERBOOKRESPONSE']._serialized_end=6292 + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST']._serialized_start=6295 + _globals['_QUERYTRADERSPOTORDERSTOCANCELUPTOAMOUNTREQUEST']._serialized_end=6702 + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST']._serialized_start=6705 + _globals['_QUERYTRADERDERIVATIVEORDERSTOCANCELUPTOAMOUNTREQUEST']._serialized_end=7048 + _globals['_QUERYTRADERDERIVATIVEORDERSREQUEST']._serialized_start=7050 + _globals['_QUERYTRADERDERIVATIVEORDERSREQUEST']._serialized_end=7152 + _globals['_QUERYACCOUNTADDRESSDERIVATIVEORDERSREQUEST']._serialized_start=7154 + _globals['_QUERYACCOUNTADDRESSDERIVATIVEORDERSREQUEST']._serialized_end=7268 + _globals['_TRIMMEDDERIVATIVELIMITORDER']._serialized_start=7271 + _globals['_TRIMMEDDERIVATIVELIMITORDER']._serialized_end=7632 + _globals['_QUERYTRADERDERIVATIVEORDERSRESPONSE']._serialized_start=7634 + _globals['_QUERYTRADERDERIVATIVEORDERSRESPONSE']._serialized_end=7747 + _globals['_QUERYACCOUNTADDRESSDERIVATIVEORDERSRESPONSE']._serialized_start=7749 + _globals['_QUERYACCOUNTADDRESSDERIVATIVEORDERSRESPONSE']._serialized_end=7870 + _globals['_QUERYDERIVATIVEORDERSBYHASHESREQUEST']._serialized_start=7873 + _globals['_QUERYDERIVATIVEORDERSBYHASHESREQUEST']._serialized_end=8012 + _globals['_QUERYDERIVATIVEORDERSBYHASHESRESPONSE']._serialized_start=8014 + _globals['_QUERYDERIVATIVEORDERSBYHASHESRESPONSE']._serialized_end=8129 + _globals['_QUERYDERIVATIVEMARKETSREQUEST']._serialized_start=8132 + _globals['_QUERYDERIVATIVEMARKETSREQUEST']._serialized_end=8270 + _globals['_PRICELEVEL']._serialized_start=8273 + _globals['_PRICELEVEL']._serialized_end=8409 + _globals['_PERPETUALMARKETSTATE']._serialized_start=8412 + _globals['_PERPETUALMARKETSTATE']._serialized_end=8593 + _globals['_FULLDERIVATIVEMARKET']._serialized_start=8596 + _globals['_FULLDERIVATIVEMARKET']._serialized_end=9018 + _globals['_QUERYDERIVATIVEMARKETSRESPONSE']._serialized_start=9020 + _globals['_QUERYDERIVATIVEMARKETSRESPONSE']._serialized_end=9123 + _globals['_QUERYDERIVATIVEMARKETREQUEST']._serialized_start=9125 + _globals['_QUERYDERIVATIVEMARKETREQUEST']._serialized_end=9184 + _globals['_QUERYDERIVATIVEMARKETRESPONSE']._serialized_start=9186 + _globals['_QUERYDERIVATIVEMARKETRESPONSE']._serialized_end=9286 + _globals['_QUERYDERIVATIVEMARKETADDRESSREQUEST']._serialized_start=9288 + _globals['_QUERYDERIVATIVEMARKETADDRESSREQUEST']._serialized_end=9354 + _globals['_QUERYDERIVATIVEMARKETADDRESSRESPONSE']._serialized_start=9356 + _globals['_QUERYDERIVATIVEMARKETADDRESSRESPONSE']._serialized_end=9457 + _globals['_QUERYSUBACCOUNTTRADENONCEREQUEST']._serialized_start=9459 + _globals['_QUERYSUBACCOUNTTRADENONCEREQUEST']._serialized_end=9530 + _globals['_QUERYPOSITIONSINMARKETREQUEST']._serialized_start=9532 + _globals['_QUERYPOSITIONSINMARKETREQUEST']._serialized_end=9592 + _globals['_QUERYPOSITIONSINMARKETRESPONSE']._serialized_start=9594 + _globals['_QUERYPOSITIONSINMARKETRESPONSE']._serialized_end=9697 + _globals['_QUERYSUBACCOUNTPOSITIONSREQUEST']._serialized_start=9699 + _globals['_QUERYSUBACCOUNTPOSITIONSREQUEST']._serialized_end=9769 + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETREQUEST']._serialized_start=9771 + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETREQUEST']._serialized_end=9877 + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETREQUEST']._serialized_start=9879 + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETREQUEST']._serialized_end=9994 + _globals['_QUERYSUBACCOUNTORDERMETADATAREQUEST']._serialized_start=9996 + _globals['_QUERYSUBACCOUNTORDERMETADATAREQUEST']._serialized_end=10070 + _globals['_QUERYSUBACCOUNTPOSITIONSRESPONSE']._serialized_start=10072 + _globals['_QUERYSUBACCOUNTPOSITIONSRESPONSE']._serialized_end=10177 + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETRESPONSE']._serialized_start=10180 + _globals['_QUERYSUBACCOUNTPOSITIONINMARKETRESPONSE']._serialized_end=10344 + _globals['_EFFECTIVEPOSITION']._serialized_start=10347 + _globals['_EFFECTIVEPOSITION']._serialized_end=10606 + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETRESPONSE']._serialized_start=10609 + _globals['_QUERYSUBACCOUNTEFFECTIVEPOSITIONINMARKETRESPONSE']._serialized_end=10791 + _globals['_QUERYPERPETUALMARKETINFOREQUEST']._serialized_start=10793 + _globals['_QUERYPERPETUALMARKETINFOREQUEST']._serialized_end=10855 + _globals['_QUERYPERPETUALMARKETINFORESPONSE']._serialized_start=10857 + _globals['_QUERYPERPETUALMARKETINFORESPONSE']._serialized_end=10961 + _globals['_QUERYEXPIRYFUTURESMARKETINFOREQUEST']._serialized_start=10963 + _globals['_QUERYEXPIRYFUTURESMARKETINFOREQUEST']._serialized_end=11029 + _globals['_QUERYEXPIRYFUTURESMARKETINFORESPONSE']._serialized_start=11031 + _globals['_QUERYEXPIRYFUTURESMARKETINFORESPONSE']._serialized_end=11143 + _globals['_QUERYPERPETUALMARKETFUNDINGREQUEST']._serialized_start=11145 + _globals['_QUERYPERPETUALMARKETFUNDINGREQUEST']._serialized_end=11210 + _globals['_QUERYPERPETUALMARKETFUNDINGRESPONSE']._serialized_start=11212 + _globals['_QUERYPERPETUALMARKETFUNDINGRESPONSE']._serialized_end=11324 + _globals['_QUERYSUBACCOUNTORDERMETADATARESPONSE']._serialized_start=11327 + _globals['_QUERYSUBACCOUNTORDERMETADATARESPONSE']._serialized_end=11461 + _globals['_QUERYSUBACCOUNTTRADENONCERESPONSE']._serialized_start=11463 + _globals['_QUERYSUBACCOUNTTRADENONCERESPONSE']._serialized_end=11520 + _globals['_QUERYSUBACCOUNTRISKPROFILEREQUEST']._serialized_start=11522 + _globals['_QUERYSUBACCOUNTRISKPROFILEREQUEST']._serialized_end=11594 + _globals['_QUERYSUBACCOUNTRISKPROFILERESPONSE']._serialized_start=11597 + _globals['_QUERYSUBACCOUNTRISKPROFILERESPONSE']._serialized_end=11736 + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTREQUEST']._serialized_start=11738 + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTREQUEST']._serialized_end=11845 + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE']._serialized_start=11848 + _globals['_QUERYCROSSMARGINPOOLSNAPSHOTRESPONSE']._serialized_end=13137 + _globals['_QUERYMODULESTATEREQUEST']._serialized_start=13139 + _globals['_QUERYMODULESTATEREQUEST']._serialized_end=13164 + _globals['_QUERYMODULESTATERESPONSE']._serialized_start=13166 + _globals['_QUERYMODULESTATERESPONSE']._serialized_end=13251 + _globals['_QUERYPOSITIONSREQUEST']._serialized_start=13253 + _globals['_QUERYPOSITIONSREQUEST']._serialized_end=13276 + _globals['_QUERYPOSITIONSRESPONSE']._serialized_start=13278 + _globals['_QUERYPOSITIONSRESPONSE']._serialized_end=13373 + _globals['_QUERYTRADEREWARDPOINTSREQUEST']._serialized_start=13375 + _globals['_QUERYTRADEREWARDPOINTSREQUEST']._serialized_end=13488 + _globals['_QUERYTRADEREWARDPOINTSRESPONSE']._serialized_start=13491 + _globals['_QUERYTRADEREWARDPOINTSRESPONSE']._serialized_end=13623 + _globals['_QUERYTRADEREWARDCAMPAIGNREQUEST']._serialized_start=13625 + _globals['_QUERYTRADEREWARDCAMPAIGNREQUEST']._serialized_end=13658 + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE']._serialized_start=13661 + _globals['_QUERYTRADEREWARDCAMPAIGNRESPONSE']._serialized_end=14283 + _globals['_QUERYISOPTEDOUTOFREWARDSREQUEST']._serialized_start=14285 + _globals['_QUERYISOPTEDOUTOFREWARDSREQUEST']._serialized_end=14344 + _globals['_QUERYISOPTEDOUTOFREWARDSRESPONSE']._serialized_start=14346 + _globals['_QUERYISOPTEDOUTOFREWARDSRESPONSE']._serialized_end=14414 + _globals['_QUERYOPTEDOUTOFREWARDSACCOUNTSREQUEST']._serialized_start=14416 + _globals['_QUERYOPTEDOUTOFREWARDSACCOUNTSREQUEST']._serialized_end=14455 + _globals['_QUERYOPTEDOUTOFREWARDSACCOUNTSRESPONSE']._serialized_start=14457 + _globals['_QUERYOPTEDOUTOFREWARDSACCOUNTSRESPONSE']._serialized_end=14525 + _globals['_QUERYFEEDISCOUNTACCOUNTINFOREQUEST']._serialized_start=14527 + _globals['_QUERYFEEDISCOUNTACCOUNTINFOREQUEST']._serialized_end=14589 + _globals['_QUERYFEEDISCOUNTACCOUNTINFORESPONSE']._serialized_start=14592 + _globals['_QUERYFEEDISCOUNTACCOUNTINFORESPONSE']._serialized_end=14815 + _globals['_QUERYFEEDISCOUNTSCHEDULEREQUEST']._serialized_start=14817 + _globals['_QUERYFEEDISCOUNTSCHEDULEREQUEST']._serialized_end=14850 + _globals['_QUERYFEEDISCOUNTSCHEDULERESPONSE']._serialized_start=14853 + _globals['_QUERYFEEDISCOUNTSCHEDULERESPONSE']._serialized_end=14983 + _globals['_QUERYBALANCEMISMATCHESREQUEST']._serialized_start=14985 + _globals['_QUERYBALANCEMISMATCHESREQUEST']._serialized_end=15049 + _globals['_BALANCEMISMATCH']._serialized_start=15052 + _globals['_BALANCEMISMATCH']._serialized_end=15470 + _globals['_QUERYBALANCEMISMATCHESRESPONSE']._serialized_start=15472 + _globals['_QUERYBALANCEMISMATCHESRESPONSE']._serialized_end=15591 + _globals['_QUERYBALANCEWITHBALANCEHOLDSREQUEST']._serialized_start=15593 + _globals['_QUERYBALANCEWITHBALANCEHOLDSREQUEST']._serialized_end=15630 + _globals['_BALANCEWITHMARGINHOLD']._serialized_start=15633 + _globals['_BALANCEWITHMARGINHOLD']._serialized_end=15912 + _globals['_QUERYBALANCEWITHBALANCEHOLDSRESPONSE']._serialized_start=15915 + _globals['_QUERYBALANCEWITHBALANCEHOLDSRESPONSE']._serialized_end=16060 + _globals['_QUERYFEEDISCOUNTTIERSTATISTICSREQUEST']._serialized_start=16062 + _globals['_QUERYFEEDISCOUNTTIERSTATISTICSREQUEST']._serialized_end=16101 + _globals['_TIERSTATISTIC']._serialized_start=16103 + _globals['_TIERSTATISTIC']._serialized_end=16160 + _globals['_QUERYFEEDISCOUNTTIERSTATISTICSRESPONSE']._serialized_start=16162 + _globals['_QUERYFEEDISCOUNTTIERSTATISTICSRESPONSE']._serialized_end=16272 + _globals['_MITOVAULTINFOSREQUEST']._serialized_start=16274 + _globals['_MITOVAULTINFOSREQUEST']._serialized_end=16297 + _globals['_MITOVAULTINFOSRESPONSE']._serialized_start=16300 + _globals['_MITOVAULTINFOSRESPONSE']._serialized_end=16496 + _globals['_QUERYMARKETIDFROMVAULTREQUEST']._serialized_start=16498 + _globals['_QUERYMARKETIDFROMVAULTREQUEST']._serialized_end=16566 + _globals['_QUERYMARKETIDFROMVAULTRESPONSE']._serialized_start=16568 + _globals['_QUERYMARKETIDFROMVAULTRESPONSE']._serialized_end=16629 + _globals['_QUERYHISTORICALTRADERECORDSREQUEST']._serialized_start=16631 + _globals['_QUERYHISTORICALTRADERECORDSREQUEST']._serialized_end=16696 + _globals['_QUERYHISTORICALTRADERECORDSRESPONSE']._serialized_start=16698 + _globals['_QUERYHISTORICALTRADERECORDSRESPONSE']._serialized_end=16809 + _globals['_TRADEHISTORYOPTIONS']._serialized_start=16812 + _globals['_TRADEHISTORYOPTIONS']._serialized_end=16995 + _globals['_QUERYMARKETVOLATILITYREQUEST']._serialized_start=16998 + _globals['_QUERYMARKETVOLATILITYREQUEST']._serialized_end=17153 + _globals['_QUERYMARKETVOLATILITYRESPONSE']._serialized_start=17156 + _globals['_QUERYMARKETVOLATILITYRESPONSE']._serialized_end=17410 + _globals['_QUERYBINARYMARKETSREQUEST']._serialized_start=17412 + _globals['_QUERYBINARYMARKETSREQUEST']._serialized_end=17463 + _globals['_QUERYBINARYMARKETSRESPONSE']._serialized_start=17465 + _globals['_QUERYBINARYMARKETSRESPONSE']._serialized_end=17563 + _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSREQUEST']._serialized_start=17565 + _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSREQUEST']._serialized_end=17678 + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER']._serialized_start=17681 + _globals['_TRIMMEDDERIVATIVECONDITIONALORDER']._serialized_end=18095 + _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_start=18098 + _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_end=18228 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_start=18230 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_end=18290 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_start=18293 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_end=18467 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_start=18469 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_end=18535 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_start=18538 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_end=18718 + _globals['_TRIMMEDLIMITORDER']._serialized_start=18721 + _globals['_TRIMMEDLIMITORDER']._serialized_end=18932 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=18934 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=19011 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=19013 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=19131 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=19133 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=19189 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=19192 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=19361 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=19363 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=19447 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=19449 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=19537 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=19539 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=19598 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=19601 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=19779 + _globals['_QUERYMARKETBALANCEREQUEST']._serialized_start=19781 + _globals['_QUERYMARKETBALANCEREQUEST']._serialized_end=19837 + _globals['_QUERYMARKETBALANCERESPONSE']._serialized_start=19839 + _globals['_QUERYMARKETBALANCERESPONSE']._serialized_end=19931 + _globals['_QUERYMARKETBALANCESREQUEST']._serialized_start=19933 + _globals['_QUERYMARKETBALANCESREQUEST']._serialized_end=19961 + _globals['_QUERYMARKETBALANCESRESPONSE']._serialized_start=19963 + _globals['_QUERYMARKETBALANCESRESPONSE']._serialized_end=20058 + _globals['_MARKETBALANCE']._serialized_start=20060 + _globals['_MARKETBALANCE']._serialized_end=20167 + _globals['_QUERYDENOMMINNOTIONALREQUEST']._serialized_start=20169 + _globals['_QUERYDENOMMINNOTIONALREQUEST']._serialized_end=20221 + _globals['_QUERYDENOMMINNOTIONALRESPONSE']._serialized_start=20223 + _globals['_QUERYDENOMMINNOTIONALRESPONSE']._serialized_end=20315 + _globals['_QUERYDENOMMINNOTIONALSREQUEST']._serialized_start=20317 + _globals['_QUERYDENOMMINNOTIONALSREQUEST']._serialized_end=20348 + _globals['_QUERYDENOMMINNOTIONALSRESPONSE']._serialized_start=20350 + _globals['_QUERYDENOMMINNOTIONALSRESPONSE']._serialized_end=20471 + _globals['_OPENINTEREST']._serialized_start=20473 + _globals['_OPENINTEREST']._serialized_end=20579 + _globals['_QUERYOPENINTERESTREQUEST']._serialized_start=20581 + _globals['_QUERYOPENINTERESTREQUEST']._serialized_end=20636 + _globals['_QUERYOPENINTERESTRESPONSE']._serialized_start=20638 + _globals['_QUERYOPENINTERESTRESPONSE']._serialized_end=20726 + _globals['_QUERY']._serialized_start=20871 + _globals['_QUERY']._serialized_end=35113 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/query_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/query_pb2_grpc.py new file mode 100644 index 00000000..e5f234ed --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/query_pb2_grpc.py @@ -0,0 +1,3121 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.exchange.v2 import query_pb2 as injective_dot_exchange_dot_v2_dot_query__pb2 + + +class QueryStub(object): + """Query defines the gRPC querier service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.L3DerivativeOrderBook = channel.unary_unary( + '/injective.exchange.v2.Query/L3DerivativeOrderBook', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + _registered_method=True) + self.L3SpotOrderBook = channel.unary_unary( + '/injective.exchange.v2.Query/L3SpotOrderBook', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + _registered_method=True) + self.QueryExchangeParams = channel.unary_unary( + '/injective.exchange.v2.Query/QueryExchangeParams', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsResponse.FromString, + _registered_method=True) + self.SubaccountDeposits = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountDeposits', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsResponse.FromString, + _registered_method=True) + self.SubaccountDeposit = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountDeposit', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositResponse.FromString, + _registered_method=True) + self.ExchangeBalances = channel.unary_unary( + '/injective.exchange.v2.Query/ExchangeBalances', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesResponse.FromString, + _registered_method=True) + self.AggregateVolume = channel.unary_unary( + '/injective.exchange.v2.Query/AggregateVolume', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeResponse.FromString, + _registered_method=True) + self.AggregateVolumes = channel.unary_unary( + '/injective.exchange.v2.Query/AggregateVolumes', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesResponse.FromString, + _registered_method=True) + self.AggregateMarketVolume = channel.unary_unary( + '/injective.exchange.v2.Query/AggregateMarketVolume', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeResponse.FromString, + _registered_method=True) + self.AggregateMarketVolumes = channel.unary_unary( + '/injective.exchange.v2.Query/AggregateMarketVolumes', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesResponse.FromString, + _registered_method=True) + self.AuctionExchangeTransferDenomDecimal = channel.unary_unary( + '/injective.exchange.v2.Query/AuctionExchangeTransferDenomDecimal', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalResponse.FromString, + _registered_method=True) + self.AuctionExchangeTransferDenomDecimals = channel.unary_unary( + '/injective.exchange.v2.Query/AuctionExchangeTransferDenomDecimals', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsResponse.FromString, + _registered_method=True) + self.SpotMarkets = channel.unary_unary( + '/injective.exchange.v2.Query/SpotMarkets', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsResponse.FromString, + _registered_method=True) + self.SpotMarket = channel.unary_unary( + '/injective.exchange.v2.Query/SpotMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketResponse.FromString, + _registered_method=True) + self.FullSpotMarkets = channel.unary_unary( + '/injective.exchange.v2.Query/FullSpotMarkets', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsResponse.FromString, + _registered_method=True) + self.FullSpotMarket = channel.unary_unary( + '/injective.exchange.v2.Query/FullSpotMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketResponse.FromString, + _registered_method=True) + self.SpotOrderbook = channel.unary_unary( + '/injective.exchange.v2.Query/SpotOrderbook', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookResponse.FromString, + _registered_method=True) + self.TraderSpotOrders = channel.unary_unary( + '/injective.exchange.v2.Query/TraderSpotOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.FromString, + _registered_method=True) + self.AccountAddressSpotOrders = channel.unary_unary( + '/injective.exchange.v2.Query/AccountAddressSpotOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersResponse.FromString, + _registered_method=True) + self.SpotOrdersByHashes = channel.unary_unary( + '/injective.exchange.v2.Query/SpotOrdersByHashes', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesResponse.FromString, + _registered_method=True) + self.SubaccountOrders = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersResponse.FromString, + _registered_method=True) + self.TraderSpotTransientOrders = channel.unary_unary( + '/injective.exchange.v2.Query/TraderSpotTransientOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.FromString, + _registered_method=True) + self.SpotMidPriceAndTOB = channel.unary_unary( + '/injective.exchange.v2.Query/SpotMidPriceAndTOB', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBResponse.FromString, + _registered_method=True) + self.DerivativeMidPriceAndTOB = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeMidPriceAndTOB', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBResponse.FromString, + _registered_method=True) + self.DerivativeOrderbook = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeOrderbook', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookResponse.FromString, + _registered_method=True) + self.TraderDerivativeOrders = channel.unary_unary( + '/injective.exchange.v2.Query/TraderDerivativeOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.FromString, + _registered_method=True) + self.AccountAddressDerivativeOrders = channel.unary_unary( + '/injective.exchange.v2.Query/AccountAddressDerivativeOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersResponse.FromString, + _registered_method=True) + self.DerivativeOrdersByHashes = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeOrdersByHashes', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesResponse.FromString, + _registered_method=True) + self.TraderDerivativeTransientOrders = channel.unary_unary( + '/injective.exchange.v2.Query/TraderDerivativeTransientOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.FromString, + _registered_method=True) + self.DerivativeMarkets = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeMarkets', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsResponse.FromString, + _registered_method=True) + self.DerivativeMarket = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketResponse.FromString, + _registered_method=True) + self.DerivativeMarketAddress = channel.unary_unary( + '/injective.exchange.v2.Query/DerivativeMarketAddress', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressResponse.FromString, + _registered_method=True) + self.SubaccountTradeNonce = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountTradeNonce', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceResponse.FromString, + _registered_method=True) + self.SubaccountRiskProfile = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountRiskProfile', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileResponse.FromString, + _registered_method=True) + self.CrossMarginPoolSnapshot = channel.unary_unary( + '/injective.exchange.v2.Query/CrossMarginPoolSnapshot', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotResponse.FromString, + _registered_method=True) + self.ExchangeModuleState = channel.unary_unary( + '/injective.exchange.v2.Query/ExchangeModuleState', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateResponse.FromString, + _registered_method=True) + self.Positions = channel.unary_unary( + '/injective.exchange.v2.Query/Positions', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsResponse.FromString, + _registered_method=True) + self.PositionsInMarket = channel.unary_unary( + '/injective.exchange.v2.Query/PositionsInMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketResponse.FromString, + _registered_method=True) + self.SubaccountPositions = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountPositions', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsResponse.FromString, + _registered_method=True) + self.SubaccountPositionInMarket = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountPositionInMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketResponse.FromString, + _registered_method=True) + self.SubaccountEffectivePositionInMarket = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountEffectivePositionInMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketResponse.FromString, + _registered_method=True) + self.PerpetualMarketInfo = channel.unary_unary( + '/injective.exchange.v2.Query/PerpetualMarketInfo', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoResponse.FromString, + _registered_method=True) + self.ExpiryFuturesMarketInfo = channel.unary_unary( + '/injective.exchange.v2.Query/ExpiryFuturesMarketInfo', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoResponse.FromString, + _registered_method=True) + self.PerpetualMarketFunding = channel.unary_unary( + '/injective.exchange.v2.Query/PerpetualMarketFunding', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingResponse.FromString, + _registered_method=True) + self.SubaccountOrderMetadata = channel.unary_unary( + '/injective.exchange.v2.Query/SubaccountOrderMetadata', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataResponse.FromString, + _registered_method=True) + self.TradeRewardPoints = channel.unary_unary( + '/injective.exchange.v2.Query/TradeRewardPoints', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.FromString, + _registered_method=True) + self.PendingTradeRewardPoints = channel.unary_unary( + '/injective.exchange.v2.Query/PendingTradeRewardPoints', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.FromString, + _registered_method=True) + self.TradeRewardCampaign = channel.unary_unary( + '/injective.exchange.v2.Query/TradeRewardCampaign', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignResponse.FromString, + _registered_method=True) + self.FeeDiscountAccountInfo = channel.unary_unary( + '/injective.exchange.v2.Query/FeeDiscountAccountInfo', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoResponse.FromString, + _registered_method=True) + self.FeeDiscountSchedule = channel.unary_unary( + '/injective.exchange.v2.Query/FeeDiscountSchedule', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleResponse.FromString, + _registered_method=True) + self.BalanceMismatches = channel.unary_unary( + '/injective.exchange.v2.Query/BalanceMismatches', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesResponse.FromString, + _registered_method=True) + self.BalanceWithBalanceHolds = channel.unary_unary( + '/injective.exchange.v2.Query/BalanceWithBalanceHolds', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsResponse.FromString, + _registered_method=True) + self.FeeDiscountTierStatistics = channel.unary_unary( + '/injective.exchange.v2.Query/FeeDiscountTierStatistics', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsResponse.FromString, + _registered_method=True) + self.MitoVaultInfos = channel.unary_unary( + '/injective.exchange.v2.Query/MitoVaultInfos', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosResponse.FromString, + _registered_method=True) + self.QueryMarketIDFromVault = channel.unary_unary( + '/injective.exchange.v2.Query/QueryMarketIDFromVault', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultResponse.FromString, + _registered_method=True) + self.HistoricalTradeRecords = channel.unary_unary( + '/injective.exchange.v2.Query/HistoricalTradeRecords', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsResponse.FromString, + _registered_method=True) + self.IsOptedOutOfRewards = channel.unary_unary( + '/injective.exchange.v2.Query/IsOptedOutOfRewards', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsResponse.FromString, + _registered_method=True) + self.OptedOutOfRewardsAccounts = channel.unary_unary( + '/injective.exchange.v2.Query/OptedOutOfRewardsAccounts', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsResponse.FromString, + _registered_method=True) + self.MarketVolatility = channel.unary_unary( + '/injective.exchange.v2.Query/MarketVolatility', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityResponse.FromString, + _registered_method=True) + self.BinaryOptionsMarkets = channel.unary_unary( + '/injective.exchange.v2.Query/BinaryOptionsMarkets', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsResponse.FromString, + _registered_method=True) + self.TraderDerivativeConditionalOrders = channel.unary_unary( + '/injective.exchange.v2.Query/TraderDerivativeConditionalOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersResponse.FromString, + _registered_method=True) + self.MarketAtomicExecutionFeeMultiplier = channel.unary_unary( + '/injective.exchange.v2.Query/MarketAtomicExecutionFeeMultiplier', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierResponse.FromString, + _registered_method=True) + self.ActiveStakeGrant = channel.unary_unary( + '/injective.exchange.v2.Query/ActiveStakeGrant', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantResponse.FromString, + _registered_method=True) + self.GrantAuthorization = channel.unary_unary( + '/injective.exchange.v2.Query/GrantAuthorization', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationResponse.FromString, + _registered_method=True) + self.GrantAuthorizations = channel.unary_unary( + '/injective.exchange.v2.Query/GrantAuthorizations', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsResponse.FromString, + _registered_method=True) + self.MarketBalance = channel.unary_unary( + '/injective.exchange.v2.Query/MarketBalance', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceResponse.FromString, + _registered_method=True) + self.MarketBalances = channel.unary_unary( + '/injective.exchange.v2.Query/MarketBalances', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesResponse.FromString, + _registered_method=True) + self.DenomMinNotional = channel.unary_unary( + '/injective.exchange.v2.Query/DenomMinNotional', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalResponse.FromString, + _registered_method=True) + self.DenomMinNotionals = channel.unary_unary( + '/injective.exchange.v2.Query/DenomMinNotionals', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsResponse.FromString, + _registered_method=True) + self.OpenInterest = channel.unary_unary( + '/injective.exchange.v2.Query/OpenInterest', + request_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Query defines the gRPC querier service. + """ + + def L3DerivativeOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def L3SpotOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def QueryExchangeParams(self, request, context): + """Retrieves exchange params + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountDeposits(self, request, context): + """Retrieves a Subaccount's Deposits + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountDeposit(self, request, context): + """Retrieves a Subaccount's Deposits + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExchangeBalances(self, request, context): + """Retrieves all of the balances of all users on the exchange. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AggregateVolume(self, request, context): + """Retrieves the aggregate volumes for the specified account or subaccount + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AggregateVolumes(self, request, context): + """Retrieves the aggregate volumes for specified accounts + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AggregateMarketVolume(self, request, context): + """Retrieves the aggregate volume for the specified market + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AggregateMarketVolumes(self, request, context): + """Retrieves the aggregate market volumes for specified markets + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuctionExchangeTransferDenomDecimal(self, request, context): + """Retrieves the denom decimals for a denom. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuctionExchangeTransferDenomDecimals(self, request, context): + """Retrieves the denom decimals for multiple denoms. Returns all denom + decimals if unspecified. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotMarkets(self, request, context): + """Retrieves a list of spot markets. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotMarket(self, request, context): + """Retrieves a spot market by ticker + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FullSpotMarkets(self, request, context): + """Retrieves a list of spot markets with extra information. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FullSpotMarket(self, request, context): + """Retrieves a spot market with extra information. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotOrderbook(self, request, context): + """Retrieves a spot market's orderbook by marketID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraderSpotOrders(self, request, context): + """Retrieves a trader's spot orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AccountAddressSpotOrders(self, request, context): + """Retrieves all account address spot orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotOrdersByHashes(self, request, context): + """Retrieves spot orders corresponding to specified order hashes for a given + subaccountID and marketID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountOrders(self, request, context): + """Retrieves subaccount's orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraderSpotTransientOrders(self, request, context): + """Retrieves a trader's transient spot orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotMidPriceAndTOB(self, request, context): + """Retrieves a spot market's mid-price + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMidPriceAndTOB(self, request, context): + """Retrieves a derivative market's mid-price + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeOrderbook(self, request, context): + """Retrieves a derivative market's orderbook by marketID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraderDerivativeOrders(self, request, context): + """Retrieves a trader's derivative orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AccountAddressDerivativeOrders(self, request, context): + """Retrieves all account address derivative orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeOrdersByHashes(self, request, context): + """Retrieves a trader's derivative orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraderDerivativeTransientOrders(self, request, context): + """Retrieves a trader's transient derivative orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarkets(self, request, context): + """Retrieves a list of derivative markets. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarket(self, request, context): + """Retrieves a derivative market by ticker + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarketAddress(self, request, context): + """Retrieves a derivative market's corresponding address for fees that + contribute to the market's insurance fund + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountTradeNonce(self, request, context): + """Retrieves a subaccount's trade nonce + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountRiskProfile(self, request, context): + """Retrieves a subaccount's risk profile + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CrossMarginPoolSnapshot(self, request, context): + """Retrieves a subaccount's cross-margin pool snapshot for a given quote + denom. Returns current equity, order lock requirement, margin requirements, + and other risk metrics needed to understand cross-margin health. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExchangeModuleState(self, request, context): + """Retrieves the entire exchange module's state + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Positions(self, request, context): + """Retrieves the entire exchange module's positions + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PositionsInMarket(self, request, context): + """Retrieves all positions in market + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountPositions(self, request, context): + """Retrieves subaccount's positions + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountPositionInMarket(self, request, context): + """Retrieves subaccount's position in market + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountEffectivePositionInMarket(self, request, context): + """Retrieves subaccount's position in market + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PerpetualMarketInfo(self, request, context): + """Retrieves perpetual market info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExpiryFuturesMarketInfo(self, request, context): + """Retrieves expiry market info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PerpetualMarketFunding(self, request, context): + """Retrieves perpetual market funding + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountOrderMetadata(self, request, context): + """Retrieves subaccount's order metadata + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TradeRewardPoints(self, request, context): + """Retrieves the account and total trade rewards points + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PendingTradeRewardPoints(self, request, context): + """Retrieves the pending account and total trade rewards points + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TradeRewardCampaign(self, request, context): + """Retrieves the trade reward campaign + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FeeDiscountAccountInfo(self, request, context): + """Retrieves the account's fee discount info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FeeDiscountSchedule(self, request, context): + """Retrieves the fee discount schedule + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BalanceMismatches(self, request, context): + """Retrieves mismatches between available vs. total balance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BalanceWithBalanceHolds(self, request, context): + """Retrieves available and total balances with balance holds + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FeeDiscountTierStatistics(self, request, context): + """Retrieves fee discount tier stats + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MitoVaultInfos(self, request, context): + """Retrieves market making pool info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def QueryMarketIDFromVault(self, request, context): + """QueryMarketIDFromVault returns the market ID for a given vault subaccount + ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def HistoricalTradeRecords(self, request, context): + """Retrieves historical trade records for a given market ID + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def IsOptedOutOfRewards(self, request, context): + """Retrieves if the account is opted out of rewards + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OptedOutOfRewardsAccounts(self, request, context): + """Retrieves all accounts opted out of rewards + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketVolatility(self, request, context): + """MarketVolatility computes the volatility for spot and derivative markets + trading history. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BinaryOptionsMarkets(self, request, context): + """Retrieves all binary options markets + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TraderDerivativeConditionalOrders(self, request, context): + """Retrieves a trader's derivative conditional orders + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketAtomicExecutionFeeMultiplier(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ActiveStakeGrant(self, request, context): + """Retrieves the active stake grant for a grantee + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GrantAuthorization(self, request, context): + """Retrieves the grant authorization amount for a granter and grantee + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GrantAuthorizations(self, request, context): + """Retrieves the grant authorization amount for a granter and grantee + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketBalance(self, request, context): + """Retrieves a derivative or binary options market's balance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def MarketBalances(self, request, context): + """Retrieves all derivative or binary options market balances + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DenomMinNotional(self, request, context): + """Retrieves the min notional for a denom + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DenomMinNotionals(self, request, context): + """Retrieves the min notionals for all denoms + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OpenInterest(self, request, context): + """Retrieves a market's open interest + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'L3DerivativeOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3DerivativeOrderBook, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookResponse.SerializeToString, + ), + 'L3SpotOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3SpotOrderBook, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookResponse.SerializeToString, + ), + 'QueryExchangeParams': grpc.unary_unary_rpc_method_handler( + servicer.QueryExchangeParams, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsResponse.SerializeToString, + ), + 'SubaccountDeposits': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountDeposits, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsResponse.SerializeToString, + ), + 'SubaccountDeposit': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountDeposit, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositResponse.SerializeToString, + ), + 'ExchangeBalances': grpc.unary_unary_rpc_method_handler( + servicer.ExchangeBalances, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesResponse.SerializeToString, + ), + 'AggregateVolume': grpc.unary_unary_rpc_method_handler( + servicer.AggregateVolume, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeResponse.SerializeToString, + ), + 'AggregateVolumes': grpc.unary_unary_rpc_method_handler( + servicer.AggregateVolumes, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesResponse.SerializeToString, + ), + 'AggregateMarketVolume': grpc.unary_unary_rpc_method_handler( + servicer.AggregateMarketVolume, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeResponse.SerializeToString, + ), + 'AggregateMarketVolumes': grpc.unary_unary_rpc_method_handler( + servicer.AggregateMarketVolumes, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesResponse.SerializeToString, + ), + 'AuctionExchangeTransferDenomDecimal': grpc.unary_unary_rpc_method_handler( + servicer.AuctionExchangeTransferDenomDecimal, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalResponse.SerializeToString, + ), + 'AuctionExchangeTransferDenomDecimals': grpc.unary_unary_rpc_method_handler( + servicer.AuctionExchangeTransferDenomDecimals, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsResponse.SerializeToString, + ), + 'SpotMarkets': grpc.unary_unary_rpc_method_handler( + servicer.SpotMarkets, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsResponse.SerializeToString, + ), + 'SpotMarket': grpc.unary_unary_rpc_method_handler( + servicer.SpotMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketResponse.SerializeToString, + ), + 'FullSpotMarkets': grpc.unary_unary_rpc_method_handler( + servicer.FullSpotMarkets, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsResponse.SerializeToString, + ), + 'FullSpotMarket': grpc.unary_unary_rpc_method_handler( + servicer.FullSpotMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketResponse.SerializeToString, + ), + 'SpotOrderbook': grpc.unary_unary_rpc_method_handler( + servicer.SpotOrderbook, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookResponse.SerializeToString, + ), + 'TraderSpotOrders': grpc.unary_unary_rpc_method_handler( + servicer.TraderSpotOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.SerializeToString, + ), + 'AccountAddressSpotOrders': grpc.unary_unary_rpc_method_handler( + servicer.AccountAddressSpotOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersResponse.SerializeToString, + ), + 'SpotOrdersByHashes': grpc.unary_unary_rpc_method_handler( + servicer.SpotOrdersByHashes, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesResponse.SerializeToString, + ), + 'SubaccountOrders': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersResponse.SerializeToString, + ), + 'TraderSpotTransientOrders': grpc.unary_unary_rpc_method_handler( + servicer.TraderSpotTransientOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.SerializeToString, + ), + 'SpotMidPriceAndTOB': grpc.unary_unary_rpc_method_handler( + servicer.SpotMidPriceAndTOB, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBResponse.SerializeToString, + ), + 'DerivativeMidPriceAndTOB': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMidPriceAndTOB, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBResponse.SerializeToString, + ), + 'DerivativeOrderbook': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeOrderbook, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookResponse.SerializeToString, + ), + 'TraderDerivativeOrders': grpc.unary_unary_rpc_method_handler( + servicer.TraderDerivativeOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.SerializeToString, + ), + 'AccountAddressDerivativeOrders': grpc.unary_unary_rpc_method_handler( + servicer.AccountAddressDerivativeOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersResponse.SerializeToString, + ), + 'DerivativeOrdersByHashes': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeOrdersByHashes, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesResponse.SerializeToString, + ), + 'TraderDerivativeTransientOrders': grpc.unary_unary_rpc_method_handler( + servicer.TraderDerivativeTransientOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.SerializeToString, + ), + 'DerivativeMarkets': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarkets, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsResponse.SerializeToString, + ), + 'DerivativeMarket': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketResponse.SerializeToString, + ), + 'DerivativeMarketAddress': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarketAddress, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressResponse.SerializeToString, + ), + 'SubaccountTradeNonce': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountTradeNonce, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceResponse.SerializeToString, + ), + 'SubaccountRiskProfile': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountRiskProfile, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileResponse.SerializeToString, + ), + 'CrossMarginPoolSnapshot': grpc.unary_unary_rpc_method_handler( + servicer.CrossMarginPoolSnapshot, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotResponse.SerializeToString, + ), + 'ExchangeModuleState': grpc.unary_unary_rpc_method_handler( + servicer.ExchangeModuleState, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateResponse.SerializeToString, + ), + 'Positions': grpc.unary_unary_rpc_method_handler( + servicer.Positions, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsResponse.SerializeToString, + ), + 'PositionsInMarket': grpc.unary_unary_rpc_method_handler( + servicer.PositionsInMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketResponse.SerializeToString, + ), + 'SubaccountPositions': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountPositions, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsResponse.SerializeToString, + ), + 'SubaccountPositionInMarket': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountPositionInMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketResponse.SerializeToString, + ), + 'SubaccountEffectivePositionInMarket': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountEffectivePositionInMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketResponse.SerializeToString, + ), + 'PerpetualMarketInfo': grpc.unary_unary_rpc_method_handler( + servicer.PerpetualMarketInfo, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoResponse.SerializeToString, + ), + 'ExpiryFuturesMarketInfo': grpc.unary_unary_rpc_method_handler( + servicer.ExpiryFuturesMarketInfo, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoResponse.SerializeToString, + ), + 'PerpetualMarketFunding': grpc.unary_unary_rpc_method_handler( + servicer.PerpetualMarketFunding, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingResponse.SerializeToString, + ), + 'SubaccountOrderMetadata': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountOrderMetadata, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataResponse.SerializeToString, + ), + 'TradeRewardPoints': grpc.unary_unary_rpc_method_handler( + servicer.TradeRewardPoints, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.SerializeToString, + ), + 'PendingTradeRewardPoints': grpc.unary_unary_rpc_method_handler( + servicer.PendingTradeRewardPoints, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.SerializeToString, + ), + 'TradeRewardCampaign': grpc.unary_unary_rpc_method_handler( + servicer.TradeRewardCampaign, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignResponse.SerializeToString, + ), + 'FeeDiscountAccountInfo': grpc.unary_unary_rpc_method_handler( + servicer.FeeDiscountAccountInfo, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoResponse.SerializeToString, + ), + 'FeeDiscountSchedule': grpc.unary_unary_rpc_method_handler( + servicer.FeeDiscountSchedule, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleResponse.SerializeToString, + ), + 'BalanceMismatches': grpc.unary_unary_rpc_method_handler( + servicer.BalanceMismatches, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesResponse.SerializeToString, + ), + 'BalanceWithBalanceHolds': grpc.unary_unary_rpc_method_handler( + servicer.BalanceWithBalanceHolds, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsResponse.SerializeToString, + ), + 'FeeDiscountTierStatistics': grpc.unary_unary_rpc_method_handler( + servicer.FeeDiscountTierStatistics, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsResponse.SerializeToString, + ), + 'MitoVaultInfos': grpc.unary_unary_rpc_method_handler( + servicer.MitoVaultInfos, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosResponse.SerializeToString, + ), + 'QueryMarketIDFromVault': grpc.unary_unary_rpc_method_handler( + servicer.QueryMarketIDFromVault, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultResponse.SerializeToString, + ), + 'HistoricalTradeRecords': grpc.unary_unary_rpc_method_handler( + servicer.HistoricalTradeRecords, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsResponse.SerializeToString, + ), + 'IsOptedOutOfRewards': grpc.unary_unary_rpc_method_handler( + servicer.IsOptedOutOfRewards, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsResponse.SerializeToString, + ), + 'OptedOutOfRewardsAccounts': grpc.unary_unary_rpc_method_handler( + servicer.OptedOutOfRewardsAccounts, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsResponse.SerializeToString, + ), + 'MarketVolatility': grpc.unary_unary_rpc_method_handler( + servicer.MarketVolatility, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityResponse.SerializeToString, + ), + 'BinaryOptionsMarkets': grpc.unary_unary_rpc_method_handler( + servicer.BinaryOptionsMarkets, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsResponse.SerializeToString, + ), + 'TraderDerivativeConditionalOrders': grpc.unary_unary_rpc_method_handler( + servicer.TraderDerivativeConditionalOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersResponse.SerializeToString, + ), + 'MarketAtomicExecutionFeeMultiplier': grpc.unary_unary_rpc_method_handler( + servicer.MarketAtomicExecutionFeeMultiplier, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierResponse.SerializeToString, + ), + 'ActiveStakeGrant': grpc.unary_unary_rpc_method_handler( + servicer.ActiveStakeGrant, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantResponse.SerializeToString, + ), + 'GrantAuthorization': grpc.unary_unary_rpc_method_handler( + servicer.GrantAuthorization, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationResponse.SerializeToString, + ), + 'GrantAuthorizations': grpc.unary_unary_rpc_method_handler( + servicer.GrantAuthorizations, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsResponse.SerializeToString, + ), + 'MarketBalance': grpc.unary_unary_rpc_method_handler( + servicer.MarketBalance, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceResponse.SerializeToString, + ), + 'MarketBalances': grpc.unary_unary_rpc_method_handler( + servicer.MarketBalances, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesResponse.SerializeToString, + ), + 'DenomMinNotional': grpc.unary_unary_rpc_method_handler( + servicer.DenomMinNotional, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalResponse.SerializeToString, + ), + 'DenomMinNotionals': grpc.unary_unary_rpc_method_handler( + servicer.DenomMinNotionals, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsResponse.SerializeToString, + ), + 'OpenInterest': grpc.unary_unary_rpc_method_handler( + servicer.OpenInterest, + request_deserializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestRequest.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.exchange.v2.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.exchange.v2.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Query defines the gRPC querier service. + """ + + @staticmethod + def L3DerivativeOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/L3DerivativeOrderBook', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def L3SpotOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/L3SpotOrderBook', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def QueryExchangeParams(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/QueryExchangeParams', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountDeposits(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountDeposits', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountDeposit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountDeposit', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountDepositResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ExchangeBalances(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/ExchangeBalances', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExchangeBalancesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AggregateVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AggregateVolume', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AggregateVolumes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AggregateVolumes', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateVolumesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AggregateMarketVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AggregateMarketVolume', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AggregateMarketVolumes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AggregateMarketVolumes', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAggregateMarketVolumesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuctionExchangeTransferDenomDecimal(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AuctionExchangeTransferDenomDecimal', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuctionExchangeTransferDenomDecimals(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AuctionExchangeTransferDenomDecimals', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAuctionExchangeTransferDenomDecimalsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotMarkets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SpotMarkets', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SpotMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FullSpotMarkets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/FullSpotMarkets', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FullSpotMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/FullSpotMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFullSpotMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotOrderbook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SpotOrderbook', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraderSpotOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TraderSpotOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AccountAddressSpotOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AccountAddressSpotOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressSpotOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotOrdersByHashes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SpotOrdersByHashes', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotOrdersByHashesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraderSpotTransientOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TraderSpotTransientOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderSpotOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotMidPriceAndTOB(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SpotMidPriceAndTOB', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySpotMidPriceAndTOBResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMidPriceAndTOB(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeMidPriceAndTOB', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMidPriceAndTOBResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeOrderbook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeOrderbook', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraderDerivativeOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TraderDerivativeOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AccountAddressDerivativeOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/AccountAddressDerivativeOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryAccountAddressDerivativeOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeOrdersByHashes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeOrdersByHashes', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeOrdersByHashesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraderDerivativeTransientOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TraderDerivativeTransientOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarkets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeMarkets', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarketAddress(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DerivativeMarketAddress', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDerivativeMarketAddressResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountTradeNonce(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountTradeNonce', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountTradeNonceResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountRiskProfile(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountRiskProfile', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountRiskProfileResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CrossMarginPoolSnapshot(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/CrossMarginPoolSnapshot', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryCrossMarginPoolSnapshotResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ExchangeModuleState(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/ExchangeModuleState', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryModuleStateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Positions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/Positions', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PositionsInMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/PositionsInMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPositionsInMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountPositions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountPositions', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountPositionInMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountPositionInMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountPositionInMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountEffectivePositionInMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountEffectivePositionInMarket', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountEffectivePositionInMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PerpetualMarketInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/PerpetualMarketInfo', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketInfoResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ExpiryFuturesMarketInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/ExpiryFuturesMarketInfo', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryExpiryFuturesMarketInfoResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PerpetualMarketFunding(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/PerpetualMarketFunding', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryPerpetualMarketFundingResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountOrderMetadata(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/SubaccountOrderMetadata', + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QuerySubaccountOrderMetadataResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TradeRewardPoints(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TradeRewardPoints', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PendingTradeRewardPoints(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/PendingTradeRewardPoints', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardPointsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TradeRewardCampaign(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TradeRewardCampaign', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTradeRewardCampaignResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FeeDiscountAccountInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/FeeDiscountAccountInfo', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountAccountInfoResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FeeDiscountSchedule(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/FeeDiscountSchedule', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountScheduleResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BalanceMismatches(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/BalanceMismatches', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceMismatchesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BalanceWithBalanceHolds(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/BalanceWithBalanceHolds', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBalanceWithBalanceHoldsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FeeDiscountTierStatistics(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/FeeDiscountTierStatistics', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryFeeDiscountTierStatisticsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MitoVaultInfos(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/MitoVaultInfos', + injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.MitoVaultInfosResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def QueryMarketIDFromVault(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/QueryMarketIDFromVault', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketIDFromVaultResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def HistoricalTradeRecords(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/HistoricalTradeRecords', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryHistoricalTradeRecordsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def IsOptedOutOfRewards(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/IsOptedOutOfRewards', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryIsOptedOutOfRewardsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OptedOutOfRewardsAccounts(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/OptedOutOfRewardsAccounts', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryOptedOutOfRewardsAccountsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketVolatility(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/MarketVolatility', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketVolatilityResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BinaryOptionsMarkets(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/BinaryOptionsMarkets', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryBinaryMarketsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def TraderDerivativeConditionalOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/TraderDerivativeConditionalOrders', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryTraderDerivativeConditionalOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketAtomicExecutionFeeMultiplier(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/MarketAtomicExecutionFeeMultiplier', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketAtomicExecutionFeeMultiplierResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ActiveStakeGrant(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/ActiveStakeGrant', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryActiveStakeGrantResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GrantAuthorization(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/GrantAuthorization', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GrantAuthorizations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/GrantAuthorizations', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryGrantAuthorizationsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketBalance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/MarketBalance', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalanceResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def MarketBalances(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/MarketBalances', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryMarketBalancesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DenomMinNotional(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DenomMinNotional', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DenomMinNotionals(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/DenomMinNotionals', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryDenomMinNotionalsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OpenInterest(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Query/OpenInterest', + injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestRequest.SerializeToString, + injective_dot_exchange_dot_v2_dot_query__pb2.QueryOpenInterestResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/exchange/v2/tx_pb2.py b/pyinjective/proto/injective/exchange/v2/tx_pb2.py new file mode 100644 index 00000000..1f959442 --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/tx_pb2.py @@ -0,0 +1,614 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/exchange/v2/tx.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.cosmos.distribution.v1beta1 import distribution_pb2 as cosmos_dot_distribution_dot_v1beta1_dot_distribution__pb2 +from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import order_pb2 as injective_dot_exchange_dot_v2_dot_order__pb2 +from pyinjective.proto.injective.exchange.v2 import market_pb2 as injective_dot_exchange_dot_v2_dot_market__pb2 +from pyinjective.proto.injective.exchange.v2 import proposal_pb2 as injective_dot_exchange_dot_v2_dot_proposal__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/exchange/v2/tx.proto\x12\x15injective.exchange.v2\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a$injective/exchange/v2/exchange.proto\x1a!injective/exchange/v2/order.proto\x1a\"injective/exchange/v2/market.proto\x1a$injective/exchange/v2/proposal.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa3\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:/\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\x9d\x07\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio\x12Z\n\x17new_reduce_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14newReduceMarginRatio\x12_\n\x15new_open_notional_cap\x18\n \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x12newOpenNotionalCap\x12g\n\x18\x63ross_margin_eligibility\x18\x0b \x01(\x0e\x32-.injective.exchange.v2.CrossMarginEligibilityR\x16\x63rossMarginEligibility:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb3\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12;\n\x06params\x18\x02 \x01(\x0b\x32\x1d.injective.exchange.v2.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xf5\x01\n\x1eMsgUpdateSubaccountRiskProfile\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12U\n\x0crisk_profile\x18\x03 \x01(\x0b\x32,.injective.exchange.v2.SubaccountRiskProfileB\x04\xc8\xde\x1f\x00R\x0briskProfile:?\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgUpdateSubaccountRiskProfile\"(\n&MsgUpdateSubaccountRiskProfileResponse\"\xa9\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12<\n\x05order\x18\x02 \x01(\x0b\x32 .injective.exchange.v2.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb7\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12>\n\x06orders\x18\x02 \x03(\x0b\x32 .injective.exchange.v2.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8b\x04\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12#\n\rbase_decimals\x18\x08 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\t \x01(\rR\rquoteDecimals:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\x94\t\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12S\n\x13reduce_margin_ratio\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x10 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12\x32\n\x15\x63ross_margin_eligible\x18\x11 \x01(\x08R\x13\x63rossMarginEligible:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\xe3\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12X\n\x11open_notional_cap\x18\x10 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xb4\t\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12S\n\x13reduce_margin_ratio\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11reduceMarginRatio\x12X\n\x11open_notional_cap\x18\x11 \x01(\x0b\x32&.injective.exchange.v2.OpenNotionalCapB\x04\xc8\xde\x1f\x00R\x0fopenNotionalCap\x12\x32\n\x15\x63ross_margin_eligible\x18\x12 \x01(\x08R\x13\x63rossMarginEligible:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xab\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12<\n\x05order\x18\x02 \x01(\x0b\x32 .injective.exchange.v2.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xac\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12M\n\x07results\x18\x02 \x01(\x0b\x32-.injective.exchange.v2.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x96\x02\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12?\n\x08notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb7\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x42\n\x05order\x18\x02 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbd\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x42\n\x05order\x18\x02 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc5\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x44\n\x06orders\x18\x02 \x03(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xa5\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12:\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb7\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12:\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb7\n\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12Y\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12\x65\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12Y\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32 .injective.exchange.v2.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12k\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12l\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12r\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate\x12\x66\n\x1cspot_market_orders_to_create\x18\x0c \x03(\x0b\x32 .injective.exchange.v2.SpotOrderB\x04\xc8\xde\x1f\x01R\x18spotMarketOrdersToCreate\x12x\n\"derivative_market_orders_to_create\x18\r \x03(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1e\x64\x65rivativeMarketOrdersToCreate\x12\x7f\n&binary_options_market_orders_to_create\x18\x0e \x03(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R!binaryOptionsMarketOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\xae\x0b\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids\x12\x37\n\x18spot_market_order_hashes\x18\r \x03(\tR\x15spotMarketOrderHashes\x12\x44\n\x1f\x63reated_spot_market_orders_cids\x18\x0e \x03(\tR\x1b\x63reatedSpotMarketOrdersCids\x12\x42\n\x1e\x66\x61iled_spot_market_orders_cids\x18\x0f \x03(\tR\x1a\x66\x61iledSpotMarketOrdersCids\x12\x43\n\x1e\x64\x65rivative_market_order_hashes\x18\x10 \x03(\tR\x1b\x64\x65rivativeMarketOrderHashes\x12P\n%created_derivative_market_orders_cids\x18\x11 \x03(\tR!createdDerivativeMarketOrdersCids\x12N\n$failed_derivative_market_orders_cids\x18\x12 \x03(\tR failedDerivativeMarketOrdersCids\x12J\n\"binary_options_market_order_hashes\x18\x13 \x03(\tR\x1e\x62inaryOptionsMarketOrderHashes\x12W\n)created_binary_options_market_orders_cids\x18\x14 \x03(\tR$createdBinaryOptionsMarketOrdersCids\x12U\n(failed_binary_options_market_orders_cids\x18\x15 \x03(\tR#failedBinaryOptionsMarketOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xb9\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x42\n\x05order\x18\x02 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xb8\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12S\n\x07results\x18\x02 \x01(\x0b\x32\x33.injective.exchange.v2.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xeb\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12Q\n\x0eposition_delta\x18\x04 \x01(\x0b\x32$.injective.exchange.v2.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbf\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x42\n\x05order\x18\x02 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xbb\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12S\n\x07results\x18\x02 \x01(\x0b\x32\x33.injective.exchange.v2.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb1\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12:\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32 .injective.exchange.v2.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe3\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x42\n\x05order\x18\x04 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\x9d\x01\n\x15LiquidatePositionData\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x42\n\x05order\x18\x03 \x01(\x0b\x32&.injective.exchange.v2.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order\"\xc1\x01\n\x1aMsgBatchLiquidatePositions\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12V\n\x0cliquidations\x18\x02 \x03(\x0b\x32,.injective.exchange.v2.LiquidatePositionDataB\x04\xc8\xde\x1f\x00R\x0cliquidations:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgBatchLiquidatePositions\"\x8b\x01\n\x17LiquidatePositionResult\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x18\n\x07success\x18\x03 \x01(\x08R\x07success\x12\x14\n\x05\x65rror\x18\x04 \x01(\tR\x05\x65rror\"t\n\"MsgBatchLiquidatePositionsResponse\x12N\n\x07results\x18\x01 \x03(\x0b\x32..injective.exchange.v2.LiquidatePositionResultB\x04\xc8\xde\x1f\x00R\x07results\"\xd5\x01\n\x11MsgOffsetPosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12:\n\x19offsetting_subaccount_ids\x18\x04 \x03(\tR\x17offsettingSubaccountIds:*\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1a\x65xchange/MsgOffsetPosition\"\x1b\n\x19MsgOffsetPositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"s\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12>\n\x05value\x18\x02 \x01(\x0b\x32\".injective.exchange.v2.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x87\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12;\n\x06status\x18\x06 \x01(\x0e\x32#.injective.exchange.v2.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xa6\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x06grants\x18\x02 \x03(\x0b\x32).injective.exchange.v2.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse\"\xcb\x01\n\x1cMsgBatchExchangeModification\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12T\n\x08proposal\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v2.BatchExchangeModificationProposalR\x08proposal:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgBatchExchangeModification\"&\n$MsgBatchExchangeModificationResponse\"\xb0\x01\n\x13MsgSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12K\n\x08proposal\x18\x02 \x01(\x0b\x32/.injective.exchange.v2.SpotMarketLaunchProposalR\x08proposal:4\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgSpotMarketLaunch\"\x1d\n\x1bMsgSpotMarketLaunchResponse\"\xbf\x01\n\x18MsgPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12P\n\x08proposal\x18\x02 \x01(\x0b\x32\x34.injective.exchange.v2.PerpetualMarketLaunchProposalR\x08proposal:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgPerpetualMarketLaunch\"\"\n MsgPerpetualMarketLaunchResponse\"\xcb\x01\n\x1cMsgExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12T\n\x08proposal\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v2.ExpiryFuturesMarketLaunchProposalR\x08proposal:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgExpiryFuturesMarketLaunch\"&\n$MsgExpiryFuturesMarketLaunchResponse\"\xcb\x01\n\x1cMsgBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12T\n\x08proposal\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v2.BinaryOptionsMarketLaunchProposalR\x08proposal:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgBinaryOptionsMarketLaunch\"&\n$MsgBinaryOptionsMarketLaunchResponse\"\xc5\x01\n\x1aMsgBatchCommunityPoolSpend\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12R\n\x08proposal\x18\x02 \x01(\x0b\x32\x36.injective.exchange.v2.BatchCommunityPoolSpendProposalR\x08proposal:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgBatchCommunityPoolSpend\"$\n\"MsgBatchCommunityPoolSpendResponse\"\xbf\x01\n\x18MsgSpotMarketParamUpdate\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12P\n\x08proposal\x18\x02 \x01(\x0b\x32\x34.injective.exchange.v2.SpotMarketParamUpdateProposalR\x08proposal:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgSpotMarketParamUpdate\"\"\n MsgSpotMarketParamUpdateResponse\"\xd1\x01\n\x1eMsgDerivativeMarketParamUpdate\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12V\n\x08proposal\x18\x02 \x01(\x0b\x32:.injective.exchange.v2.DerivativeMarketParamUpdateProposalR\x08proposal:?\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgDerivativeMarketParamUpdate\"(\n&MsgDerivativeMarketParamUpdateResponse\"\xda\x01\n!MsgBinaryOptionsMarketParamUpdate\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12Y\n\x08proposal\x18\x02 \x01(\x0b\x32=.injective.exchange.v2.BinaryOptionsMarketParamUpdateProposalR\x08proposal:B\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBinaryOptionsMarketParamUpdate\"+\n)MsgBinaryOptionsMarketParamUpdateResponse\"\xc2\x01\n\x19MsgMarketForcedSettlement\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12Q\n\x08proposal\x18\x02 \x01(\x0b\x32\x35.injective.exchange.v2.MarketForcedSettlementProposalR\x08proposal::\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgMarketForcedSettlement\"#\n!MsgMarketForcedSettlementResponse\"\xd1\x01\n\x1eMsgTradingRewardCampaignLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12V\n\x08proposal\x18\x02 \x01(\x0b\x32:.injective.exchange.v2.TradingRewardCampaignLaunchProposalR\x08proposal:?\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgTradingRewardCampaignLaunch\"(\n&MsgTradingRewardCampaignLaunchResponse\"\xaa\x01\n\x11MsgExchangeEnable\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x08proposal\x18\x02 \x01(\x0b\x32-.injective.exchange.v2.ExchangeEnableProposalR\x08proposal:2\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1a\x65xchange/MsgExchangeEnable\"\x1b\n\x19MsgExchangeEnableResponse\"\xd1\x01\n\x1eMsgTradingRewardCampaignUpdate\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12V\n\x08proposal\x18\x02 \x01(\x0b\x32:.injective.exchange.v2.TradingRewardCampaignUpdateProposalR\x08proposal:?\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgTradingRewardCampaignUpdate\"(\n&MsgTradingRewardCampaignUpdateResponse\"\xe0\x01\n#MsgTradingRewardPendingPointsUpdate\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12[\n\x08proposal\x18\x02 \x01(\x0b\x32?.injective.exchange.v2.TradingRewardPendingPointsUpdateProposalR\x08proposal:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgTradingRewardPendingPointsUpdate\"-\n+MsgTradingRewardPendingPointsUpdateResponse\"\xa1\x01\n\x0eMsgFeeDiscount\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x08proposal\x18\x02 \x01(\x0b\x32*.injective.exchange.v2.FeeDiscountProposalR\x08proposal:/\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17\x65xchange/MsgFeeDiscount\"\x18\n\x16MsgFeeDiscountResponse\"\xf2\x01\n)MsgAtomicMarketOrderFeeMultiplierSchedule\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x61\n\x08proposal\x18\x02 \x01(\x0b\x32\x45.injective.exchange.v2.AtomicMarketOrderFeeMultiplierScheduleProposalR\x08proposal:J\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*2exchange/MsgAtomicMarketOrderFeeMultiplierSchedule\"3\n1MsgAtomicMarketOrderFeeMultiplierScheduleResponse\"\x95\x01\n!MsgSetDelegationTransferReceivers\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1c\n\treceivers\x18\x02 \x03(\tR\treceivers::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgSetDelegationTransferReceivers\"+\n)MsgSetDelegationTransferReceiversResponse\"_\n\x15MsgCancelPostOnlyMode\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgCancelPostOnlyMode\"\x1f\n\x1dMsgCancelPostOnlyModeResponse\"\x88\x01\n\x17MsgActivatePostOnlyMode\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rblocks_amount\x18\x02 \x01(\rR\x0c\x62locksAmount:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgActivatePostOnlyMode\"!\n\x1fMsgActivatePostOnlyModeResponse\"\xb1\x01\n\x1bMsgLiquidateCrossMarginPool\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom:4\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgLiquidateCrossMarginPool\"%\n#MsgLiquidateCrossMarginPoolResponse2\xf5=\n\x03Msg\x12W\n\x07\x44\x65posit\x12!.injective.exchange.v2.MsgDeposit\x1a).injective.exchange.v2.MsgDepositResponse\x12Z\n\x08Withdraw\x12\".injective.exchange.v2.MsgWithdraw\x1a*.injective.exchange.v2.MsgWithdrawResponse\x12\x87\x01\n\x17InstantSpotMarketLaunch\x12\x31.injective.exchange.v2.MsgInstantSpotMarketLaunch\x1a\x39.injective.exchange.v2.MsgInstantSpotMarketLaunchResponse\x12\x96\x01\n\x1cInstantPerpetualMarketLaunch\x12\x36.injective.exchange.v2.MsgInstantPerpetualMarketLaunch\x1a>.injective.exchange.v2.MsgInstantPerpetualMarketLaunchResponse\x12\xa2\x01\n InstantExpiryFuturesMarketLaunch\x12:.injective.exchange.v2.MsgInstantExpiryFuturesMarketLaunch\x1a\x42.injective.exchange.v2.MsgInstantExpiryFuturesMarketLaunchResponse\x12~\n\x14\x43reateSpotLimitOrder\x12..injective.exchange.v2.MsgCreateSpotLimitOrder\x1a\x36.injective.exchange.v2.MsgCreateSpotLimitOrderResponse\x12\x90\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x34.injective.exchange.v2.MsgBatchCreateSpotLimitOrders\x1a<.injective.exchange.v2.MsgBatchCreateSpotLimitOrdersResponse\x12\x81\x01\n\x15\x43reateSpotMarketOrder\x12/.injective.exchange.v2.MsgCreateSpotMarketOrder\x1a\x37.injective.exchange.v2.MsgCreateSpotMarketOrderResponse\x12o\n\x0f\x43\x61ncelSpotOrder\x12).injective.exchange.v2.MsgCancelSpotOrder\x1a\x31.injective.exchange.v2.MsgCancelSpotOrderResponse\x12\x81\x01\n\x15\x42\x61tchCancelSpotOrders\x12/.injective.exchange.v2.MsgBatchCancelSpotOrders\x1a\x37.injective.exchange.v2.MsgBatchCancelSpotOrdersResponse\x12u\n\x11\x42\x61tchUpdateOrders\x12+.injective.exchange.v2.MsgBatchUpdateOrders\x1a\x33.injective.exchange.v2.MsgBatchUpdateOrdersResponse\x12\x8d\x01\n\x19PrivilegedExecuteContract\x12\x33.injective.exchange.v2.MsgPrivilegedExecuteContract\x1a;.injective.exchange.v2.MsgPrivilegedExecuteContractResponse\x12\x90\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x34.injective.exchange.v2.MsgCreateDerivativeLimitOrder\x1a<.injective.exchange.v2.MsgCreateDerivativeLimitOrderResponse\x12\xa2\x01\n BatchCreateDerivativeLimitOrders\x12:.injective.exchange.v2.MsgBatchCreateDerivativeLimitOrders\x1a\x42.injective.exchange.v2.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x93\x01\n\x1b\x43reateDerivativeMarketOrder\x12\x35.injective.exchange.v2.MsgCreateDerivativeMarketOrder\x1a=.injective.exchange.v2.MsgCreateDerivativeMarketOrderResponse\x12\x81\x01\n\x15\x43\x61ncelDerivativeOrder\x12/.injective.exchange.v2.MsgCancelDerivativeOrder\x1a\x37.injective.exchange.v2.MsgCancelDerivativeOrderResponse\x12\x93\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12\x35.injective.exchange.v2.MsgBatchCancelDerivativeOrders\x1a=.injective.exchange.v2.MsgBatchCancelDerivativeOrdersResponse\x12\xa2\x01\n InstantBinaryOptionsMarketLaunch\x12:.injective.exchange.v2.MsgInstantBinaryOptionsMarketLaunch\x1a\x42.injective.exchange.v2.MsgInstantBinaryOptionsMarketLaunchResponse\x12\x99\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12\x37.injective.exchange.v2.MsgCreateBinaryOptionsLimitOrder\x1a?.injective.exchange.v2.MsgCreateBinaryOptionsLimitOrderResponse\x12\x9c\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12\x38.injective.exchange.v2.MsgCreateBinaryOptionsMarketOrder\x1a@.injective.exchange.v2.MsgCreateBinaryOptionsMarketOrderResponse\x12\x8a\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x32.injective.exchange.v2.MsgCancelBinaryOptionsOrder\x1a:.injective.exchange.v2.MsgCancelBinaryOptionsOrderResponse\x12\x9c\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12\x38.injective.exchange.v2.MsgBatchCancelBinaryOptionsOrders\x1a@.injective.exchange.v2.MsgBatchCancelBinaryOptionsOrdersResponse\x12x\n\x12SubaccountTransfer\x12,.injective.exchange.v2.MsgSubaccountTransfer\x1a\x34.injective.exchange.v2.MsgSubaccountTransferResponse\x12r\n\x10\x45xternalTransfer\x12*.injective.exchange.v2.MsgExternalTransfer\x1a\x32.injective.exchange.v2.MsgExternalTransferResponse\x12u\n\x11LiquidatePosition\x12+.injective.exchange.v2.MsgLiquidatePosition\x1a\x33.injective.exchange.v2.MsgLiquidatePositionResponse\x12\x87\x01\n\x17\x42\x61tchLiquidatePositions\x12\x31.injective.exchange.v2.MsgBatchLiquidatePositions\x1a\x39.injective.exchange.v2.MsgBatchLiquidatePositionsResponse\x12\x81\x01\n\x15\x45mergencySettleMarket\x12/.injective.exchange.v2.MsgEmergencySettleMarket\x1a\x37.injective.exchange.v2.MsgEmergencySettleMarketResponse\x12l\n\x0eOffsetPosition\x12(.injective.exchange.v2.MsgOffsetPosition\x1a\x30.injective.exchange.v2.MsgOffsetPositionResponse\x12\x84\x01\n\x16IncreasePositionMargin\x12\x30.injective.exchange.v2.MsgIncreasePositionMargin\x1a\x38.injective.exchange.v2.MsgIncreasePositionMarginResponse\x12\x84\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x30.injective.exchange.v2.MsgDecreasePositionMargin\x1a\x38.injective.exchange.v2.MsgDecreasePositionMarginResponse\x12i\n\rRewardsOptOut\x12\'.injective.exchange.v2.MsgRewardsOptOut\x1a/.injective.exchange.v2.MsgRewardsOptOutResponse\x12\x9c\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12\x38.injective.exchange.v2.MsgAdminUpdateBinaryOptionsMarket\x1a@.injective.exchange.v2.MsgAdminUpdateBinaryOptionsMarketResponse\x12\x66\n\x0cUpdateParams\x12&.injective.exchange.v2.MsgUpdateParams\x1a..injective.exchange.v2.MsgUpdateParamsResponse\x12r\n\x10UpdateSpotMarket\x12*.injective.exchange.v2.MsgUpdateSpotMarket\x1a\x32.injective.exchange.v2.MsgUpdateSpotMarketResponse\x12\x84\x01\n\x16UpdateDerivativeMarket\x12\x30.injective.exchange.v2.MsgUpdateDerivativeMarket\x1a\x38.injective.exchange.v2.MsgUpdateDerivativeMarketResponse\x12~\n\x14\x41uthorizeStakeGrants\x12..injective.exchange.v2.MsgAuthorizeStakeGrants\x1a\x36.injective.exchange.v2.MsgAuthorizeStakeGrantsResponse\x12x\n\x12\x41\x63tivateStakeGrant\x12,.injective.exchange.v2.MsgActivateStakeGrant\x1a\x34.injective.exchange.v2.MsgActivateStakeGrantResponse\x12\x8d\x01\n\x19\x42\x61tchExchangeModification\x12\x33.injective.exchange.v2.MsgBatchExchangeModification\x1a;.injective.exchange.v2.MsgBatchExchangeModificationResponse\x12r\n\x10LaunchSpotMarket\x12*.injective.exchange.v2.MsgSpotMarketLaunch\x1a\x32.injective.exchange.v2.MsgSpotMarketLaunchResponse\x12\x81\x01\n\x15LaunchPerpetualMarket\x12/.injective.exchange.v2.MsgPerpetualMarketLaunch\x1a\x37.injective.exchange.v2.MsgPerpetualMarketLaunchResponse\x12\x8d\x01\n\x19LaunchExpiryFuturesMarket\x12\x33.injective.exchange.v2.MsgExpiryFuturesMarketLaunch\x1a;.injective.exchange.v2.MsgExpiryFuturesMarketLaunchResponse\x12\x8d\x01\n\x19LaunchBinaryOptionsMarket\x12\x33.injective.exchange.v2.MsgBinaryOptionsMarketLaunch\x1a;.injective.exchange.v2.MsgBinaryOptionsMarketLaunchResponse\x12\x87\x01\n\x17\x42\x61tchSpendCommunityPool\x12\x31.injective.exchange.v2.MsgBatchCommunityPoolSpend\x1a\x39.injective.exchange.v2.MsgBatchCommunityPoolSpendResponse\x12\x81\x01\n\x15SpotMarketParamUpdate\x12/.injective.exchange.v2.MsgSpotMarketParamUpdate\x1a\x37.injective.exchange.v2.MsgSpotMarketParamUpdateResponse\x12\x93\x01\n\x1b\x44\x65rivativeMarketParamUpdate\x12\x35.injective.exchange.v2.MsgDerivativeMarketParamUpdate\x1a=.injective.exchange.v2.MsgDerivativeMarketParamUpdateResponse\x12\x9c\x01\n\x1e\x42inaryOptionsMarketParamUpdate\x12\x38.injective.exchange.v2.MsgBinaryOptionsMarketParamUpdate\x1a@.injective.exchange.v2.MsgBinaryOptionsMarketParamUpdateResponse\x12\x7f\n\x11\x46orceSettleMarket\x12\x30.injective.exchange.v2.MsgMarketForcedSettlement\x1a\x38.injective.exchange.v2.MsgMarketForcedSettlementResponse\x12\x93\x01\n\x1bLaunchTradingRewardCampaign\x12\x35.injective.exchange.v2.MsgTradingRewardCampaignLaunch\x1a=.injective.exchange.v2.MsgTradingRewardCampaignLaunchResponse\x12l\n\x0e\x45nableExchange\x12(.injective.exchange.v2.MsgExchangeEnable\x1a\x30.injective.exchange.v2.MsgExchangeEnableResponse\x12\x93\x01\n\x1bUpdateTradingRewardCampaign\x12\x35.injective.exchange.v2.MsgTradingRewardCampaignUpdate\x1a=.injective.exchange.v2.MsgTradingRewardCampaignUpdateResponse\x12\xa2\x01\n UpdateTradingRewardPendingPoints\x12:.injective.exchange.v2.MsgTradingRewardPendingPointsUpdate\x1a\x42.injective.exchange.v2.MsgTradingRewardPendingPointsUpdateResponse\x12i\n\x11UpdateFeeDiscount\x12%.injective.exchange.v2.MsgFeeDiscount\x1a-.injective.exchange.v2.MsgFeeDiscountResponse\x12\xba\x01\n,UpdateAtomicMarketOrderFeeMultiplierSchedule\x12@.injective.exchange.v2.MsgAtomicMarketOrderFeeMultiplierSchedule\x1aH.injective.exchange.v2.MsgAtomicMarketOrderFeeMultiplierScheduleResponse\x12\x9c\x01\n\x1eSetDelegationTransferReceivers\x12\x38.injective.exchange.v2.MsgSetDelegationTransferReceivers\x1a@.injective.exchange.v2.MsgSetDelegationTransferReceiversResponse\x12x\n\x12\x43\x61ncelPostOnlyMode\x12,.injective.exchange.v2.MsgCancelPostOnlyMode\x1a\x34.injective.exchange.v2.MsgCancelPostOnlyModeResponse\x12~\n\x14\x41\x63tivatePostOnlyMode\x12..injective.exchange.v2.MsgActivatePostOnlyMode\x1a\x36.injective.exchange.v2.MsgActivatePostOnlyModeResponse\x12\x8a\x01\n\x18LiquidateCrossMarginPool\x12\x32.injective.exchange.v2.MsgLiquidateCrossMarginPool\x1a:.injective.exchange.v2.MsgLiquidateCrossMarginPoolResponse\x12\x93\x01\n\x1bUpdateSubaccountRiskProfile\x12\x35.injective.exchange.v2.MsgUpdateSubaccountRiskProfile\x1a=.injective.exchange.v2.MsgUpdateSubaccountRiskProfileResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xed\x01\n\x19\x63om.injective.exchange.v2B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\xa2\x02\x03IEX\xaa\x02\x15Injective.Exchange.V2\xca\x02\x15Injective\\Exchange\\V2\xe2\x02!Injective\\Exchange\\V2\\GPBMetadata\xea\x02\x17Injective::Exchange::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.exchange.v2.tx_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.exchange.v2B\007TxProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types/v2\242\002\003IEX\252\002\025Injective.Exchange.V2\312\002\025Injective\\Exchange\\V2\342\002!Injective\\Exchange\\V2\\GPBMetadata\352\002\027Injective::Exchange::V2' + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_price_tick_size']._loaded_options = None + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_quantity_tick_size']._loaded_options = None + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_notional']._loaded_options = None + _globals['_MSGUPDATESPOTMARKET'].fields_by_name['new_min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATESPOTMARKET']._loaded_options = None + _globals['_MSGUPDATESPOTMARKET']._serialized_options = b'\350\240\037\000\202\347\260*\005admin\212\347\260*\034exchange/MsgUpdateSpotMarket' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_price_tick_size']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_quantity_tick_size']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_notional']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_initial_margin_ratio']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_maintenance_margin_ratio']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_reduce_margin_ratio']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_open_notional_cap']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET'].fields_by_name['new_open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATEDERIVATIVEMARKET']._loaded_options = None + _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\005admin\212\347\260*\"exchange/MsgUpdateDerivativeMarket' + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATEPARAMS']._loaded_options = None + _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\030exchange/MsgUpdateParams' + _globals['_MSGDEPOSIT'].fields_by_name['amount']._loaded_options = None + _globals['_MSGDEPOSIT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_MSGDEPOSIT']._loaded_options = None + _globals['_MSGDEPOSIT']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\023exchange/MsgDeposit' + _globals['_MSGWITHDRAW'].fields_by_name['amount']._loaded_options = None + _globals['_MSGWITHDRAW'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_MSGWITHDRAW']._loaded_options = None + _globals['_MSGWITHDRAW']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\024exchange/MsgWithdraw' + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE'].fields_by_name['risk_profile']._loaded_options = None + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE'].fields_by_name['risk_profile']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE']._loaded_options = None + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgUpdateSubaccountRiskProfile' + _globals['_MSGCREATESPOTLIMITORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATESPOTLIMITORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATESPOTLIMITORDER']._loaded_options = None + _globals['_MSGCREATESPOTLIMITORDER']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260* exchange/MsgCreateSpotLimitOrder' + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGBATCHCREATESPOTLIMITORDERS'].fields_by_name['orders']._loaded_options = None + _globals['_MSGBATCHCREATESPOTLIMITORDERS'].fields_by_name['orders']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._loaded_options = None + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*&exchange/MsgBatchCreateSpotLimitOrders' + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_notional']._loaded_options = None + _globals['_MSGINSTANTSPOTMARKETLAUNCH'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._loaded_options = None + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*#exchange/MsgInstantSpotMarketLaunch' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_notional']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._loaded_options = None + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*(exchange/MsgInstantPerpetualMarketLaunch' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_notional']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._loaded_options = None + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*,exchange/MsgInstantBinaryOptionsMarketLaunch' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['maker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['maker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['taker_fee_rate']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['taker_fee_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['initial_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['initial_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['maintenance_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['maintenance_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_price_tick_size']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_price_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_quantity_tick_size']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_notional']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['min_notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['reduce_margin_ratio']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['reduce_margin_ratio']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['open_notional_cap']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH'].fields_by_name['open_notional_cap']._serialized_options = b'\310\336\037\000' + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._loaded_options = None + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*,exchange/MsgInstantExpiryFuturesMarketLaunch' + _globals['_MSGCREATESPOTMARKETORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATESPOTMARKETORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATESPOTMARKETORDER']._loaded_options = None + _globals['_MSGCREATESPOTMARKETORDER']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*!exchange/MsgCreateSpotMarketOrder' + _globals['_MSGCREATESPOTMARKETORDERRESPONSE'].fields_by_name['results']._loaded_options = None + _globals['_MSGCREATESPOTMARKETORDERRESPONSE'].fields_by_name['results']._serialized_options = b'\310\336\037\001' + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['quantity']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['price']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['fee']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['notional']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTMARKETORDERRESULTS']._loaded_options = None + _globals['_SPOTMARKETORDERRESULTS']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCREATEDERIVATIVELIMITORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATEDERIVATIVELIMITORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATEDERIVATIVELIMITORDER']._loaded_options = None + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*&exchange/MsgCreateDerivativeLimitOrder' + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*)exchange/MsgCreateBinaryOptionsLimitOrder' + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS'].fields_by_name['orders']._loaded_options = None + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS'].fields_by_name['orders']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._loaded_options = None + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*,exchange/MsgBatchCreateDerivativeLimitOrders' + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCANCELSPOTORDER']._loaded_options = None + _globals['_MSGCANCELSPOTORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*\033exchange/MsgCancelSpotOrder' + _globals['_MSGBATCHCANCELSPOTORDERS'].fields_by_name['data']._loaded_options = None + _globals['_MSGBATCHCANCELSPOTORDERS'].fields_by_name['data']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHCANCELSPOTORDERS']._loaded_options = None + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*!exchange/MsgBatchCancelSpotOrders' + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS'].fields_by_name['data']._loaded_options = None + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS'].fields_by_name['data']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._loaded_options = None + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260**exchange/MsgBatchCancelBinaryOptionsOrders' + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_orders_to_cancel']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_orders_to_cancel']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_orders_to_cancel']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_orders_to_cancel']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_orders_to_cancel']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_orders_to_cancel']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_market_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['spot_market_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_market_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['derivative_market_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_market_orders_to_create']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS'].fields_by_name['binary_options_market_orders_to_create']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHUPDATEORDERS']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERS']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*\035exchange/MsgBatchUpdateOrders' + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCREATEDERIVATIVEMARKETORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATEDERIVATIVEMARKETORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._loaded_options = None + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgCreateDerivativeMarketOrder' + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE'].fields_by_name['results']._loaded_options = None + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE'].fields_by_name['results']._serialized_options = b'\310\336\037\001' + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['quantity']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['price']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['fee']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['position_delta']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['position_delta']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['payout']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS'].fields_by_name['payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVEMARKETORDERRESULTS']._loaded_options = None + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER'].fields_by_name['order']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260**exchange/MsgCreateBinaryOptionsMarketOrder' + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE'].fields_by_name['results']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE'].fields_by_name['results']._serialized_options = b'\310\336\037\001' + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._loaded_options = None + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGCANCELDERIVATIVEORDER']._loaded_options = None + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*!exchange/MsgCancelDerivativeOrder' + _globals['_MSGCANCELBINARYOPTIONSORDER']._loaded_options = None + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*$exchange/MsgCancelBinaryOptionsOrder' + _globals['_MSGBATCHCANCELDERIVATIVEORDERS'].fields_by_name['data']._loaded_options = None + _globals['_MSGBATCHCANCELDERIVATIVEORDERS'].fields_by_name['data']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._loaded_options = None + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_options = b'\210\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgBatchCancelDerivativeOrders' + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._loaded_options = None + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000' + _globals['_MSGSUBACCOUNTTRANSFER'].fields_by_name['amount']._loaded_options = None + _globals['_MSGSUBACCOUNTTRANSFER'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_MSGSUBACCOUNTTRANSFER']._loaded_options = None + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036exchange/MsgSubaccountTransfer' + _globals['_MSGEXTERNALTRANSFER'].fields_by_name['amount']._loaded_options = None + _globals['_MSGEXTERNALTRANSFER'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_MSGEXTERNALTRANSFER']._loaded_options = None + _globals['_MSGEXTERNALTRANSFER']._serialized_options = b'\202\347\260*\006sender\212\347\260*\034exchange/MsgExternalTransfer' + _globals['_MSGLIQUIDATEPOSITION'].fields_by_name['order']._loaded_options = None + _globals['_MSGLIQUIDATEPOSITION'].fields_by_name['order']._serialized_options = b'\310\336\037\001' + _globals['_MSGLIQUIDATEPOSITION']._loaded_options = None + _globals['_MSGLIQUIDATEPOSITION']._serialized_options = b'\202\347\260*\006sender\212\347\260*\035exchange/MsgLiquidatePosition' + _globals['_LIQUIDATEPOSITIONDATA'].fields_by_name['order']._loaded_options = None + _globals['_LIQUIDATEPOSITIONDATA'].fields_by_name['order']._serialized_options = b'\310\336\037\001' + _globals['_MSGBATCHLIQUIDATEPOSITIONS'].fields_by_name['liquidations']._loaded_options = None + _globals['_MSGBATCHLIQUIDATEPOSITIONS'].fields_by_name['liquidations']._serialized_options = b'\310\336\037\000' + _globals['_MSGBATCHLIQUIDATEPOSITIONS']._loaded_options = None + _globals['_MSGBATCHLIQUIDATEPOSITIONS']._serialized_options = b'\202\347\260*\006sender\212\347\260*#exchange/MsgBatchLiquidatePositions' + _globals['_MSGBATCHLIQUIDATEPOSITIONSRESPONSE'].fields_by_name['results']._loaded_options = None + _globals['_MSGBATCHLIQUIDATEPOSITIONSRESPONSE'].fields_by_name['results']._serialized_options = b'\310\336\037\000' + _globals['_MSGOFFSETPOSITION']._loaded_options = None + _globals['_MSGOFFSETPOSITION']._serialized_options = b'\202\347\260*\006sender\212\347\260*\032exchange/MsgOffsetPosition' + _globals['_MSGEMERGENCYSETTLEMARKET']._loaded_options = None + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_options = b'\202\347\260*\006sender\212\347\260*!exchange/MsgEmergencySettleMarket' + _globals['_MSGINCREASEPOSITIONMARGIN'].fields_by_name['amount']._loaded_options = None + _globals['_MSGINCREASEPOSITIONMARGIN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGINCREASEPOSITIONMARGIN']._loaded_options = None + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_options = b'\202\347\260*\006sender\212\347\260*\"exchange/MsgIncreasePositionMargin' + _globals['_MSGDECREASEPOSITIONMARGIN'].fields_by_name['amount']._loaded_options = None + _globals['_MSGDECREASEPOSITIONMARGIN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGDECREASEPOSITIONMARGIN']._loaded_options = None + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_options = b'\202\347\260*\006sender\212\347\260*\"exchange/MsgDecreasePositionMargin' + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._loaded_options = None + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*%exchange/MsgPrivilegedExecuteContract' + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE'].fields_by_name['funds_diff']._loaded_options = None + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE'].fields_by_name['funds_diff']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._loaded_options = None + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender' + _globals['_MSGREWARDSOPTOUT']._loaded_options = None + _globals['_MSGREWARDSOPTOUT']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\031exchange/MsgRewardsOptOut' + _globals['_MSGRECLAIMLOCKEDFUNDS']._loaded_options = None + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036exchange/MsgReclaimLockedFunds' + _globals['_MSGSIGNDATA'].fields_by_name['Signer']._loaded_options = None + _globals['_MSGSIGNDATA'].fields_by_name['Signer']._serialized_options = b'\352\336\037\006signer\372\336\037-github.com/cosmos/cosmos-sdk/types.AccAddress' + _globals['_MSGSIGNDATA'].fields_by_name['Data']._loaded_options = None + _globals['_MSGSIGNDATA'].fields_by_name['Data']._serialized_options = b'\352\336\037\004data' + _globals['_MSGSIGNDOC'].fields_by_name['sign_type']._loaded_options = None + _globals['_MSGSIGNDOC'].fields_by_name['sign_type']._serialized_options = b'\352\336\037\004type' + _globals['_MSGSIGNDOC'].fields_by_name['value']._loaded_options = None + _globals['_MSGSIGNDOC'].fields_by_name['value']._serialized_options = b'\310\336\037\000' + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET'].fields_by_name['settlement_price']._loaded_options = None + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET'].fields_by_name['settlement_price']._serialized_options = b'\310\336\037\001\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._loaded_options = None + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_options = b'\202\347\260*\006sender\212\347\260**exchange/MsgAdminUpdateBinaryOptionsMarket' + _globals['_MSGAUTHORIZESTAKEGRANTS']._loaded_options = None + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_options = b'\202\347\260*\006sender\212\347\260* exchange/MsgAuthorizeStakeGrants' + _globals['_MSGACTIVATESTAKEGRANT']._loaded_options = None + _globals['_MSGACTIVATESTAKEGRANT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036exchange/MsgActivateStakeGrant' + _globals['_MSGBATCHEXCHANGEMODIFICATION']._loaded_options = None + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*%exchange/MsgBatchExchangeModification' + _globals['_MSGSPOTMARKETLAUNCH']._loaded_options = None + _globals['_MSGSPOTMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\034exchange/MsgSpotMarketLaunch' + _globals['_MSGPERPETUALMARKETLAUNCH']._loaded_options = None + _globals['_MSGPERPETUALMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*!exchange/MsgPerpetualMarketLaunch' + _globals['_MSGEXPIRYFUTURESMARKETLAUNCH']._loaded_options = None + _globals['_MSGEXPIRYFUTURESMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*%exchange/MsgExpiryFuturesMarketLaunch' + _globals['_MSGBINARYOPTIONSMARKETLAUNCH']._loaded_options = None + _globals['_MSGBINARYOPTIONSMARKETLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*%exchange/MsgBinaryOptionsMarketLaunch' + _globals['_MSGBATCHCOMMUNITYPOOLSPEND']._loaded_options = None + _globals['_MSGBATCHCOMMUNITYPOOLSPEND']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*#exchange/MsgBatchCommunityPoolSpend' + _globals['_MSGSPOTMARKETPARAMUPDATE']._loaded_options = None + _globals['_MSGSPOTMARKETPARAMUPDATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*!exchange/MsgSpotMarketParamUpdate' + _globals['_MSGDERIVATIVEMARKETPARAMUPDATE']._loaded_options = None + _globals['_MSGDERIVATIVEMARKETPARAMUPDATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgDerivativeMarketParamUpdate' + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATE']._loaded_options = None + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260**exchange/MsgBinaryOptionsMarketParamUpdate' + _globals['_MSGMARKETFORCEDSETTLEMENT']._loaded_options = None + _globals['_MSGMARKETFORCEDSETTLEMENT']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\"exchange/MsgMarketForcedSettlement' + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCH']._loaded_options = None + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCH']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgTradingRewardCampaignLaunch' + _globals['_MSGEXCHANGEENABLE']._loaded_options = None + _globals['_MSGEXCHANGEENABLE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\032exchange/MsgExchangeEnable' + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATE']._loaded_options = None + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\'exchange/MsgTradingRewardCampaignUpdate' + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATE']._loaded_options = None + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*,exchange/MsgTradingRewardPendingPointsUpdate' + _globals['_MSGFEEDISCOUNT']._loaded_options = None + _globals['_MSGFEEDISCOUNT']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\027exchange/MsgFeeDiscount' + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULE']._loaded_options = None + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*2exchange/MsgAtomicMarketOrderFeeMultiplierSchedule' + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERS']._loaded_options = None + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERS']._serialized_options = b'\202\347\260*\006sender\212\347\260**exchange/MsgSetDelegationTransferReceivers' + _globals['_MSGCANCELPOSTONLYMODE']._loaded_options = None + _globals['_MSGCANCELPOSTONLYMODE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036exchange/MsgCancelPostOnlyMode' + _globals['_MSGACTIVATEPOSTONLYMODE']._loaded_options = None + _globals['_MSGACTIVATEPOSTONLYMODE']._serialized_options = b'\202\347\260*\006sender\212\347\260* exchange/MsgActivatePostOnlyMode' + _globals['_MSGLIQUIDATECROSSMARGINPOOL']._loaded_options = None + _globals['_MSGLIQUIDATECROSSMARGINPOOL']._serialized_options = b'\202\347\260*\006sender\212\347\260*$exchange/MsgLiquidateCrossMarginPool' + _globals['_MSG']._loaded_options = None + _globals['_MSG']._serialized_options = b'\200\347\260*\001' + _globals['_MSGUPDATESPOTMARKET']._serialized_start=417 + _globals['_MSGUPDATESPOTMARKET']._serialized_end=836 + _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_start=838 + _globals['_MSGUPDATESPOTMARKETRESPONSE']._serialized_end=867 + _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_start=870 + _globals['_MSGUPDATEDERIVATIVEMARKET']._serialized_end=1795 + _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_start=1797 + _globals['_MSGUPDATEDERIVATIVEMARKETRESPONSE']._serialized_end=1832 + _globals['_MSGUPDATEPARAMS']._serialized_start=1835 + _globals['_MSGUPDATEPARAMS']._serialized_end=2014 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2016 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2041 + _globals['_MSGDEPOSIT']._serialized_start=2044 + _globals['_MSGDEPOSIT']._serialized_end=2219 + _globals['_MSGDEPOSITRESPONSE']._serialized_start=2221 + _globals['_MSGDEPOSITRESPONSE']._serialized_end=2241 + _globals['_MSGWITHDRAW']._serialized_start=2244 + _globals['_MSGWITHDRAW']._serialized_end=2421 + _globals['_MSGWITHDRAWRESPONSE']._serialized_start=2423 + _globals['_MSGWITHDRAWRESPONSE']._serialized_end=2444 + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE']._serialized_start=2447 + _globals['_MSGUPDATESUBACCOUNTRISKPROFILE']._serialized_end=2692 + _globals['_MSGUPDATESUBACCOUNTRISKPROFILERESPONSE']._serialized_start=2694 + _globals['_MSGUPDATESUBACCOUNTRISKPROFILERESPONSE']._serialized_end=2734 + _globals['_MSGCREATESPOTLIMITORDER']._serialized_start=2737 + _globals['_MSGCREATESPOTLIMITORDER']._serialized_end=2906 + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_start=2908 + _globals['_MSGCREATESPOTLIMITORDERRESPONSE']._serialized_end=3000 + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_start=3003 + _globals['_MSGBATCHCREATESPOTLIMITORDERS']._serialized_end=3186 + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_start=3189 + _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_end=3367 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_start=3370 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3893 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3895 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3931 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3934 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=5106 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=5108 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=5149 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=5152 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=6147 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=6149 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=6194 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=6197 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=7401 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=7403 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=7448 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=7451 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=7622 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=7625 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=7797 + _globals['_SPOTMARKETORDERRESULTS']._serialized_start=7800 + _globals['_SPOTMARKETORDERRESULTS']._serialized_end=8078 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=8081 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=8264 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=8266 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=8364 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=8367 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=8556 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=8558 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=8659 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=8662 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=8859 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=8862 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=9046 + _globals['_MSGCANCELSPOTORDER']._serialized_start=9049 + _globals['_MSGCANCELSPOTORDER']._serialized_end=9257 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=9259 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=9287 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=9290 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=9455 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=9457 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=9527 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=9530 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=9713 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=9715 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=9794 + _globals['_MSGBATCHUPDATEORDERS']._serialized_start=9797 + _globals['_MSGBATCHUPDATEORDERS']._serialized_end=11132 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=11135 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=12589 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=12592 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=12777 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=12780 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=12964 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=12967 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=13330 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=13333 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=13524 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=13527 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=13714 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=13717 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=13968 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=13970 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=14004 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=14007 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=14264 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=14266 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=14303 + _globals['_ORDERDATA']._serialized_start=14306 + _globals['_ORDERDATA']._serialized_end=14463 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=14466 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=14643 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=14645 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=14721 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=14724 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=14986 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=14988 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=15019 + _globals['_MSGEXTERNALTRANSFER']._serialized_start=15022 + _globals['_MSGEXTERNALTRANSFER']._serialized_end=15280 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=15282 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=15311 + _globals['_MSGLIQUIDATEPOSITION']._serialized_start=15314 + _globals['_MSGLIQUIDATEPOSITION']._serialized_end=15541 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=15543 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=15573 + _globals['_LIQUIDATEPOSITIONDATA']._serialized_start=15576 + _globals['_LIQUIDATEPOSITIONDATA']._serialized_end=15733 + _globals['_MSGBATCHLIQUIDATEPOSITIONS']._serialized_start=15736 + _globals['_MSGBATCHLIQUIDATEPOSITIONS']._serialized_end=15929 + _globals['_LIQUIDATEPOSITIONRESULT']._serialized_start=15932 + _globals['_LIQUIDATEPOSITIONRESULT']._serialized_end=16071 + _globals['_MSGBATCHLIQUIDATEPOSITIONSRESPONSE']._serialized_start=16073 + _globals['_MSGBATCHLIQUIDATEPOSITIONSRESPONSE']._serialized_end=16189 + _globals['_MSGOFFSETPOSITION']._serialized_start=16192 + _globals['_MSGOFFSETPOSITION']._serialized_end=16405 + _globals['_MSGOFFSETPOSITIONRESPONSE']._serialized_start=16407 + _globals['_MSGOFFSETPOSITIONRESPONSE']._serialized_end=16434 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=16437 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=16604 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=16606 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=16640 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=16643 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=16946 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=16948 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=16983 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=16986 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=17289 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=17291 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=17326 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=17329 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=17531 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=17534 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=17701 + _globals['_MSGREWARDSOPTOUT']._serialized_start=17703 + _globals['_MSGREWARDSOPTOUT']._serialized_end=17796 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=17798 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=17824 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=17827 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=18002 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=18004 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=18035 + _globals['_MSGSIGNDATA']._serialized_start=18038 + _globals['_MSGSIGNDATA']._serialized_end=18166 + _globals['_MSGSIGNDOC']._serialized_start=18168 + _globals['_MSGSIGNDOC']._serialized_end=18283 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=18286 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=18677 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=18679 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=18722 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=18725 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=18891 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=18893 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=18926 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=18928 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=19049 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=19051 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=19082 + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_start=19085 + _globals['_MSGBATCHEXCHANGEMODIFICATION']._serialized_end=19288 + _globals['_MSGBATCHEXCHANGEMODIFICATIONRESPONSE']._serialized_start=19290 + _globals['_MSGBATCHEXCHANGEMODIFICATIONRESPONSE']._serialized_end=19328 + _globals['_MSGSPOTMARKETLAUNCH']._serialized_start=19331 + _globals['_MSGSPOTMARKETLAUNCH']._serialized_end=19507 + _globals['_MSGSPOTMARKETLAUNCHRESPONSE']._serialized_start=19509 + _globals['_MSGSPOTMARKETLAUNCHRESPONSE']._serialized_end=19538 + _globals['_MSGPERPETUALMARKETLAUNCH']._serialized_start=19541 + _globals['_MSGPERPETUALMARKETLAUNCH']._serialized_end=19732 + _globals['_MSGPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=19734 + _globals['_MSGPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=19768 + _globals['_MSGEXPIRYFUTURESMARKETLAUNCH']._serialized_start=19771 + _globals['_MSGEXPIRYFUTURESMARKETLAUNCH']._serialized_end=19974 + _globals['_MSGEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=19976 + _globals['_MSGEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=20014 + _globals['_MSGBINARYOPTIONSMARKETLAUNCH']._serialized_start=20017 + _globals['_MSGBINARYOPTIONSMARKETLAUNCH']._serialized_end=20220 + _globals['_MSGBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=20222 + _globals['_MSGBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=20260 + _globals['_MSGBATCHCOMMUNITYPOOLSPEND']._serialized_start=20263 + _globals['_MSGBATCHCOMMUNITYPOOLSPEND']._serialized_end=20460 + _globals['_MSGBATCHCOMMUNITYPOOLSPENDRESPONSE']._serialized_start=20462 + _globals['_MSGBATCHCOMMUNITYPOOLSPENDRESPONSE']._serialized_end=20498 + _globals['_MSGSPOTMARKETPARAMUPDATE']._serialized_start=20501 + _globals['_MSGSPOTMARKETPARAMUPDATE']._serialized_end=20692 + _globals['_MSGSPOTMARKETPARAMUPDATERESPONSE']._serialized_start=20694 + _globals['_MSGSPOTMARKETPARAMUPDATERESPONSE']._serialized_end=20728 + _globals['_MSGDERIVATIVEMARKETPARAMUPDATE']._serialized_start=20731 + _globals['_MSGDERIVATIVEMARKETPARAMUPDATE']._serialized_end=20940 + _globals['_MSGDERIVATIVEMARKETPARAMUPDATERESPONSE']._serialized_start=20942 + _globals['_MSGDERIVATIVEMARKETPARAMUPDATERESPONSE']._serialized_end=20982 + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATE']._serialized_start=20985 + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATE']._serialized_end=21203 + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATERESPONSE']._serialized_start=21205 + _globals['_MSGBINARYOPTIONSMARKETPARAMUPDATERESPONSE']._serialized_end=21248 + _globals['_MSGMARKETFORCEDSETTLEMENT']._serialized_start=21251 + _globals['_MSGMARKETFORCEDSETTLEMENT']._serialized_end=21445 + _globals['_MSGMARKETFORCEDSETTLEMENTRESPONSE']._serialized_start=21447 + _globals['_MSGMARKETFORCEDSETTLEMENTRESPONSE']._serialized_end=21482 + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCH']._serialized_start=21485 + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCH']._serialized_end=21694 + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCHRESPONSE']._serialized_start=21696 + _globals['_MSGTRADINGREWARDCAMPAIGNLAUNCHRESPONSE']._serialized_end=21736 + _globals['_MSGEXCHANGEENABLE']._serialized_start=21739 + _globals['_MSGEXCHANGEENABLE']._serialized_end=21909 + _globals['_MSGEXCHANGEENABLERESPONSE']._serialized_start=21911 + _globals['_MSGEXCHANGEENABLERESPONSE']._serialized_end=21938 + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATE']._serialized_start=21941 + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATE']._serialized_end=22150 + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATERESPONSE']._serialized_start=22152 + _globals['_MSGTRADINGREWARDCAMPAIGNUPDATERESPONSE']._serialized_end=22192 + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATE']._serialized_start=22195 + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATE']._serialized_end=22419 + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATERESPONSE']._serialized_start=22421 + _globals['_MSGTRADINGREWARDPENDINGPOINTSUPDATERESPONSE']._serialized_end=22466 + _globals['_MSGFEEDISCOUNT']._serialized_start=22469 + _globals['_MSGFEEDISCOUNT']._serialized_end=22630 + _globals['_MSGFEEDISCOUNTRESPONSE']._serialized_start=22632 + _globals['_MSGFEEDISCOUNTRESPONSE']._serialized_end=22656 + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULE']._serialized_start=22659 + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULE']._serialized_end=22901 + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULERESPONSE']._serialized_start=22903 + _globals['_MSGATOMICMARKETORDERFEEMULTIPLIERSCHEDULERESPONSE']._serialized_end=22954 + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERS']._serialized_start=22957 + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERS']._serialized_end=23106 + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERSRESPONSE']._serialized_start=23108 + _globals['_MSGSETDELEGATIONTRANSFERRECEIVERSRESPONSE']._serialized_end=23151 + _globals['_MSGCANCELPOSTONLYMODE']._serialized_start=23153 + _globals['_MSGCANCELPOSTONLYMODE']._serialized_end=23248 + _globals['_MSGCANCELPOSTONLYMODERESPONSE']._serialized_start=23250 + _globals['_MSGCANCELPOSTONLYMODERESPONSE']._serialized_end=23281 + _globals['_MSGACTIVATEPOSTONLYMODE']._serialized_start=23284 + _globals['_MSGACTIVATEPOSTONLYMODE']._serialized_end=23420 + _globals['_MSGACTIVATEPOSTONLYMODERESPONSE']._serialized_start=23422 + _globals['_MSGACTIVATEPOSTONLYMODERESPONSE']._serialized_end=23455 + _globals['_MSGLIQUIDATECROSSMARGINPOOL']._serialized_start=23458 + _globals['_MSGLIQUIDATECROSSMARGINPOOL']._serialized_end=23635 + _globals['_MSGLIQUIDATECROSSMARGINPOOLRESPONSE']._serialized_start=23637 + _globals['_MSGLIQUIDATECROSSMARGINPOOLRESPONSE']._serialized_end=23674 + _globals['_MSG']._serialized_start=23677 + _globals['_MSG']._serialized_end=31602 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v2/tx_pb2_grpc.py b/pyinjective/proto/injective/exchange/v2/tx_pb2_grpc.py new file mode 100644 index 00000000..1e46d2fd --- /dev/null +++ b/pyinjective/proto/injective/exchange/v2/tx_pb2_grpc.py @@ -0,0 +1,2596 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.exchange.v2 import tx_pb2 as injective_dot_exchange_dot_v2_dot_tx__pb2 + + +class MsgStub(object): + """Msg defines the exchange Msg service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Deposit = channel.unary_unary( + '/injective.exchange.v2.Msg/Deposit', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDeposit.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDepositResponse.FromString, + _registered_method=True) + self.Withdraw = channel.unary_unary( + '/injective.exchange.v2.Msg/Withdraw', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdraw.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdrawResponse.FromString, + _registered_method=True) + self.InstantSpotMarketLaunch = channel.unary_unary( + '/injective.exchange.v2.Msg/InstantSpotMarketLaunch', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.FromString, + _registered_method=True) + self.InstantPerpetualMarketLaunch = channel.unary_unary( + '/injective.exchange.v2.Msg/InstantPerpetualMarketLaunch', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString, + _registered_method=True) + self.InstantExpiryFuturesMarketLaunch = channel.unary_unary( + '/injective.exchange.v2.Msg/InstantExpiryFuturesMarketLaunch', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString, + _registered_method=True) + self.CreateSpotLimitOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateSpotLimitOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.FromString, + _registered_method=True) + self.BatchCreateSpotLimitOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchCreateSpotLimitOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.FromString, + _registered_method=True) + self.CreateSpotMarketOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateSpotMarketOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.FromString, + _registered_method=True) + self.CancelSpotOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CancelSpotOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrderResponse.FromString, + _registered_method=True) + self.BatchCancelSpotOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchCancelSpotOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.FromString, + _registered_method=True) + self.BatchUpdateOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchUpdateOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrdersResponse.FromString, + _registered_method=True) + self.PrivilegedExecuteContract = channel.unary_unary( + '/injective.exchange.v2.Msg/PrivilegedExecuteContract', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContract.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.FromString, + _registered_method=True) + self.CreateDerivativeLimitOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateDerivativeLimitOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.FromString, + _registered_method=True) + self.BatchCreateDerivativeLimitOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchCreateDerivativeLimitOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.FromString, + _registered_method=True) + self.CreateDerivativeMarketOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateDerivativeMarketOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.FromString, + _registered_method=True) + self.CancelDerivativeOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CancelDerivativeOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrderResponse.FromString, + _registered_method=True) + self.BatchCancelDerivativeOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchCancelDerivativeOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.FromString, + _registered_method=True) + self.InstantBinaryOptionsMarketLaunch = channel.unary_unary( + '/injective.exchange.v2.Msg/InstantBinaryOptionsMarketLaunch', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.FromString, + _registered_method=True) + self.CreateBinaryOptionsLimitOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateBinaryOptionsLimitOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.FromString, + _registered_method=True) + self.CreateBinaryOptionsMarketOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CreateBinaryOptionsMarketOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.FromString, + _registered_method=True) + self.CancelBinaryOptionsOrder = channel.unary_unary( + '/injective.exchange.v2.Msg/CancelBinaryOptionsOrder', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrder.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.FromString, + _registered_method=True) + self.BatchCancelBinaryOptionsOrders = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchCancelBinaryOptionsOrders', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.FromString, + _registered_method=True) + self.SubaccountTransfer = channel.unary_unary( + '/injective.exchange.v2.Msg/SubaccountTransfer', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransfer.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransferResponse.FromString, + _registered_method=True) + self.ExternalTransfer = channel.unary_unary( + '/injective.exchange.v2.Msg/ExternalTransfer', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransfer.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransferResponse.FromString, + _registered_method=True) + self.LiquidatePosition = channel.unary_unary( + '/injective.exchange.v2.Msg/LiquidatePosition', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePosition.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePositionResponse.FromString, + _registered_method=True) + self.BatchLiquidatePositions = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchLiquidatePositions', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositions.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositionsResponse.FromString, + _registered_method=True) + self.EmergencySettleMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/EmergencySettleMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarket.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarketResponse.FromString, + _registered_method=True) + self.OffsetPosition = channel.unary_unary( + '/injective.exchange.v2.Msg/OffsetPosition', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPosition.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPositionResponse.FromString, + _registered_method=True) + self.IncreasePositionMargin = channel.unary_unary( + '/injective.exchange.v2.Msg/IncreasePositionMargin', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMargin.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMarginResponse.FromString, + _registered_method=True) + self.DecreasePositionMargin = channel.unary_unary( + '/injective.exchange.v2.Msg/DecreasePositionMargin', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMargin.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMarginResponse.FromString, + _registered_method=True) + self.RewardsOptOut = channel.unary_unary( + '/injective.exchange.v2.Msg/RewardsOptOut', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOut.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOutResponse.FromString, + _registered_method=True) + self.AdminUpdateBinaryOptionsMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/AdminUpdateBinaryOptionsMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.FromString, + _registered_method=True) + self.UpdateParams = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateParams', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParams.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + _registered_method=True) + self.UpdateSpotMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateSpotMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarket.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarketResponse.FromString, + _registered_method=True) + self.UpdateDerivativeMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateDerivativeMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarket.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarketResponse.FromString, + _registered_method=True) + self.AuthorizeStakeGrants = channel.unary_unary( + '/injective.exchange.v2.Msg/AuthorizeStakeGrants', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrants.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrantsResponse.FromString, + _registered_method=True) + self.ActivateStakeGrant = channel.unary_unary( + '/injective.exchange.v2.Msg/ActivateStakeGrant', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrant.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrantResponse.FromString, + _registered_method=True) + self.BatchExchangeModification = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchExchangeModification', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModification.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModificationResponse.FromString, + _registered_method=True) + self.LaunchSpotMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/LaunchSpotMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunchResponse.FromString, + _registered_method=True) + self.LaunchPerpetualMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/LaunchPerpetualMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunchResponse.FromString, + _registered_method=True) + self.LaunchExpiryFuturesMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/LaunchExpiryFuturesMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunchResponse.FromString, + _registered_method=True) + self.LaunchBinaryOptionsMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/LaunchBinaryOptionsMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunchResponse.FromString, + _registered_method=True) + self.BatchSpendCommunityPool = channel.unary_unary( + '/injective.exchange.v2.Msg/BatchSpendCommunityPool', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpend.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpendResponse.FromString, + _registered_method=True) + self.SpotMarketParamUpdate = channel.unary_unary( + '/injective.exchange.v2.Msg/SpotMarketParamUpdate', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdate.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdateResponse.FromString, + _registered_method=True) + self.DerivativeMarketParamUpdate = channel.unary_unary( + '/injective.exchange.v2.Msg/DerivativeMarketParamUpdate', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdate.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdateResponse.FromString, + _registered_method=True) + self.BinaryOptionsMarketParamUpdate = channel.unary_unary( + '/injective.exchange.v2.Msg/BinaryOptionsMarketParamUpdate', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdate.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdateResponse.FromString, + _registered_method=True) + self.ForceSettleMarket = channel.unary_unary( + '/injective.exchange.v2.Msg/ForceSettleMarket', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlement.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlementResponse.FromString, + _registered_method=True) + self.LaunchTradingRewardCampaign = channel.unary_unary( + '/injective.exchange.v2.Msg/LaunchTradingRewardCampaign', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunch.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunchResponse.FromString, + _registered_method=True) + self.EnableExchange = channel.unary_unary( + '/injective.exchange.v2.Msg/EnableExchange', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnable.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnableResponse.FromString, + _registered_method=True) + self.UpdateTradingRewardCampaign = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateTradingRewardCampaign', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdate.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdateResponse.FromString, + _registered_method=True) + self.UpdateTradingRewardPendingPoints = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateTradingRewardPendingPoints', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdate.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdateResponse.FromString, + _registered_method=True) + self.UpdateFeeDiscount = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateFeeDiscount', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscount.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscountResponse.FromString, + _registered_method=True) + self.UpdateAtomicMarketOrderFeeMultiplierSchedule = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateAtomicMarketOrderFeeMultiplierSchedule', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierSchedule.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierScheduleResponse.FromString, + _registered_method=True) + self.SetDelegationTransferReceivers = channel.unary_unary( + '/injective.exchange.v2.Msg/SetDelegationTransferReceivers', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceivers.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceiversResponse.FromString, + _registered_method=True) + self.CancelPostOnlyMode = channel.unary_unary( + '/injective.exchange.v2.Msg/CancelPostOnlyMode', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyMode.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyModeResponse.FromString, + _registered_method=True) + self.ActivatePostOnlyMode = channel.unary_unary( + '/injective.exchange.v2.Msg/ActivatePostOnlyMode', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyMode.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyModeResponse.FromString, + _registered_method=True) + self.LiquidateCrossMarginPool = channel.unary_unary( + '/injective.exchange.v2.Msg/LiquidateCrossMarginPool', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPool.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPoolResponse.FromString, + _registered_method=True) + self.UpdateSubaccountRiskProfile = channel.unary_unary( + '/injective.exchange.v2.Msg/UpdateSubaccountRiskProfile', + request_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfile.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfileResponse.FromString, + _registered_method=True) + + +class MsgServicer(object): + """Msg defines the exchange Msg service. + """ + + def Deposit(self, request, context): + """Deposit defines a method for transferring coins from the sender's bank + balance into the subaccount's exchange deposits + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Withdraw(self, request, context): + """Withdraw defines a method for withdrawing coins from a subaccount's + deposits to the user's bank balance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InstantSpotMarketLaunch(self, request, context): + """InstantSpotMarketLaunch defines method for creating a spot market by paying + listing fee without governance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InstantPerpetualMarketLaunch(self, request, context): + """InstantPerpetualMarketLaunch defines a method for creating a new perpetual + futures market by paying listing fee without governance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InstantExpiryFuturesMarketLaunch(self, request, context): + """InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry + futures market by paying listing fee without governance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateSpotLimitOrder(self, request, context): + """CreateSpotLimitOrder defines a method for creating a new spot limit order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchCreateSpotLimitOrders(self, request, context): + """BatchCreateSpotLimitOrder defines a method for creating a new batch of spot + limit orders. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateSpotMarketOrder(self, request, context): + """CreateSpotMarketOrder defines a method for creating a new spot market + order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CancelSpotOrder(self, request, context): + """MsgCancelSpotOrder defines a method for cancelling a spot order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchCancelSpotOrders(self, request, context): + """BatchCancelSpotOrders defines a method for cancelling a batch of spot + orders in a given market. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchUpdateOrders(self, request, context): + """BatchUpdateOrders defines a method for updating a batch of orders. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PrivilegedExecuteContract(self, request, context): + """PrivilegedExecuteContract defines a method for executing a Cosmwasm + contract from the exchange module with privileged capabilities. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateDerivativeLimitOrder(self, request, context): + """CreateDerivativeLimitOrder defines a method for creating a new derivative + limit order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchCreateDerivativeLimitOrders(self, request, context): + """BatchCreateDerivativeLimitOrders defines a method for creating a new batch + of derivative limit orders. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateDerivativeMarketOrder(self, request, context): + """MsgCreateDerivativeLimitOrder defines a method for creating a new + derivative market order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CancelDerivativeOrder(self, request, context): + """MsgCancelDerivativeOrder defines a method for cancelling a derivative + order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchCancelDerivativeOrders(self, request, context): + """MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of + derivative limit orders. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InstantBinaryOptionsMarketLaunch(self, request, context): + """InstantBinaryOptionsMarketLaunch defines method for creating a binary + options market by paying listing fee without governance + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateBinaryOptionsLimitOrder(self, request, context): + """CreateBinaryOptionsLimitOrder defines a method for creating a new binary + options limit order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CreateBinaryOptionsMarketOrder(self, request, context): + """CreateBinaryOptionsMarketOrder defines a method for creating a new binary + options market order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CancelBinaryOptionsOrder(self, request, context): + """MsgCancelBinaryOptionsOrder defines a method for cancelling a binary + options order. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchCancelBinaryOptionsOrders(self, request, context): + """BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of + binary options limit orders. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubaccountTransfer(self, request, context): + """SubaccountTransfer defines a method for transfer between subaccounts + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExternalTransfer(self, request, context): + """ExternalTransfer defines a method for transfer between external accounts + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LiquidatePosition(self, request, context): + """LiquidatePosition defines a method for liquidating a position + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchLiquidatePositions(self, request, context): + """BatchLiquidatePositions defines a method for liquidating multiple positions + in a best-effort manner + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EmergencySettleMarket(self, request, context): + """EmergencySettleMarket defines a method for emergency settling a market + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OffsetPosition(self, request, context): + """OffsetPosition defines a method for offsetting a position + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def IncreasePositionMargin(self, request, context): + """IncreasePositionMargin defines a method for increasing margin of a position + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DecreasePositionMargin(self, request, context): + """DecreasePositionMargin defines a method for decreasing margin of a position + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RewardsOptOut(self, request, context): + """RewardsOptOut defines a method for opting out of rewards + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AdminUpdateBinaryOptionsMarket(self, request, context): + """AdminUpdateBinaryOptionsMarket defines method for updating a binary options + market by admin + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateParams(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateSpotMarket(self, request, context): + """UpdateSpotMarket modifies certain spot market fields (admin only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateDerivativeMarket(self, request, context): + """UpdateDerivativeMarket modifies certain derivative market fields (admin + only) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AuthorizeStakeGrants(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ActivateStakeGrant(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchExchangeModification(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LaunchSpotMarket(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LaunchPerpetualMarket(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LaunchExpiryFuturesMarket(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LaunchBinaryOptionsMarket(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchSpendCommunityPool(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SpotMarketParamUpdate(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DerivativeMarketParamUpdate(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BinaryOptionsMarketParamUpdate(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ForceSettleMarket(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LaunchTradingRewardCampaign(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EnableExchange(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateTradingRewardCampaign(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateTradingRewardPendingPoints(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateFeeDiscount(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateAtomicMarketOrderFeeMultiplierSchedule(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDelegationTransferReceivers(self, request, context): + """SetDelegationTransferReceivers adds delegation transfer receivers. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CancelPostOnlyMode(self, request, context): + """MsgCancelPostOnlyMode defines a message to turn off the post-only mode + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ActivatePostOnlyMode(self, request, context): + """MsgActivatePostOnlyMode defines a message to turn on the post-only mode for + a number of blocks + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LiquidateCrossMarginPool(self, request, context): + """LiquidateCrossMarginPool atomically closes all positions in a cross-margin + pool, netting surplus from profitable positions against deficits before + touching the insurance fund. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateSubaccountRiskProfile(self, request, context): + """UpdateSubaccountRiskProfile allows a user (subject to eligibility & safety + gates) to set the subaccount's risk profile (e.g. opt into cross-margin). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_MsgServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Deposit': grpc.unary_unary_rpc_method_handler( + servicer.Deposit, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDeposit.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDepositResponse.SerializeToString, + ), + 'Withdraw': grpc.unary_unary_rpc_method_handler( + servicer.Withdraw, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdraw.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdrawResponse.SerializeToString, + ), + 'InstantSpotMarketLaunch': grpc.unary_unary_rpc_method_handler( + servicer.InstantSpotMarketLaunch, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.SerializeToString, + ), + 'InstantPerpetualMarketLaunch': grpc.unary_unary_rpc_method_handler( + servicer.InstantPerpetualMarketLaunch, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.SerializeToString, + ), + 'InstantExpiryFuturesMarketLaunch': grpc.unary_unary_rpc_method_handler( + servicer.InstantExpiryFuturesMarketLaunch, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.SerializeToString, + ), + 'CreateSpotLimitOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateSpotLimitOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.SerializeToString, + ), + 'BatchCreateSpotLimitOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchCreateSpotLimitOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.SerializeToString, + ), + 'CreateSpotMarketOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateSpotMarketOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.SerializeToString, + ), + 'CancelSpotOrder': grpc.unary_unary_rpc_method_handler( + servicer.CancelSpotOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrderResponse.SerializeToString, + ), + 'BatchCancelSpotOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchCancelSpotOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.SerializeToString, + ), + 'BatchUpdateOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchUpdateOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrdersResponse.SerializeToString, + ), + 'PrivilegedExecuteContract': grpc.unary_unary_rpc_method_handler( + servicer.PrivilegedExecuteContract, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContract.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.SerializeToString, + ), + 'CreateDerivativeLimitOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateDerivativeLimitOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.SerializeToString, + ), + 'BatchCreateDerivativeLimitOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchCreateDerivativeLimitOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.SerializeToString, + ), + 'CreateDerivativeMarketOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateDerivativeMarketOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.SerializeToString, + ), + 'CancelDerivativeOrder': grpc.unary_unary_rpc_method_handler( + servicer.CancelDerivativeOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrderResponse.SerializeToString, + ), + 'BatchCancelDerivativeOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchCancelDerivativeOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.SerializeToString, + ), + 'InstantBinaryOptionsMarketLaunch': grpc.unary_unary_rpc_method_handler( + servicer.InstantBinaryOptionsMarketLaunch, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.SerializeToString, + ), + 'CreateBinaryOptionsLimitOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateBinaryOptionsLimitOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.SerializeToString, + ), + 'CreateBinaryOptionsMarketOrder': grpc.unary_unary_rpc_method_handler( + servicer.CreateBinaryOptionsMarketOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.SerializeToString, + ), + 'CancelBinaryOptionsOrder': grpc.unary_unary_rpc_method_handler( + servicer.CancelBinaryOptionsOrder, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrder.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.SerializeToString, + ), + 'BatchCancelBinaryOptionsOrders': grpc.unary_unary_rpc_method_handler( + servicer.BatchCancelBinaryOptionsOrders, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.SerializeToString, + ), + 'SubaccountTransfer': grpc.unary_unary_rpc_method_handler( + servicer.SubaccountTransfer, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransfer.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransferResponse.SerializeToString, + ), + 'ExternalTransfer': grpc.unary_unary_rpc_method_handler( + servicer.ExternalTransfer, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransfer.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransferResponse.SerializeToString, + ), + 'LiquidatePosition': grpc.unary_unary_rpc_method_handler( + servicer.LiquidatePosition, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePosition.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePositionResponse.SerializeToString, + ), + 'BatchLiquidatePositions': grpc.unary_unary_rpc_method_handler( + servicer.BatchLiquidatePositions, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositions.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositionsResponse.SerializeToString, + ), + 'EmergencySettleMarket': grpc.unary_unary_rpc_method_handler( + servicer.EmergencySettleMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarket.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarketResponse.SerializeToString, + ), + 'OffsetPosition': grpc.unary_unary_rpc_method_handler( + servicer.OffsetPosition, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPosition.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPositionResponse.SerializeToString, + ), + 'IncreasePositionMargin': grpc.unary_unary_rpc_method_handler( + servicer.IncreasePositionMargin, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMargin.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMarginResponse.SerializeToString, + ), + 'DecreasePositionMargin': grpc.unary_unary_rpc_method_handler( + servicer.DecreasePositionMargin, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMargin.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMarginResponse.SerializeToString, + ), + 'RewardsOptOut': grpc.unary_unary_rpc_method_handler( + servicer.RewardsOptOut, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOut.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOutResponse.SerializeToString, + ), + 'AdminUpdateBinaryOptionsMarket': grpc.unary_unary_rpc_method_handler( + servicer.AdminUpdateBinaryOptionsMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.SerializeToString, + ), + 'UpdateParams': grpc.unary_unary_rpc_method_handler( + servicer.UpdateParams, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParams.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, + ), + 'UpdateSpotMarket': grpc.unary_unary_rpc_method_handler( + servicer.UpdateSpotMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarket.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarketResponse.SerializeToString, + ), + 'UpdateDerivativeMarket': grpc.unary_unary_rpc_method_handler( + servicer.UpdateDerivativeMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarket.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarketResponse.SerializeToString, + ), + 'AuthorizeStakeGrants': grpc.unary_unary_rpc_method_handler( + servicer.AuthorizeStakeGrants, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrants.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrantsResponse.SerializeToString, + ), + 'ActivateStakeGrant': grpc.unary_unary_rpc_method_handler( + servicer.ActivateStakeGrant, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrant.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrantResponse.SerializeToString, + ), + 'BatchExchangeModification': grpc.unary_unary_rpc_method_handler( + servicer.BatchExchangeModification, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModification.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModificationResponse.SerializeToString, + ), + 'LaunchSpotMarket': grpc.unary_unary_rpc_method_handler( + servicer.LaunchSpotMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunchResponse.SerializeToString, + ), + 'LaunchPerpetualMarket': grpc.unary_unary_rpc_method_handler( + servicer.LaunchPerpetualMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunchResponse.SerializeToString, + ), + 'LaunchExpiryFuturesMarket': grpc.unary_unary_rpc_method_handler( + servicer.LaunchExpiryFuturesMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunchResponse.SerializeToString, + ), + 'LaunchBinaryOptionsMarket': grpc.unary_unary_rpc_method_handler( + servicer.LaunchBinaryOptionsMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunchResponse.SerializeToString, + ), + 'BatchSpendCommunityPool': grpc.unary_unary_rpc_method_handler( + servicer.BatchSpendCommunityPool, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpend.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpendResponse.SerializeToString, + ), + 'SpotMarketParamUpdate': grpc.unary_unary_rpc_method_handler( + servicer.SpotMarketParamUpdate, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdate.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdateResponse.SerializeToString, + ), + 'DerivativeMarketParamUpdate': grpc.unary_unary_rpc_method_handler( + servicer.DerivativeMarketParamUpdate, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdate.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdateResponse.SerializeToString, + ), + 'BinaryOptionsMarketParamUpdate': grpc.unary_unary_rpc_method_handler( + servicer.BinaryOptionsMarketParamUpdate, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdate.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdateResponse.SerializeToString, + ), + 'ForceSettleMarket': grpc.unary_unary_rpc_method_handler( + servicer.ForceSettleMarket, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlement.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlementResponse.SerializeToString, + ), + 'LaunchTradingRewardCampaign': grpc.unary_unary_rpc_method_handler( + servicer.LaunchTradingRewardCampaign, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunch.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunchResponse.SerializeToString, + ), + 'EnableExchange': grpc.unary_unary_rpc_method_handler( + servicer.EnableExchange, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnable.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnableResponse.SerializeToString, + ), + 'UpdateTradingRewardCampaign': grpc.unary_unary_rpc_method_handler( + servicer.UpdateTradingRewardCampaign, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdate.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdateResponse.SerializeToString, + ), + 'UpdateTradingRewardPendingPoints': grpc.unary_unary_rpc_method_handler( + servicer.UpdateTradingRewardPendingPoints, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdate.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdateResponse.SerializeToString, + ), + 'UpdateFeeDiscount': grpc.unary_unary_rpc_method_handler( + servicer.UpdateFeeDiscount, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscount.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscountResponse.SerializeToString, + ), + 'UpdateAtomicMarketOrderFeeMultiplierSchedule': grpc.unary_unary_rpc_method_handler( + servicer.UpdateAtomicMarketOrderFeeMultiplierSchedule, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierSchedule.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierScheduleResponse.SerializeToString, + ), + 'SetDelegationTransferReceivers': grpc.unary_unary_rpc_method_handler( + servicer.SetDelegationTransferReceivers, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceivers.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceiversResponse.SerializeToString, + ), + 'CancelPostOnlyMode': grpc.unary_unary_rpc_method_handler( + servicer.CancelPostOnlyMode, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyMode.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyModeResponse.SerializeToString, + ), + 'ActivatePostOnlyMode': grpc.unary_unary_rpc_method_handler( + servicer.ActivatePostOnlyMode, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyMode.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyModeResponse.SerializeToString, + ), + 'LiquidateCrossMarginPool': grpc.unary_unary_rpc_method_handler( + servicer.LiquidateCrossMarginPool, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPool.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPoolResponse.SerializeToString, + ), + 'UpdateSubaccountRiskProfile': grpc.unary_unary_rpc_method_handler( + servicer.UpdateSubaccountRiskProfile, + request_deserializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfile.FromString, + response_serializer=injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfileResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.exchange.v2.Msg', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.exchange.v2.Msg', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Msg(object): + """Msg defines the exchange Msg service. + """ + + @staticmethod + def Deposit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/Deposit', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDeposit.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDepositResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Withdraw(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/Withdraw', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdraw.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgWithdrawResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InstantSpotMarketLaunch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/InstantSpotMarketLaunch', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InstantPerpetualMarketLaunch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/InstantPerpetualMarketLaunch', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InstantExpiryFuturesMarketLaunch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/InstantExpiryFuturesMarketLaunch', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateSpotLimitOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateSpotLimitOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchCreateSpotLimitOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchCreateSpotLimitOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateSpotMarketOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateSpotMarketOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CancelSpotOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CancelSpotOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelSpotOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchCancelSpotOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchCancelSpotOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchUpdateOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchUpdateOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchUpdateOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def PrivilegedExecuteContract(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/PrivilegedExecuteContract', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContract.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateDerivativeLimitOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateDerivativeLimitOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchCreateDerivativeLimitOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchCreateDerivativeLimitOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateDerivativeMarketOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateDerivativeMarketOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CancelDerivativeOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CancelDerivativeOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelDerivativeOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchCancelDerivativeOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchCancelDerivativeOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def InstantBinaryOptionsMarketLaunch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/InstantBinaryOptionsMarketLaunch', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateBinaryOptionsLimitOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateBinaryOptionsLimitOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CreateBinaryOptionsMarketOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CreateBinaryOptionsMarketOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CancelBinaryOptionsOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CancelBinaryOptionsOrder', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrder.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchCancelBinaryOptionsOrders(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchCancelBinaryOptionsOrders', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SubaccountTransfer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/SubaccountTransfer', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransfer.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSubaccountTransferResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ExternalTransfer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/ExternalTransfer', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransfer.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExternalTransferResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LiquidatePosition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LiquidatePosition', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePosition.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidatePositionResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchLiquidatePositions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchLiquidatePositions', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositions.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchLiquidatePositionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EmergencySettleMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/EmergencySettleMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarket.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgEmergencySettleMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def OffsetPosition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/OffsetPosition', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPosition.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgOffsetPositionResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def IncreasePositionMargin(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/IncreasePositionMargin', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMargin.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgIncreasePositionMarginResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DecreasePositionMargin(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/DecreasePositionMargin', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMargin.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDecreasePositionMarginResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def RewardsOptOut(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/RewardsOptOut', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOut.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgRewardsOptOutResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AdminUpdateBinaryOptionsMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/AdminUpdateBinaryOptionsMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateParams(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateParams', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParams.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateSpotMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateSpotMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarket.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSpotMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateDerivativeMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateDerivativeMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarket.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateDerivativeMarketResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def AuthorizeStakeGrants(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/AuthorizeStakeGrants', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrants.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAuthorizeStakeGrantsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ActivateStakeGrant(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/ActivateStakeGrant', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrant.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivateStakeGrantResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchExchangeModification(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchExchangeModification', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModification.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchExchangeModificationResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LaunchSpotMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LaunchSpotMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LaunchPerpetualMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LaunchPerpetualMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgPerpetualMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LaunchExpiryFuturesMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LaunchExpiryFuturesMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExpiryFuturesMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LaunchBinaryOptionsMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LaunchBinaryOptionsMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BatchSpendCommunityPool(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BatchSpendCommunityPool', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpend.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBatchCommunityPoolSpendResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SpotMarketParamUpdate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/SpotMarketParamUpdate', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdate.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSpotMarketParamUpdateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def DerivativeMarketParamUpdate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/DerivativeMarketParamUpdate', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdate.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgDerivativeMarketParamUpdateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def BinaryOptionsMarketParamUpdate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/BinaryOptionsMarketParamUpdate', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdate.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgBinaryOptionsMarketParamUpdateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ForceSettleMarket(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/ForceSettleMarket', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlement.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgMarketForcedSettlementResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LaunchTradingRewardCampaign(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LaunchTradingRewardCampaign', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunch.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignLaunchResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def EnableExchange(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/EnableExchange', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnable.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgExchangeEnableResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateTradingRewardCampaign(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateTradingRewardCampaign', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdate.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardCampaignUpdateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateTradingRewardPendingPoints(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateTradingRewardPendingPoints', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdate.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgTradingRewardPendingPointsUpdateResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateFeeDiscount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateFeeDiscount', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscount.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgFeeDiscountResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateAtomicMarketOrderFeeMultiplierSchedule(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateAtomicMarketOrderFeeMultiplierSchedule', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierSchedule.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgAtomicMarketOrderFeeMultiplierScheduleResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def SetDelegationTransferReceivers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/SetDelegationTransferReceivers', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceivers.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgSetDelegationTransferReceiversResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CancelPostOnlyMode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/CancelPostOnlyMode', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyMode.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgCancelPostOnlyModeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def ActivatePostOnlyMode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/ActivatePostOnlyMode', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyMode.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgActivatePostOnlyModeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def LiquidateCrossMarginPool(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/LiquidateCrossMarginPool', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPool.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgLiquidateCrossMarginPoolResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateSubaccountRiskProfile(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v2.Msg/UpdateSubaccountRiskProfile', + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfile.SerializeToString, + injective_dot_exchange_dot_v2_dot_tx__pb2.MsgUpdateSubaccountRiskProfileResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/insurance/v1beta1/events_pb2.py b/pyinjective/proto/injective/insurance/v1beta1/events_pb2.py index e6d0bcd1..877dcf68 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/events_pb2.py +++ b/pyinjective/proto/injective/insurance/v1beta1/events_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.injective.insurance.v1beta1 import insurance_pb2 as injective_dot_insurance_dot_v1beta1_dot_insurance__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(injective/insurance/v1beta1/events.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a+injective/insurance/v1beta1/insurance.proto\"Z\n\x18\x45ventInsuranceFundUpdate\x12>\n\x04\x66und\x18\x01 \x01(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundR\x04\x66und\"e\n\x16\x45ventRequestRedemption\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleR\x08schedule\"\xa8\x01\n\x17\x45ventWithdrawRedemption\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleR\x08schedule\x12@\n\x0bredeem_coin\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\nredeemCoin\"\xc3\x01\n\x0f\x45ventUnderwrite\x12 \n\x0bunderwriter\x18\x01 \x01(\tR\x0bunderwriter\x12\x1a\n\x08marketId\x18\x02 \x01(\tR\x08marketId\x12\x39\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\x12\x37\n\x06shares\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06shares\"\x9b\x01\n\x16\x45ventInsuranceWithdraw\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_ticker\x18\x02 \x01(\tR\x0cmarketTicker\x12?\n\nwithdrawal\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\nwithdrawalB\x8d\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0b\x45ventsProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(injective/insurance/v1beta1/events.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a+injective/insurance/v1beta1/insurance.proto\"Z\n\x18\x45ventInsuranceFundUpdate\x12>\n\x04\x66und\x18\x01 \x01(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundR\x04\x66und\"e\n\x16\x45ventRequestRedemption\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleR\x08schedule\"\xa8\x01\n\x17\x45ventWithdrawRedemption\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleR\x08schedule\x12@\n\x0bredeem_coin\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\nredeemCoin\"\x8f\x01\n\x1d\x45ventWithdrawRedemptionFailed\x12K\n\x08schedule\x18\x01 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleR\x08schedule\x12!\n\x0cwithdraw_err\x18\x02 \x01(\tR\x0bwithdrawErr\"\xc3\x01\n\x0f\x45ventUnderwrite\x12 \n\x0bunderwriter\x18\x01 \x01(\tR\x0bunderwriter\x12\x1a\n\x08marketId\x18\x02 \x01(\tR\x08marketId\x12\x39\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\x12\x37\n\x06shares\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06shares\"\x9b\x01\n\x16\x45ventInsuranceWithdraw\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rmarket_ticker\x18\x02 \x01(\tR\x0cmarketTicker\x12?\n\nwithdrawal\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\nwithdrawal\"\x8b\x01\n\x0f\x45ventSetVoucher\x12\x12\n\x04\x61\x64\x64r\x18\x01 \x01(\tR\x04\x61\x64\x64r\x12\x64\n\x07voucher\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x07voucherB\x8d\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0b\x45ventsProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,14 +33,20 @@ _globals['_EVENTUNDERWRITE'].fields_by_name['shares']._serialized_options = b'\310\336\037\000' _globals['_EVENTINSURANCEWITHDRAW'].fields_by_name['withdrawal']._loaded_options = None _globals['_EVENTINSURANCEWITHDRAW'].fields_by_name['withdrawal']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSETVOUCHER'].fields_by_name['voucher']._loaded_options = None + _globals['_EVENTSETVOUCHER'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin' _globals['_EVENTINSURANCEFUNDUPDATE']._serialized_start=172 _globals['_EVENTINSURANCEFUNDUPDATE']._serialized_end=262 _globals['_EVENTREQUESTREDEMPTION']._serialized_start=264 _globals['_EVENTREQUESTREDEMPTION']._serialized_end=365 _globals['_EVENTWITHDRAWREDEMPTION']._serialized_start=368 _globals['_EVENTWITHDRAWREDEMPTION']._serialized_end=536 - _globals['_EVENTUNDERWRITE']._serialized_start=539 - _globals['_EVENTUNDERWRITE']._serialized_end=734 - _globals['_EVENTINSURANCEWITHDRAW']._serialized_start=737 - _globals['_EVENTINSURANCEWITHDRAW']._serialized_end=892 + _globals['_EVENTWITHDRAWREDEMPTIONFAILED']._serialized_start=539 + _globals['_EVENTWITHDRAWREDEMPTIONFAILED']._serialized_end=682 + _globals['_EVENTUNDERWRITE']._serialized_start=685 + _globals['_EVENTUNDERWRITE']._serialized_end=880 + _globals['_EVENTINSURANCEWITHDRAW']._serialized_start=883 + _globals['_EVENTINSURANCEWITHDRAW']._serialized_end=1038 + _globals['_EVENTSETVOUCHER']._serialized_start=1041 + _globals['_EVENTSETVOUCHER']._serialized_end=1180 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/insurance/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/insurance/v1beta1/genesis_pb2.py index 684b7b57..05127fd8 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/insurance/v1beta1/genesis_pb2.py @@ -13,10 +13,11 @@ from pyinjective.proto.injective.insurance.v1beta1 import insurance_pb2 as injective_dot_insurance_dot_v1beta1_dot_insurance__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/insurance/v1beta1/genesis.proto\x12\x1binjective.insurance.v1beta1\x1a+injective/insurance/v1beta1/insurance.proto\x1a\x14gogoproto/gogo.proto\"\x82\x03\n\x0cGenesisState\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12Y\n\x0finsurance_funds\x18\x02 \x03(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundB\x04\xc8\xde\x1f\x00R\x0einsuranceFunds\x12\x66\n\x13redemption_schedule\x18\x03 \x03(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleB\x04\xc8\xde\x1f\x00R\x12redemptionSchedule\x12-\n\x13next_share_denom_id\x18\x04 \x01(\x04R\x10nextShareDenomId\x12=\n\x1bnext_redemption_schedule_id\x18\x05 \x01(\x04R\x18nextRedemptionScheduleIdB\x8e\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0cGenesisProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/insurance/v1beta1/genesis.proto\x12\x1binjective.insurance.v1beta1\x1a+injective/insurance/v1beta1/insurance.proto\x1a+injective/common/vouchers/v1/vouchers.proto\x1a\x14gogoproto/gogo.proto\"\x9b\x05\n\x0cGenesisState\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12Y\n\x0finsurance_funds\x18\x02 \x03(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundB\x04\xc8\xde\x1f\x00R\x0einsuranceFunds\x12\x66\n\x13redemption_schedule\x18\x03 \x03(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleB\x04\xc8\xde\x1f\x00R\x12redemptionSchedule\x12-\n\x13next_share_denom_id\x18\x04 \x01(\x04R\x10nextShareDenomId\x12=\n\x1bnext_redemption_schedule_id\x18\x05 \x01(\x04R\x18nextRedemptionScheduleId\x12{\n\x1b\x66\x61iled_redemption_schedules\x18\x06 \x03(\x0b\x32\x35.injective.insurance.v1beta1.FailedRedemptionScheduleB\x04\xc8\xde\x1f\x00R\x19\x66\x61iledRedemptionSchedules\x12J\n\"next_failed_redemption_schedule_id\x18\x07 \x01(\x04R\x1enextFailedRedemptionScheduleId\x12N\n\x08vouchers\x18\x08 \x03(\x0b\x32,.injective.common.vouchers.v1.AddressVoucherB\x04\xc8\xde\x1f\x00R\x08vouchersB\x8e\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0cGenesisProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,6 +31,10 @@ _globals['_GENESISSTATE'].fields_by_name['insurance_funds']._serialized_options = b'\310\336\037\000' _globals['_GENESISSTATE'].fields_by_name['redemption_schedule']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['redemption_schedule']._serialized_options = b'\310\336\037\000' - _globals['_GENESISSTATE']._serialized_start=142 - _globals['_GENESISSTATE']._serialized_end=528 + _globals['_GENESISSTATE'].fields_by_name['failed_redemption_schedules']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['failed_redemption_schedules']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['vouchers']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE']._serialized_start=187 + _globals['_GENESISSTATE']._serialized_end=854 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/insurance/v1beta1/insurance_pb2.py b/pyinjective/proto/injective/insurance/v1beta1/insurance_pb2.py index f62013cb..77dc7ba7 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/insurance_pb2.py +++ b/pyinjective/proto/injective/insurance/v1beta1/insurance_pb2.py @@ -17,10 +17,11 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/insurance/v1beta1/insurance.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xd7\x01\n\x06Params\x12\xb1\x01\n)default_redemption_notice_period_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB<\xc8\xde\x1f\x00\xf2\xde\x1f\x30yaml:\"default_redemption_notice_period_duration\"\x98\xdf\x1f\x01R%defaultRedemptionNoticePeriodDuration:\x19\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x10insurance/Params\"\xec\x04\n\rInsuranceFund\x12#\n\rdeposit_denom\x18\x01 \x01(\tR\x0c\x64\x65positDenom\x12;\n\x1ainsurance_pool_token_denom\x18\x02 \x01(\tR\x17insurancePoolTokenDenom\x12\x9a\x01\n!redemption_notice_period_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB4\xc8\xde\x1f\x00\xf2\xde\x1f(yaml:\"redemption_notice_period_duration\"\x98\xdf\x1f\x01R\x1eredemptionNoticePeriodDuration\x12\x37\n\x07\x62\x61lance\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07\x62\x61lance\x12>\n\x0btotal_share\x18\x05 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\ntotalShare\x12\x1b\n\tmarket_id\x18\x06 \x01(\tR\x08marketId\x12#\n\rmarket_ticker\x18\x07 \x01(\tR\x0cmarketTicker\x12\x1f\n\x0boracle_base\x18\x08 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\t \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\n \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\x0b \x01(\x03R\x06\x65xpiry\"\xb1\x02\n\x12RedemptionSchedule\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1a\n\x08marketId\x18\x02 \x01(\tR\x08marketId\x12\x1a\n\x08redeemer\x18\x03 \x01(\tR\x08redeemer\x12\x84\x01\n\x19\x63laimable_redemption_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB,\xc8\xde\x1f\x00\xf2\xde\x1f yaml:\"claimable_redemption_time\"\x90\xdf\x1f\x01R\x17\x63laimableRedemptionTime\x12L\n\x11redemption_amount\x18\x05 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x10redemptionAmountB\x90\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0eInsuranceProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/insurance/v1beta1/insurance.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a+injective/common/vouchers/v1/vouchers.proto\x1a\x11\x61mino/amino.proto\"\xd7\x01\n\x06Params\x12\xb1\x01\n)default_redemption_notice_period_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB<\xc8\xde\x1f\x00\xf2\xde\x1f\x30yaml:\"default_redemption_notice_period_duration\"\x98\xdf\x1f\x01R%defaultRedemptionNoticePeriodDuration:\x19\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x10insurance/Params\"\xec\x04\n\rInsuranceFund\x12#\n\rdeposit_denom\x18\x01 \x01(\tR\x0c\x64\x65positDenom\x12;\n\x1ainsurance_pool_token_denom\x18\x02 \x01(\tR\x17insurancePoolTokenDenom\x12\x9a\x01\n!redemption_notice_period_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB4\xc8\xde\x1f\x00\xf2\xde\x1f(yaml:\"redemption_notice_period_duration\"\x98\xdf\x1f\x01R\x1eredemptionNoticePeriodDuration\x12\x37\n\x07\x62\x61lance\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07\x62\x61lance\x12>\n\x0btotal_share\x18\x05 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\ntotalShare\x12\x1b\n\tmarket_id\x18\x06 \x01(\tR\x08marketId\x12#\n\rmarket_ticker\x18\x07 \x01(\tR\x0cmarketTicker\x12\x1f\n\x0boracle_base\x18\x08 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\t \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\n \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\x0b \x01(\x03R\x06\x65xpiry\"\xb1\x02\n\x12RedemptionSchedule\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1a\n\x08marketId\x18\x02 \x01(\tR\x08marketId\x12\x1a\n\x08redeemer\x18\x03 \x01(\tR\x08redeemer\x12\x84\x01\n\x19\x63laimable_redemption_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB,\xc8\xde\x1f\x00\xf2\xde\x1f yaml:\"claimable_redemption_time\"\x90\xdf\x1f\x01R\x17\x63laimableRedemptionTime\x12L\n\x11redemption_amount\x18\x05 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x10redemptionAmount\"\x8f\x01\n\x18\x46\x61iledRedemptionSchedule\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12Q\n\x08schedule\x18\x02 \x01(\x0b\x32/.injective.insurance.v1beta1.RedemptionScheduleB\x04\xc8\xde\x1f\x00R\x08schedule\x12\x10\n\x03\x65rr\x18\x03 \x01(\tR\x03\x65rrB\x90\x02\n\x1f\x63om.injective.insurance.v1beta1B\x0eInsuranceProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,10 +43,14 @@ _globals['_REDEMPTIONSCHEDULE'].fields_by_name['claimable_redemption_time']._serialized_options = b'\310\336\037\000\362\336\037 yaml:\"claimable_redemption_time\"\220\337\037\001' _globals['_REDEMPTIONSCHEDULE'].fields_by_name['redemption_amount']._loaded_options = None _globals['_REDEMPTIONSCHEDULE'].fields_by_name['redemption_amount']._serialized_options = b'\310\336\037\000' - _globals['_PARAMS']._serialized_start=254 - _globals['_PARAMS']._serialized_end=469 - _globals['_INSURANCEFUND']._serialized_start=472 - _globals['_INSURANCEFUND']._serialized_end=1092 - _globals['_REDEMPTIONSCHEDULE']._serialized_start=1095 - _globals['_REDEMPTIONSCHEDULE']._serialized_end=1400 + _globals['_FAILEDREDEMPTIONSCHEDULE'].fields_by_name['schedule']._loaded_options = None + _globals['_FAILEDREDEMPTIONSCHEDULE'].fields_by_name['schedule']._serialized_options = b'\310\336\037\000' + _globals['_PARAMS']._serialized_start=299 + _globals['_PARAMS']._serialized_end=514 + _globals['_INSURANCEFUND']._serialized_start=517 + _globals['_INSURANCEFUND']._serialized_end=1137 + _globals['_REDEMPTIONSCHEDULE']._serialized_start=1140 + _globals['_REDEMPTIONSCHEDULE']._serialized_end=1445 + _globals['_FAILEDREDEMPTIONSCHEDULE']._serialized_start=1448 + _globals['_FAILEDREDEMPTIONSCHEDULE']._serialized_end=1591 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/insurance/v1beta1/query_pb2.py b/pyinjective/proto/injective/insurance/v1beta1/query_pb2.py index 2562ac5a..8cdac57d 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/insurance/v1beta1/query_pb2.py @@ -14,12 +14,13 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.injective.insurance.v1beta1 import insurance_pb2 as injective_dot_insurance_dot_v1beta1_dot_insurance__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.injective.insurance.v1beta1 import genesis_pb2 as injective_dot_insurance_dot_v1beta1_dot_genesis__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/insurance/v1beta1/query.proto\x12\x1binjective.insurance.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a+injective/insurance/v1beta1/insurance.proto\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a)injective/insurance/v1beta1/genesis.proto\"\x1d\n\x1bQueryInsuranceParamsRequest\"a\n\x1cQueryInsuranceParamsResponse\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"8\n\x19QueryInsuranceFundRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\\\n\x1aQueryInsuranceFundResponse\x12>\n\x04\x66und\x18\x01 \x01(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundR\x04\x66und\"\x1c\n\x1aQueryInsuranceFundsRequest\"e\n\x1bQueryInsuranceFundsResponse\x12\x46\n\x05\x66unds\x18\x01 \x03(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundB\x04\xc8\xde\x1f\x00R\x05\x66unds\"X\n QueryEstimatedRedemptionsRequest\x12\x1a\n\x08marketId\x18\x01 \x01(\tR\x08marketId\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"\\\n!QueryEstimatedRedemptionsResponse\x12\x37\n\x06\x61mount\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"V\n\x1eQueryPendingRedemptionsRequest\x12\x1a\n\x08marketId\x18\x01 \x01(\tR\x08marketId\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"Z\n\x1fQueryPendingRedemptionsResponse\x12\x37\n\x06\x61mount\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x19\n\x17QueryModuleStateRequest\"[\n\x18QueryModuleStateResponse\x12?\n\x05state\x18\x01 \x01(\x0b\x32).injective.insurance.v1beta1.GenesisStateR\x05state2\x96\t\n\x05Query\x12\xb3\x01\n\x0fInsuranceParams\x12\x38.injective.insurance.v1beta1.QueryInsuranceParamsRequest\x1a\x39.injective.insurance.v1beta1.QueryInsuranceParamsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/injective/insurance/v1beta1/params\x12\xc1\x01\n\rInsuranceFund\x12\x36.injective.insurance.v1beta1.QueryInsuranceFundRequest\x1a\x37.injective.insurance.v1beta1.QueryInsuranceFundResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/insurance/v1beta1/insurance_fund/{market_id}\x12\xb9\x01\n\x0eInsuranceFunds\x12\x37.injective.insurance.v1beta1.QueryInsuranceFundsRequest\x1a\x38.injective.insurance.v1beta1.QueryInsuranceFundsResponse\"4\x82\xd3\xe4\x93\x02.\x12,/injective/insurance/v1beta1/insurance_funds\x12\xd1\x01\n\x14\x45stimatedRedemptions\x12=.injective.insurance.v1beta1.QueryEstimatedRedemptionsRequest\x1a>.injective.insurance.v1beta1.QueryEstimatedRedemptionsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/insurance/v1beta1/estimated_redemptions\x12\xc9\x01\n\x12PendingRedemptions\x12;.injective.insurance.v1beta1.QueryPendingRedemptionsRequest\x1a<.injective.insurance.v1beta1.QueryPendingRedemptionsResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/insurance/v1beta1/pending_redemptions\x12\xb6\x01\n\x14InsuranceModuleState\x12\x34.injective.insurance.v1beta1.QueryModuleStateRequest\x1a\x35.injective.insurance.v1beta1.QueryModuleStateResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/insurance/v1beta1/module_stateB\x8c\x02\n\x1f\x63om.injective.insurance.v1beta1B\nQueryProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/insurance/v1beta1/query.proto\x12\x1binjective.insurance.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a+injective/insurance/v1beta1/insurance.proto\x1a+injective/common/vouchers/v1/vouchers.proto\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a)injective/insurance/v1beta1/genesis.proto\"\x1d\n\x1bQueryInsuranceParamsRequest\"a\n\x1cQueryInsuranceParamsResponse\x12\x41\n\x06params\x18\x01 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"8\n\x19QueryInsuranceFundRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\\\n\x1aQueryInsuranceFundResponse\x12>\n\x04\x66und\x18\x01 \x01(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundR\x04\x66und\"\x1c\n\x1aQueryInsuranceFundsRequest\"e\n\x1bQueryInsuranceFundsResponse\x12\x46\n\x05\x66unds\x18\x01 \x03(\x0b\x32*.injective.insurance.v1beta1.InsuranceFundB\x04\xc8\xde\x1f\x00R\x05\x66unds\"X\n QueryEstimatedRedemptionsRequest\x12\x1a\n\x08marketId\x18\x01 \x01(\tR\x08marketId\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"\\\n!QueryEstimatedRedemptionsResponse\x12\x37\n\x06\x61mount\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"V\n\x1eQueryPendingRedemptionsRequest\x12\x1a\n\x08marketId\x18\x01 \x01(\tR\x08marketId\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"Z\n\x1fQueryPendingRedemptionsResponse\x12\x37\n\x06\x61mount\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x19\n\x17QueryModuleStateRequest\"[\n\x18QueryModuleStateResponse\x12?\n\x05state\x18\x01 \x01(\x0b\x32).injective.insurance.v1beta1.GenesisStateR\x05state\"\x1f\n\x1dQueryFailedRedemptionsRequest\"{\n\x1eQueryFailedRedemptionsResponse\x12Y\n\tschedules\x18\x01 \x03(\x0b\x32\x35.injective.insurance.v1beta1.FailedRedemptionScheduleB\x04\xc8\xde\x1f\x00R\tschedules\",\n\x14QueryVouchersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"g\n\x15QueryVouchersResponse\x12N\n\x08vouchers\x18\x01 \x03(\x0b\x32,.injective.common.vouchers.v1.AddressVoucherB\x04\xc8\xde\x1f\x00R\x08vouchers\"E\n\x13QueryVoucherRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"|\n\x14QueryVoucherResponse\x12\x64\n\x07voucher\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x07voucher2\xa0\r\n\x05Query\x12\xb3\x01\n\x0fInsuranceParams\x12\x38.injective.insurance.v1beta1.QueryInsuranceParamsRequest\x1a\x39.injective.insurance.v1beta1.QueryInsuranceParamsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/injective/insurance/v1beta1/params\x12\xc1\x01\n\rInsuranceFund\x12\x36.injective.insurance.v1beta1.QueryInsuranceFundRequest\x1a\x37.injective.insurance.v1beta1.QueryInsuranceFundResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/insurance/v1beta1/insurance_fund/{market_id}\x12\xb9\x01\n\x0eInsuranceFunds\x12\x37.injective.insurance.v1beta1.QueryInsuranceFundsRequest\x1a\x38.injective.insurance.v1beta1.QueryInsuranceFundsResponse\"4\x82\xd3\xe4\x93\x02.\x12,/injective/insurance/v1beta1/insurance_funds\x12\xd1\x01\n\x14\x45stimatedRedemptions\x12=.injective.insurance.v1beta1.QueryEstimatedRedemptionsRequest\x1a>.injective.insurance.v1beta1.QueryEstimatedRedemptionsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/insurance/v1beta1/estimated_redemptions\x12\xc9\x01\n\x12PendingRedemptions\x12;.injective.insurance.v1beta1.QueryPendingRedemptionsRequest\x1a<.injective.insurance.v1beta1.QueryPendingRedemptionsResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/insurance/v1beta1/pending_redemptions\x12\xb6\x01\n\x14InsuranceModuleState\x12\x34.injective.insurance.v1beta1.QueryModuleStateRequest\x1a\x35.injective.insurance.v1beta1.QueryModuleStateResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/insurance/v1beta1/module_state\x12\xc5\x01\n\x11\x46\x61iledRedemptions\x12:.injective.insurance.v1beta1.QueryFailedRedemptionsRequest\x1a;.injective.insurance.v1beta1.QueryFailedRedemptionsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/insurance/v1beta1/failed_redemptions\x12\xa0\x01\n\x08Vouchers\x12\x31.injective.insurance.v1beta1.QueryVouchersRequest\x1a\x32.injective.insurance.v1beta1.QueryVouchersResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/insurance/v1beta1/vouchers\x12\x9c\x01\n\x07Voucher\x12\x30.injective.insurance.v1beta1.QueryVoucherRequest\x1a\x31.injective.insurance.v1beta1.QueryVoucherResponse\",\x82\xd3\xe4\x93\x02&\x12$/injective/insurance/v1beta1/voucherB\x8c\x02\n\x1f\x63om.injective.insurance.v1beta1B\nQueryProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,6 +36,12 @@ _globals['_QUERYESTIMATEDREDEMPTIONSRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' _globals['_QUERYPENDINGREDEMPTIONSRESPONSE'].fields_by_name['amount']._loaded_options = None _globals['_QUERYPENDINGREDEMPTIONSRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_QUERYFAILEDREDEMPTIONSRESPONSE'].fields_by_name['schedules']._loaded_options = None + _globals['_QUERYFAILEDREDEMPTIONSRESPONSE'].fields_by_name['schedules']._serialized_options = b'\310\336\037\000' + _globals['_QUERYVOUCHERSRESPONSE'].fields_by_name['vouchers']._loaded_options = None + _globals['_QUERYVOUCHERSRESPONSE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000' + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._loaded_options = None + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin' _globals['_QUERY'].methods_by_name['InsuranceParams']._loaded_options = None _globals['_QUERY'].methods_by_name['InsuranceParams']._serialized_options = b'\202\323\344\223\002%\022#/injective/insurance/v1beta1/params' _globals['_QUERY'].methods_by_name['InsuranceFund']._loaded_options = None @@ -47,30 +54,48 @@ _globals['_QUERY'].methods_by_name['PendingRedemptions']._serialized_options = b'\202\323\344\223\0022\0220/injective/insurance/v1beta1/pending_redemptions' _globals['_QUERY'].methods_by_name['InsuranceModuleState']._loaded_options = None _globals['_QUERY'].methods_by_name['InsuranceModuleState']._serialized_options = b'\202\323\344\223\002+\022)/injective/insurance/v1beta1/module_state' - _globals['_QUERYINSURANCEPARAMSREQUEST']._serialized_start=244 - _globals['_QUERYINSURANCEPARAMSREQUEST']._serialized_end=273 - _globals['_QUERYINSURANCEPARAMSRESPONSE']._serialized_start=275 - _globals['_QUERYINSURANCEPARAMSRESPONSE']._serialized_end=372 - _globals['_QUERYINSURANCEFUNDREQUEST']._serialized_start=374 - _globals['_QUERYINSURANCEFUNDREQUEST']._serialized_end=430 - _globals['_QUERYINSURANCEFUNDRESPONSE']._serialized_start=432 - _globals['_QUERYINSURANCEFUNDRESPONSE']._serialized_end=524 - _globals['_QUERYINSURANCEFUNDSREQUEST']._serialized_start=526 - _globals['_QUERYINSURANCEFUNDSREQUEST']._serialized_end=554 - _globals['_QUERYINSURANCEFUNDSRESPONSE']._serialized_start=556 - _globals['_QUERYINSURANCEFUNDSRESPONSE']._serialized_end=657 - _globals['_QUERYESTIMATEDREDEMPTIONSREQUEST']._serialized_start=659 - _globals['_QUERYESTIMATEDREDEMPTIONSREQUEST']._serialized_end=747 - _globals['_QUERYESTIMATEDREDEMPTIONSRESPONSE']._serialized_start=749 - _globals['_QUERYESTIMATEDREDEMPTIONSRESPONSE']._serialized_end=841 - _globals['_QUERYPENDINGREDEMPTIONSREQUEST']._serialized_start=843 - _globals['_QUERYPENDINGREDEMPTIONSREQUEST']._serialized_end=929 - _globals['_QUERYPENDINGREDEMPTIONSRESPONSE']._serialized_start=931 - _globals['_QUERYPENDINGREDEMPTIONSRESPONSE']._serialized_end=1021 - _globals['_QUERYMODULESTATEREQUEST']._serialized_start=1023 - _globals['_QUERYMODULESTATEREQUEST']._serialized_end=1048 - _globals['_QUERYMODULESTATERESPONSE']._serialized_start=1050 - _globals['_QUERYMODULESTATERESPONSE']._serialized_end=1141 - _globals['_QUERY']._serialized_start=1144 - _globals['_QUERY']._serialized_end=2318 + _globals['_QUERY'].methods_by_name['FailedRedemptions']._loaded_options = None + _globals['_QUERY'].methods_by_name['FailedRedemptions']._serialized_options = b'\202\323\344\223\0021\022//injective/insurance/v1beta1/failed_redemptions' + _globals['_QUERY'].methods_by_name['Vouchers']._loaded_options = None + _globals['_QUERY'].methods_by_name['Vouchers']._serialized_options = b'\202\323\344\223\002\'\022%/injective/insurance/v1beta1/vouchers' + _globals['_QUERY'].methods_by_name['Voucher']._loaded_options = None + _globals['_QUERY'].methods_by_name['Voucher']._serialized_options = b'\202\323\344\223\002&\022$/injective/insurance/v1beta1/voucher' + _globals['_QUERYINSURANCEPARAMSREQUEST']._serialized_start=289 + _globals['_QUERYINSURANCEPARAMSREQUEST']._serialized_end=318 + _globals['_QUERYINSURANCEPARAMSRESPONSE']._serialized_start=320 + _globals['_QUERYINSURANCEPARAMSRESPONSE']._serialized_end=417 + _globals['_QUERYINSURANCEFUNDREQUEST']._serialized_start=419 + _globals['_QUERYINSURANCEFUNDREQUEST']._serialized_end=475 + _globals['_QUERYINSURANCEFUNDRESPONSE']._serialized_start=477 + _globals['_QUERYINSURANCEFUNDRESPONSE']._serialized_end=569 + _globals['_QUERYINSURANCEFUNDSREQUEST']._serialized_start=571 + _globals['_QUERYINSURANCEFUNDSREQUEST']._serialized_end=599 + _globals['_QUERYINSURANCEFUNDSRESPONSE']._serialized_start=601 + _globals['_QUERYINSURANCEFUNDSRESPONSE']._serialized_end=702 + _globals['_QUERYESTIMATEDREDEMPTIONSREQUEST']._serialized_start=704 + _globals['_QUERYESTIMATEDREDEMPTIONSREQUEST']._serialized_end=792 + _globals['_QUERYESTIMATEDREDEMPTIONSRESPONSE']._serialized_start=794 + _globals['_QUERYESTIMATEDREDEMPTIONSRESPONSE']._serialized_end=886 + _globals['_QUERYPENDINGREDEMPTIONSREQUEST']._serialized_start=888 + _globals['_QUERYPENDINGREDEMPTIONSREQUEST']._serialized_end=974 + _globals['_QUERYPENDINGREDEMPTIONSRESPONSE']._serialized_start=976 + _globals['_QUERYPENDINGREDEMPTIONSRESPONSE']._serialized_end=1066 + _globals['_QUERYMODULESTATEREQUEST']._serialized_start=1068 + _globals['_QUERYMODULESTATEREQUEST']._serialized_end=1093 + _globals['_QUERYMODULESTATERESPONSE']._serialized_start=1095 + _globals['_QUERYMODULESTATERESPONSE']._serialized_end=1186 + _globals['_QUERYFAILEDREDEMPTIONSREQUEST']._serialized_start=1188 + _globals['_QUERYFAILEDREDEMPTIONSREQUEST']._serialized_end=1219 + _globals['_QUERYFAILEDREDEMPTIONSRESPONSE']._serialized_start=1221 + _globals['_QUERYFAILEDREDEMPTIONSRESPONSE']._serialized_end=1344 + _globals['_QUERYVOUCHERSREQUEST']._serialized_start=1346 + _globals['_QUERYVOUCHERSREQUEST']._serialized_end=1390 + _globals['_QUERYVOUCHERSRESPONSE']._serialized_start=1392 + _globals['_QUERYVOUCHERSRESPONSE']._serialized_end=1495 + _globals['_QUERYVOUCHERREQUEST']._serialized_start=1497 + _globals['_QUERYVOUCHERREQUEST']._serialized_end=1566 + _globals['_QUERYVOUCHERRESPONSE']._serialized_start=1568 + _globals['_QUERYVOUCHERRESPONSE']._serialized_end=1692 + _globals['_QUERY']._serialized_start=1695 + _globals['_QUERY']._serialized_end=3391 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/insurance/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/insurance/v1beta1/query_pb2_grpc.py index 3404f464..d588a009 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/query_pb2_grpc.py +++ b/pyinjective/proto/injective/insurance/v1beta1/query_pb2_grpc.py @@ -45,6 +45,21 @@ def __init__(self, channel): request_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryModuleStateRequest.SerializeToString, response_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryModuleStateResponse.FromString, _registered_method=True) + self.FailedRedemptions = channel.unary_unary( + '/injective.insurance.v1beta1.Query/FailedRedemptions', + request_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsRequest.SerializeToString, + response_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsResponse.FromString, + _registered_method=True) + self.Vouchers = channel.unary_unary( + '/injective.insurance.v1beta1.Query/Vouchers', + request_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersRequest.SerializeToString, + response_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersResponse.FromString, + _registered_method=True) + self.Voucher = channel.unary_unary( + '/injective.insurance.v1beta1.Query/Voucher', + request_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherRequest.SerializeToString, + response_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherResponse.FromString, + _registered_method=True) class QueryServicer(object): @@ -94,6 +109,27 @@ def InsuranceModuleState(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def FailedRedemptions(self, request, context): + """Retrieves all failed redemption schedules + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Vouchers(self, request, context): + """Vouchers retrieves all outstanding vouchers; pass an empty denom to get all + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Voucher(self, request, context): + """Voucher retrieves a single voucher for a given denom and address + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_QueryServicer_to_server(servicer, server): rpc_method_handlers = { @@ -127,6 +163,21 @@ def add_QueryServicer_to_server(servicer, server): request_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryModuleStateRequest.FromString, response_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryModuleStateResponse.SerializeToString, ), + 'FailedRedemptions': grpc.unary_unary_rpc_method_handler( + servicer.FailedRedemptions, + request_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsRequest.FromString, + response_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsResponse.SerializeToString, + ), + 'Vouchers': grpc.unary_unary_rpc_method_handler( + servicer.Vouchers, + request_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersRequest.FromString, + response_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersResponse.SerializeToString, + ), + 'Voucher': grpc.unary_unary_rpc_method_handler( + servicer.Voucher, + request_deserializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherRequest.FromString, + response_serializer=injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.insurance.v1beta1.Query', rpc_method_handlers) @@ -300,3 +351,84 @@ def InsuranceModuleState(request, timeout, metadata, _registered_method=True) + + @staticmethod + def FailedRedemptions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.insurance.v1beta1.Query/FailedRedemptions', + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsRequest.SerializeToString, + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryFailedRedemptionsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Vouchers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.insurance.v1beta1.Query/Vouchers', + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersRequest.SerializeToString, + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVouchersResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Voucher(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.insurance.v1beta1.Query/Voucher', + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherRequest.SerializeToString, + injective_dot_insurance_dot_v1beta1_dot_query__pb2.QueryVoucherResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/insurance/v1beta1/tx_pb2.py b/pyinjective/proto/injective/insurance/v1beta1/tx_pb2.py index b46ec667..6fe2c3c2 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/insurance/v1beta1/tx_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/insurance/v1beta1/tx.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/insurance/v1beta1/insurance.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\x90\x03\n\x16MsgCreateInsuranceFund\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\x07 \x01(\x03R\x06\x65xpiry\x12H\n\x0finitial_deposit\x18\x08 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x0einitialDeposit:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* insurance/MsgCreateInsuranceFund\" \n\x1eMsgCreateInsuranceFundResponse\"\xb0\x01\n\rMsgUnderwrite\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x39\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit:/\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17insurance/MsgUnderwrite\"\x17\n\x15MsgUnderwriteResponse\"\xbc\x01\n\x14MsgRequestRedemption\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:6\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1einsurance/MsgRequestRedemption\"\x1e\n\x1cMsgRequestRedemptionResponse\"\xba\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x41\n\x06params\x18\x02 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:,\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x19insurance/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\xfc\x03\n\x03Msg\x12\x87\x01\n\x13\x43reateInsuranceFund\x12\x33.injective.insurance.v1beta1.MsgCreateInsuranceFund\x1a;.injective.insurance.v1beta1.MsgCreateInsuranceFundResponse\x12l\n\nUnderwrite\x12*.injective.insurance.v1beta1.MsgUnderwrite\x1a\x32.injective.insurance.v1beta1.MsgUnderwriteResponse\x12\x81\x01\n\x11RequestRedemption\x12\x31.injective.insurance.v1beta1.MsgRequestRedemption\x1a\x39.injective.insurance.v1beta1.MsgRequestRedemptionResponse\x12r\n\x0cUpdateParams\x12,.injective.insurance.v1beta1.MsgUpdateParams\x1a\x34.injective.insurance.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x89\x02\n\x1f\x63om.injective.insurance.v1beta1B\x07TxProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/insurance/v1beta1/tx.proto\x12\x1binjective.insurance.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/insurance/v1beta1/insurance.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\x90\x03\n\x16MsgCreateInsuranceFund\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\x07 \x01(\x03R\x06\x65xpiry\x12H\n\x0finitial_deposit\x18\x08 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x0einitialDeposit:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* insurance/MsgCreateInsuranceFund\" \n\x1eMsgCreateInsuranceFundResponse\"\xb0\x01\n\rMsgUnderwrite\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x39\n\x07\x64\x65posit\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit:/\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17insurance/MsgUnderwrite\"\x17\n\x15MsgUnderwriteResponse\"\xbc\x01\n\x14MsgRequestRedemption\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:6\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1einsurance/MsgRequestRedemption\"\x1e\n\x1cMsgRequestRedemptionResponse\"\xba\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x41\n\x06params\x18\x02 \x01(\x0b\x32#.injective.insurance.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:,\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x19insurance/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"r\n\x0fMsgClaimVoucher\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19insurance/MsgClaimVoucher\"\x19\n\x17MsgClaimVoucherResponse2\xf0\x04\n\x03Msg\x12\x87\x01\n\x13\x43reateInsuranceFund\x12\x33.injective.insurance.v1beta1.MsgCreateInsuranceFund\x1a;.injective.insurance.v1beta1.MsgCreateInsuranceFundResponse\x12l\n\nUnderwrite\x12*.injective.insurance.v1beta1.MsgUnderwrite\x1a\x32.injective.insurance.v1beta1.MsgUnderwriteResponse\x12\x81\x01\n\x11RequestRedemption\x12\x31.injective.insurance.v1beta1.MsgRequestRedemption\x1a\x39.injective.insurance.v1beta1.MsgRequestRedemptionResponse\x12r\n\x0cUpdateParams\x12,.injective.insurance.v1beta1.MsgUpdateParams\x1a\x34.injective.insurance.v1beta1.MsgUpdateParamsResponse\x12r\n\x0c\x43laimVoucher\x12,.injective.insurance.v1beta1.MsgClaimVoucher\x1a\x34.injective.insurance.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x89\x02\n\x1f\x63om.injective.insurance.v1beta1B\x07TxProtoP\x01ZOgithub.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types\xa2\x02\x03IIX\xaa\x02\x1bInjective.Insurance.V1beta1\xca\x02\x1bInjective\\Insurance\\V1beta1\xe2\x02\'Injective\\Insurance\\V1beta1\\GPBMetadata\xea\x02\x1dInjective::Insurance::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -47,6 +47,8 @@ _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' _globals['_MSGUPDATEPARAMS']._loaded_options = None _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\031insurance/MsgUpdateParams' + _globals['_MSGCLAIMVOUCHER']._loaded_options = None + _globals['_MSGCLAIMVOUCHER']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\031insurance/MsgClaimVoucher' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSGCREATEINSURANCEFUND']._serialized_start=279 @@ -65,6 +67,10 @@ _globals['_MSGUPDATEPARAMS']._serialized_end=1329 _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1331 _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1356 - _globals['_MSG']._serialized_start=1359 - _globals['_MSG']._serialized_end=1867 + _globals['_MSGCLAIMVOUCHER']._serialized_start=1358 + _globals['_MSGCLAIMVOUCHER']._serialized_end=1472 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=1474 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=1499 + _globals['_MSG']._serialized_start=1502 + _globals['_MSG']._serialized_end=2126 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/insurance/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/insurance/v1beta1/tx_pb2_grpc.py index b3f99501..604f3166 100644 --- a/pyinjective/proto/injective/insurance/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/insurance/v1beta1/tx_pb2_grpc.py @@ -35,6 +35,11 @@ def __init__(self, channel): request_serializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, response_deserializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, _registered_method=True) + self.ClaimVoucher = channel.unary_unary( + '/injective.insurance.v1beta1.Msg/ClaimVoucher', + request_serializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.SerializeToString, + response_deserializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.FromString, + _registered_method=True) class MsgServicer(object): @@ -70,6 +75,13 @@ def UpdateParams(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ClaimVoucher(self, request, context): + """ClaimVoucher defines a method for claiming an outstanding voucher + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_MsgServicer_to_server(servicer, server): rpc_method_handlers = { @@ -93,6 +105,11 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, response_serializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, ), + 'ClaimVoucher': grpc.unary_unary_rpc_method_handler( + servicer.ClaimVoucher, + request_deserializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.FromString, + response_serializer=injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.insurance.v1beta1.Msg', rpc_method_handlers) @@ -212,3 +229,30 @@ def UpdateParams(request, timeout, metadata, _registered_method=True) + + @staticmethod + def ClaimVoucher(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.insurance.v1beta1.Msg/ClaimVoucher', + injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucher.SerializeToString, + injective_dot_insurance_dot_v1beta1_dot_tx__pb2.MsgClaimVoucherResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/ocr/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/ocr/v1beta1/genesis_pb2.py deleted file mode 100644 index 6fb032f4..00000000 --- a/pyinjective/proto/injective/ocr/v1beta1/genesis_pb2.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: injective/ocr/v1beta1/genesis.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.injective.ocr.v1beta1 import ocr_pb2 as injective_dot_ocr_dot_v1beta1_dot_ocr__pb2 -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/ocr/v1beta1/genesis.proto\x12\x15injective.ocr.v1beta1\x1a\x1finjective/ocr/v1beta1/ocr.proto\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x94\x06\n\x0cGenesisState\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x1d.injective.ocr.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12\x44\n\x0c\x66\x65\x65\x64_configs\x18\x02 \x03(\x0b\x32!.injective.ocr.v1beta1.FeedConfigR\x0b\x66\x65\x65\x64\x43onfigs\x12_\n\x17latest_epoch_and_rounds\x18\x03 \x03(\x0b\x32(.injective.ocr.v1beta1.FeedEpochAndRoundR\x14latestEpochAndRounds\x12V\n\x12\x66\x65\x65\x64_transmissions\x18\x04 \x03(\x0b\x32\'.injective.ocr.v1beta1.FeedTransmissionR\x11\x66\x65\x65\x64Transmissions\x12r\n\x1blatest_aggregator_round_ids\x18\x05 \x03(\x0b\x32\x33.injective.ocr.v1beta1.FeedLatestAggregatorRoundIDsR\x18latestAggregatorRoundIds\x12\x44\n\x0creward_pools\x18\x06 \x03(\x0b\x32!.injective.ocr.v1beta1.RewardPoolR\x0brewardPools\x12Y\n\x17\x66\x65\x65\x64_observation_counts\x18\x07 \x03(\x0b\x32!.injective.ocr.v1beta1.FeedCountsR\x15\x66\x65\x65\x64ObservationCounts\x12[\n\x18\x66\x65\x65\x64_transmission_counts\x18\x08 \x03(\x0b\x32!.injective.ocr.v1beta1.FeedCountsR\x16\x66\x65\x65\x64TransmissionCounts\x12V\n\x12pending_payeeships\x18\t \x03(\x0b\x32\'.injective.ocr.v1beta1.PendingPayeeshipR\x11pendingPayeeships\"t\n\x10\x46\x65\x65\x64Transmission\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12G\n\x0ctransmission\x18\x02 \x01(\x0b\x32#.injective.ocr.v1beta1.TransmissionR\x0ctransmission\"z\n\x11\x46\x65\x65\x64\x45pochAndRound\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12L\n\x0f\x65poch_and_round\x18\x02 \x01(\x0b\x32$.injective.ocr.v1beta1.EpochAndRoundR\repochAndRound\"g\n\x1c\x46\x65\x65\x64LatestAggregatorRoundIDs\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12.\n\x13\x61ggregator_round_id\x18\x02 \x01(\x04R\x11\x61ggregatorRoundId\"^\n\nRewardPool\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"[\n\nFeedCounts\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12\x34\n\x06\x63ounts\x18\x02 \x03(\x0b\x32\x1c.injective.ocr.v1beta1.CountR\x06\x63ounts\"7\n\x05\x43ount\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"t\n\x10PendingPayeeship\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12 \n\x0btransmitter\x18\x02 \x01(\tR\x0btransmitter\x12%\n\x0eproposed_payee\x18\x03 \x01(\tR\rproposedPayeeB\xea\x01\n\x19\x63om.injective.ocr.v1beta1B\x0cGenesisProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types\xa2\x02\x03IOX\xaa\x02\x15Injective.Ocr.V1beta1\xca\x02\x15Injective\\Ocr\\V1beta1\xe2\x02!Injective\\Ocr\\V1beta1\\GPBMetadata\xea\x02\x17Injective::Ocr::V1beta1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.ocr.v1beta1.genesis_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.ocr.v1beta1B\014GenesisProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types\242\002\003IOX\252\002\025Injective.Ocr.V1beta1\312\002\025Injective\\Ocr\\V1beta1\342\002!Injective\\Ocr\\V1beta1\\GPBMetadata\352\002\027Injective::Ocr::V1beta1' - _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None - _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' - _globals['_REWARDPOOL'].fields_by_name['amount']._loaded_options = None - _globals['_REWARDPOOL'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_GENESISSTATE']._serialized_start=150 - _globals['_GENESISSTATE']._serialized_end=938 - _globals['_FEEDTRANSMISSION']._serialized_start=940 - _globals['_FEEDTRANSMISSION']._serialized_end=1056 - _globals['_FEEDEPOCHANDROUND']._serialized_start=1058 - _globals['_FEEDEPOCHANDROUND']._serialized_end=1180 - _globals['_FEEDLATESTAGGREGATORROUNDIDS']._serialized_start=1182 - _globals['_FEEDLATESTAGGREGATORROUNDIDS']._serialized_end=1285 - _globals['_REWARDPOOL']._serialized_start=1287 - _globals['_REWARDPOOL']._serialized_end=1381 - _globals['_FEEDCOUNTS']._serialized_start=1383 - _globals['_FEEDCOUNTS']._serialized_end=1474 - _globals['_COUNT']._serialized_start=1476 - _globals['_COUNT']._serialized_end=1531 - _globals['_PENDINGPAYEESHIP']._serialized_start=1533 - _globals['_PENDINGPAYEESHIP']._serialized_end=1649 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/ocr/v1beta1/ocr_pb2.py b/pyinjective/proto/injective/ocr/v1beta1/ocr_pb2.py deleted file mode 100644 index 3bd0c99d..00000000 --- a/pyinjective/proto/injective/ocr/v1beta1/ocr_pb2.py +++ /dev/null @@ -1,114 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: injective/ocr/v1beta1/ocr.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/ocr/v1beta1/ocr.proto\x12\x15injective.ocr.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x11\x61mino/amino.proto\"\x93\x01\n\x06Params\x12\x1d\n\nlink_denom\x18\x01 \x01(\tR\tlinkDenom\x12\x32\n\x15payout_block_interval\x18\x02 \x01(\x04R\x13payoutBlockInterval\x12!\n\x0cmodule_admin\x18\x03 \x01(\tR\x0bmoduleAdmin:\x13\xe8\xa0\x1f\x01\x8a\xe7\xb0*\nocr/Params\"\xaa\x02\n\nFeedConfig\x12\x18\n\x07signers\x18\x01 \x03(\tR\x07signers\x12\"\n\x0ctransmitters\x18\x02 \x03(\tR\x0ctransmitters\x12\x0c\n\x01\x66\x18\x03 \x01(\rR\x01\x66\x12%\n\x0eonchain_config\x18\x04 \x01(\x0cR\ronchainConfig\x12\x36\n\x17offchain_config_version\x18\x05 \x01(\x04R\x15offchainConfigVersion\x12\'\n\x0foffchain_config\x18\x06 \x01(\x0cR\x0eoffchainConfig\x12H\n\rmodule_params\x18\x07 \x01(\x0b\x32#.injective.ocr.v1beta1.ModuleParamsR\x0cmoduleParams\"\xbe\x01\n\x0e\x46\x65\x65\x64\x43onfigInfo\x12\x30\n\x14latest_config_digest\x18\x01 \x01(\x0cR\x12latestConfigDigest\x12\x0c\n\x01\x66\x18\x02 \x01(\rR\x01\x66\x12\x0c\n\x01n\x18\x03 \x01(\rR\x01n\x12!\n\x0c\x63onfig_count\x18\x04 \x01(\x04R\x0b\x63onfigCount\x12;\n\x1alatest_config_block_number\x18\x05 \x01(\x03R\x17latestConfigBlockNumber\"\xff\x03\n\x0cModuleParams\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12\x42\n\nmin_answer\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tminAnswer\x12\x42\n\nmax_answer\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmaxAnswer\x12O\n\x14link_per_observation\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x12linkPerObservation\x12Q\n\x15link_per_transmission\x18\x05 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x13linkPerTransmission\x12\x1d\n\nlink_denom\x18\x06 \x01(\tR\tlinkDenom\x12%\n\x0eunique_reports\x18\x07 \x01(\x08R\runiqueReports\x12 \n\x0b\x64\x65scription\x18\x08 \x01(\tR\x0b\x64\x65scription\x12\x1d\n\nfeed_admin\x18\t \x01(\tR\tfeedAdmin\x12#\n\rbilling_admin\x18\n \x01(\tR\x0c\x62illingAdmin\"\x87\x02\n\x0e\x43ontractConfig\x12!\n\x0c\x63onfig_count\x18\x01 \x01(\x04R\x0b\x63onfigCount\x12\x18\n\x07signers\x18\x02 \x03(\tR\x07signers\x12\"\n\x0ctransmitters\x18\x03 \x03(\tR\x0ctransmitters\x12\x0c\n\x01\x66\x18\x04 \x01(\rR\x01\x66\x12%\n\x0eonchain_config\x18\x05 \x01(\x0cR\ronchainConfig\x12\x36\n\x17offchain_config_version\x18\x06 \x01(\x04R\x15offchainConfigVersion\x12\'\n\x0foffchain_config\x18\x07 \x01(\x0cR\x0eoffchainConfig\"\xc8\x01\n\x11SetConfigProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x39\n\x06\x63onfig\x18\x03 \x01(\x0b\x32!.injective.ocr.v1beta1.FeedConfigR\x06\x63onfig:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x15ocr/SetConfigProposal\"\xb4\x04\n\x0e\x46\x65\x65\x64Properties\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12\x0c\n\x01\x66\x18\x02 \x01(\rR\x01\x66\x12%\n\x0eonchain_config\x18\x03 \x01(\x0cR\ronchainConfig\x12\x36\n\x17offchain_config_version\x18\x04 \x01(\x04R\x15offchainConfigVersion\x12\'\n\x0foffchain_config\x18\x05 \x01(\x0cR\x0eoffchainConfig\x12\x42\n\nmin_answer\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tminAnswer\x12\x42\n\nmax_answer\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmaxAnswer\x12O\n\x14link_per_observation\x18\x08 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x12linkPerObservation\x12Q\n\x15link_per_transmission\x18\t \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x13linkPerTransmission\x12%\n\x0eunique_reports\x18\n \x01(\x08R\runiqueReports\x12 \n\x0b\x64\x65scription\x18\x0b \x01(\tR\x0b\x64\x65scription\"\xc4\x02\n\x16SetBatchConfigProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x18\n\x07signers\x18\x03 \x03(\tR\x07signers\x12\"\n\x0ctransmitters\x18\x04 \x03(\tR\x0ctransmitters\x12\x1d\n\nlink_denom\x18\x05 \x01(\tR\tlinkDenom\x12N\n\x0f\x66\x65\x65\x64_properties\x18\x06 \x03(\x0b\x32%.injective.ocr.v1beta1.FeedPropertiesR\x0e\x66\x65\x65\x64Properties:E\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1aocr/SetBatchConfigProposal\"2\n\x18OracleObservationsCounts\x12\x16\n\x06\x63ounts\x18\x01 \x03(\rR\x06\x63ounts\"V\n\x11GasReimbursements\x12\x41\n\x0ereimbursements\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinR\x0ereimbursements\"U\n\x05Payee\x12)\n\x10transmitter_addr\x18\x01 \x01(\tR\x0ftransmitterAddr\x12!\n\x0cpayment_addr\x18\x02 \x01(\tR\x0bpaymentAddr\"\xb9\x01\n\x0cTransmission\x12;\n\x06\x61nswer\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61nswer\x12\x35\n\x16observations_timestamp\x18\x02 \x01(\x03R\x15observationsTimestamp\x12\x35\n\x16transmission_timestamp\x18\x03 \x01(\x03R\x15transmissionTimestamp\";\n\rEpochAndRound\x12\x14\n\x05\x65poch\x18\x01 \x01(\x04R\x05\x65poch\x12\x14\n\x05round\x18\x02 \x01(\x04R\x05round\"\xa6\x01\n\x06Report\x12\x35\n\x16observations_timestamp\x18\x01 \x01(\x03R\x15observationsTimestamp\x12\x1c\n\tobservers\x18\x02 \x01(\x0cR\tobservers\x12G\n\x0cobservations\x18\x03 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cobservations\"\x96\x01\n\x0cReportToSign\x12#\n\rconfig_digest\x18\x01 \x01(\x0cR\x0c\x63onfigDigest\x12\x14\n\x05\x65poch\x18\x02 \x01(\x04R\x05\x65poch\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\x12\x1d\n\nextra_hash\x18\x04 \x01(\x0cR\textraHash\x12\x16\n\x06report\x18\x05 \x01(\x0cR\x06report\"\x94\x01\n\x0f\x45ventOraclePaid\x12)\n\x10transmitter_addr\x18\x01 \x01(\tR\x0ftransmitterAddr\x12\x1d\n\npayee_addr\x18\x02 \x01(\tR\tpayeeAddr\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\xcc\x01\n\x12\x45ventAnswerUpdated\x12\x37\n\x07\x63urrent\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07\x63urrent\x12\x38\n\x08round_id\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07roundId\x12\x43\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\tupdatedAt\"\xad\x01\n\rEventNewRound\x12\x38\n\x08round_id\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x07roundId\x12\x1d\n\nstarted_by\x18\x02 \x01(\tR\tstartedBy\x12\x43\n\nstarted_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\tstartedAt\"M\n\x10\x45ventTransmitted\x12#\n\rconfig_digest\x18\x01 \x01(\x0cR\x0c\x63onfigDigest\x12\x14\n\x05\x65poch\x18\x02 \x01(\x04R\x05\x65poch\"\xcf\x03\n\x14\x45ventNewTransmission\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12.\n\x13\x61ggregator_round_id\x18\x02 \x01(\rR\x11\x61ggregatorRoundId\x12;\n\x06\x61nswer\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61nswer\x12 \n\x0btransmitter\x18\x04 \x01(\tR\x0btransmitter\x12\x35\n\x16observations_timestamp\x18\x05 \x01(\x03R\x15observationsTimestamp\x12G\n\x0cobservations\x18\x06 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cobservations\x12\x1c\n\tobservers\x18\x07 \x01(\x0cR\tobservers\x12#\n\rconfig_digest\x18\x08 \x01(\x0cR\x0c\x63onfigDigest\x12L\n\x0f\x65poch_and_round\x18\t \x01(\x0b\x32$.injective.ocr.v1beta1.EpochAndRoundR\repochAndRound\"\xf9\x01\n\x0e\x45ventConfigSet\x12#\n\rconfig_digest\x18\x01 \x01(\x0cR\x0c\x63onfigDigest\x12?\n\x1cprevious_config_block_number\x18\x02 \x01(\x03R\x19previousConfigBlockNumber\x12\x39\n\x06\x63onfig\x18\x03 \x01(\x0b\x32!.injective.ocr.v1beta1.FeedConfigR\x06\x63onfig\x12\x46\n\x0b\x63onfig_info\x18\x04 \x01(\x0b\x32%.injective.ocr.v1beta1.FeedConfigInfoR\nconfigInfoB\xe6\x01\n\x19\x63om.injective.ocr.v1beta1B\x08OcrProtoP\x01ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types\xa2\x02\x03IOX\xaa\x02\x15Injective.Ocr.V1beta1\xca\x02\x15Injective\\Ocr\\V1beta1\xe2\x02!Injective\\Ocr\\V1beta1\\GPBMetadata\xea\x02\x17Injective::Ocr::V1beta1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.ocr.v1beta1.ocr_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\031com.injective.ocr.v1beta1B\010OcrProtoP\001ZIgithub.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types\242\002\003IOX\252\002\025Injective.Ocr.V1beta1\312\002\025Injective\\Ocr\\V1beta1\342\002!Injective\\Ocr\\V1beta1\\GPBMetadata\352\002\027Injective::Ocr::V1beta1' - _globals['_PARAMS']._loaded_options = None - _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\nocr/Params' - _globals['_MODULEPARAMS'].fields_by_name['min_answer']._loaded_options = None - _globals['_MODULEPARAMS'].fields_by_name['min_answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_MODULEPARAMS'].fields_by_name['max_answer']._loaded_options = None - _globals['_MODULEPARAMS'].fields_by_name['max_answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_MODULEPARAMS'].fields_by_name['link_per_observation']._loaded_options = None - _globals['_MODULEPARAMS'].fields_by_name['link_per_observation']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_MODULEPARAMS'].fields_by_name['link_per_transmission']._loaded_options = None - _globals['_MODULEPARAMS'].fields_by_name['link_per_transmission']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_SETCONFIGPROPOSAL']._loaded_options = None - _globals['_SETCONFIGPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\025ocr/SetConfigProposal' - _globals['_FEEDPROPERTIES'].fields_by_name['min_answer']._loaded_options = None - _globals['_FEEDPROPERTIES'].fields_by_name['min_answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_FEEDPROPERTIES'].fields_by_name['max_answer']._loaded_options = None - _globals['_FEEDPROPERTIES'].fields_by_name['max_answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_FEEDPROPERTIES'].fields_by_name['link_per_observation']._loaded_options = None - _globals['_FEEDPROPERTIES'].fields_by_name['link_per_observation']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_FEEDPROPERTIES'].fields_by_name['link_per_transmission']._loaded_options = None - _globals['_FEEDPROPERTIES'].fields_by_name['link_per_transmission']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_SETBATCHCONFIGPROPOSAL']._loaded_options = None - _globals['_SETBATCHCONFIGPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\032ocr/SetBatchConfigProposal' - _globals['_TRANSMISSION'].fields_by_name['answer']._loaded_options = None - _globals['_TRANSMISSION'].fields_by_name['answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_REPORT'].fields_by_name['observations']._loaded_options = None - _globals['_REPORT'].fields_by_name['observations']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_EVENTORACLEPAID'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTORACLEPAID'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTANSWERUPDATED'].fields_by_name['current']._loaded_options = None - _globals['_EVENTANSWERUPDATED'].fields_by_name['current']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_EVENTANSWERUPDATED'].fields_by_name['round_id']._loaded_options = None - _globals['_EVENTANSWERUPDATED'].fields_by_name['round_id']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_EVENTANSWERUPDATED'].fields_by_name['updated_at']._loaded_options = None - _globals['_EVENTANSWERUPDATED'].fields_by_name['updated_at']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_EVENTNEWROUND'].fields_by_name['round_id']._loaded_options = None - _globals['_EVENTNEWROUND'].fields_by_name['round_id']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_EVENTNEWROUND'].fields_by_name['started_at']._loaded_options = None - _globals['_EVENTNEWROUND'].fields_by_name['started_at']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_EVENTNEWTRANSMISSION'].fields_by_name['answer']._loaded_options = None - _globals['_EVENTNEWTRANSMISSION'].fields_by_name['answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_EVENTNEWTRANSMISSION'].fields_by_name['observations']._loaded_options = None - _globals['_EVENTNEWTRANSMISSION'].fields_by_name['observations']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_PARAMS']._serialized_start=192 - _globals['_PARAMS']._serialized_end=339 - _globals['_FEEDCONFIG']._serialized_start=342 - _globals['_FEEDCONFIG']._serialized_end=640 - _globals['_FEEDCONFIGINFO']._serialized_start=643 - _globals['_FEEDCONFIGINFO']._serialized_end=833 - _globals['_MODULEPARAMS']._serialized_start=836 - _globals['_MODULEPARAMS']._serialized_end=1347 - _globals['_CONTRACTCONFIG']._serialized_start=1350 - _globals['_CONTRACTCONFIG']._serialized_end=1613 - _globals['_SETCONFIGPROPOSAL']._serialized_start=1616 - _globals['_SETCONFIGPROPOSAL']._serialized_end=1816 - _globals['_FEEDPROPERTIES']._serialized_start=1819 - _globals['_FEEDPROPERTIES']._serialized_end=2383 - _globals['_SETBATCHCONFIGPROPOSAL']._serialized_start=2386 - _globals['_SETBATCHCONFIGPROPOSAL']._serialized_end=2710 - _globals['_ORACLEOBSERVATIONSCOUNTS']._serialized_start=2712 - _globals['_ORACLEOBSERVATIONSCOUNTS']._serialized_end=2762 - _globals['_GASREIMBURSEMENTS']._serialized_start=2764 - _globals['_GASREIMBURSEMENTS']._serialized_end=2850 - _globals['_PAYEE']._serialized_start=2852 - _globals['_PAYEE']._serialized_end=2937 - _globals['_TRANSMISSION']._serialized_start=2940 - _globals['_TRANSMISSION']._serialized_end=3125 - _globals['_EPOCHANDROUND']._serialized_start=3127 - _globals['_EPOCHANDROUND']._serialized_end=3186 - _globals['_REPORT']._serialized_start=3189 - _globals['_REPORT']._serialized_end=3355 - _globals['_REPORTTOSIGN']._serialized_start=3358 - _globals['_REPORTTOSIGN']._serialized_end=3508 - _globals['_EVENTORACLEPAID']._serialized_start=3511 - _globals['_EVENTORACLEPAID']._serialized_end=3659 - _globals['_EVENTANSWERUPDATED']._serialized_start=3662 - _globals['_EVENTANSWERUPDATED']._serialized_end=3866 - _globals['_EVENTNEWROUND']._serialized_start=3869 - _globals['_EVENTNEWROUND']._serialized_end=4042 - _globals['_EVENTTRANSMITTED']._serialized_start=4044 - _globals['_EVENTTRANSMITTED']._serialized_end=4121 - _globals['_EVENTNEWTRANSMISSION']._serialized_start=4124 - _globals['_EVENTNEWTRANSMISSION']._serialized_end=4587 - _globals['_EVENTCONFIGSET']._serialized_start=4590 - _globals['_EVENTCONFIGSET']._serialized_end=4839 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/ocr/v1beta1/query_pb2.py b/pyinjective/proto/injective/ocr/v1beta1/query_pb2.py deleted file mode 100644 index 3f1bd1a4..00000000 --- a/pyinjective/proto/injective/ocr/v1beta1/query_pb2.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: injective/ocr/v1beta1/query.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from pyinjective.proto.injective.ocr.v1beta1 import ocr_pb2 as injective_dot_ocr_dot_v1beta1_dot_ocr__pb2 -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -from pyinjective.proto.injective.ocr.v1beta1 import genesis_pb2 as injective_dot_ocr_dot_v1beta1_dot_genesis__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/ocr/v1beta1/query.proto\x12\x15injective.ocr.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x1finjective/ocr/v1beta1/ocr.proto\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a#injective/ocr/v1beta1/genesis.proto\"\x14\n\x12QueryParamsRequest\"R\n\x13QueryParamsResponse\x12;\n\x06params\x18\x01 \x01(\x0b\x32\x1d.injective.ocr.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"1\n\x16QueryFeedConfigRequest\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\"\xae\x01\n\x17QueryFeedConfigResponse\x12O\n\x10\x66\x65\x65\x64_config_info\x18\x01 \x01(\x0b\x32%.injective.ocr.v1beta1.FeedConfigInfoR\x0e\x66\x65\x65\x64\x43onfigInfo\x12\x42\n\x0b\x66\x65\x65\x64_config\x18\x02 \x01(\x0b\x32!.injective.ocr.v1beta1.FeedConfigR\nfeedConfig\"5\n\x1aQueryFeedConfigInfoRequest\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\"\xbc\x01\n\x1bQueryFeedConfigInfoResponse\x12O\n\x10\x66\x65\x65\x64_config_info\x18\x01 \x01(\x0b\x32%.injective.ocr.v1beta1.FeedConfigInfoR\x0e\x66\x65\x65\x64\x43onfigInfo\x12L\n\x0f\x65poch_and_round\x18\x02 \x01(\x0b\x32$.injective.ocr.v1beta1.EpochAndRoundR\repochAndRound\"2\n\x17QueryLatestRoundRequest\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\"{\n\x18QueryLatestRoundResponse\x12&\n\x0flatest_round_id\x18\x01 \x01(\x04R\rlatestRoundId\x12\x37\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.injective.ocr.v1beta1.TransmissionR\x04\x64\x61ta\"@\n%QueryLatestTransmissionDetailsRequest\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\"\xd4\x01\n&QueryLatestTransmissionDetailsResponse\x12#\n\rconfig_digest\x18\x01 \x01(\x0cR\x0c\x63onfigDigest\x12L\n\x0f\x65poch_and_round\x18\x02 \x01(\x0b\x32$.injective.ocr.v1beta1.EpochAndRoundR\repochAndRound\x12\x37\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32#.injective.ocr.v1beta1.TransmissionR\x04\x64\x61ta\":\n\x16QueryOwedAmountRequest\x12 \n\x0btransmitter\x18\x01 \x01(\tR\x0btransmitter\"R\n\x17QueryOwedAmountResponse\x12\x37\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"\x19\n\x17QueryModuleStateRequest\"U\n\x18QueryModuleStateResponse\x12\x39\n\x05state\x18\x01 \x01(\x0b\x32#.injective.ocr.v1beta1.GenesisStateR\x05state2\xbb\t\n\x05Query\x12\x86\x01\n\x06Params\x12).injective.ocr.v1beta1.QueryParamsRequest\x1a*.injective.ocr.v1beta1.QueryParamsResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/chainlink/ocr/v1beta1/params\x12\xa1\x01\n\nFeedConfig\x12-.injective.ocr.v1beta1.QueryFeedConfigRequest\x1a..injective.ocr.v1beta1.QueryFeedConfigResponse\"4\x82\xd3\xe4\x93\x02.\x12,/chainlink/ocr/v1beta1/feed_config/{feed_id}\x12\xb2\x01\n\x0e\x46\x65\x65\x64\x43onfigInfo\x12\x31.injective.ocr.v1beta1.QueryFeedConfigInfoRequest\x1a\x32.injective.ocr.v1beta1.QueryFeedConfigInfoResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/chainlink/ocr/v1beta1/feed_config_info/{feed_id}\x12\xa5\x01\n\x0bLatestRound\x12..injective.ocr.v1beta1.QueryLatestRoundRequest\x1a/.injective.ocr.v1beta1.QueryLatestRoundResponse\"5\x82\xd3\xe4\x93\x02/\x12-/chainlink/ocr/v1beta1/latest_round/{feed_id}\x12\xde\x01\n\x19LatestTransmissionDetails\x12<.injective.ocr.v1beta1.QueryLatestTransmissionDetailsRequest\x1a=.injective.ocr.v1beta1.QueryLatestTransmissionDetailsResponse\"D\x82\xd3\xe4\x93\x02>\x12\022\n\x1b\x45ventBandIBCResponseTimeout\x12\x1b\n\tclient_id\x18\x01 \x01(\x03R\x08\x63lientId:\x02\x18\x01\"\x97\x01\n\x16SetPriceFeedPriceEvent\x12\x18\n\x07relayer\x18\x01 \x01(\tR\x07relayer\x12\x12\n\x04\x62\x61se\x18\x02 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12\x39\n\x05price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\xa0\x01\n\x15SetProviderPriceEvent\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x18\n\x07relayer\x18\x02 \x01(\tR\x07relayer\x12\x16\n\x06symbol\x18\x03 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\x88\x01\n\x15SetCoinbasePriceEvent\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\"X\n\x13\x45ventSetStorkPrices\x12\x41\n\x06prices\x18\x01 \x03(\x0b\x32).injective.oracle.v1beta1.StorkPriceStateR\x06prices\"V\n\x12\x45ventSetPythPrices\x12@\n\x06prices\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\x06prices\"v\n\"EventSetChainlinkDataStreamsPrices\x12P\n\x06prices\x18\x01 \x03(\x0b\x32\x38.injective.oracle.v1beta1.ChainlinkDataStreamsPriceStateR\x06prices\"\xbc\x01\n\x16\x45ventOraclePriceUpdate\x12\x45\n\x0boracle_type\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id\x12K\n\x0bprice_state\x18\x03 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceStateB\xfb\x01\n\x1c\x63om.injective.oracle.v1beta1B\x0b\x45ventsProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,36 +27,54 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.oracle.v1beta1B\013EventsProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\242\002\003IOX\252\002\030Injective.Oracle.V1beta1\312\002\030Injective\\Oracle\\V1beta1\342\002$Injective\\Oracle\\V1beta1\\GPBMetadata\352\002\032Injective::Oracle::V1beta1' _globals['_SETCHAINLINKPRICEEVENT'].fields_by_name['answer']._loaded_options = None _globals['_SETCHAINLINKPRICEEVENT'].fields_by_name['answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SETCHAINLINKPRICEEVENT']._loaded_options = None + _globals['_SETCHAINLINKPRICEEVENT']._serialized_options = b'\030\001' _globals['_SETBANDPRICEEVENT'].fields_by_name['price']._loaded_options = None _globals['_SETBANDPRICEEVENT'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SETBANDPRICEEVENT']._loaded_options = None + _globals['_SETBANDPRICEEVENT']._serialized_options = b'\030\001' _globals['_SETBANDIBCPRICEEVENT'].fields_by_name['prices']._loaded_options = None _globals['_SETBANDIBCPRICEEVENT'].fields_by_name['prices']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SETBANDIBCPRICEEVENT']._loaded_options = None + _globals['_SETBANDIBCPRICEEVENT']._serialized_options = b'\030\001' + _globals['_EVENTBANDIBCACKSUCCESS']._loaded_options = None + _globals['_EVENTBANDIBCACKSUCCESS']._serialized_options = b'\030\001' + _globals['_EVENTBANDIBCACKERROR']._loaded_options = None + _globals['_EVENTBANDIBCACKERROR']._serialized_options = b'\030\001' + _globals['_EVENTBANDIBCRESPONSETIMEOUT']._loaded_options = None + _globals['_EVENTBANDIBCRESPONSETIMEOUT']._serialized_options = b'\030\001' _globals['_SETPRICEFEEDPRICEEVENT'].fields_by_name['price']._loaded_options = None _globals['_SETPRICEFEEDPRICEEVENT'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SETPROVIDERPRICEEVENT'].fields_by_name['price']._loaded_options = None _globals['_SETPROVIDERPRICEEVENT'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SETCOINBASEPRICEEVENT'].fields_by_name['price']._loaded_options = None _globals['_SETCOINBASEPRICEEVENT'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_EVENTORACLEPRICEUPDATE'].fields_by_name['price_state']._loaded_options = None + _globals['_EVENTORACLEPRICEUPDATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' _globals['_SETCHAINLINKPRICEEVENT']._serialized_start=161 - _globals['_SETCHAINLINKPRICEEVENT']._serialized_end=301 - _globals['_SETBANDPRICEEVENT']._serialized_start=304 - _globals['_SETBANDPRICEEVENT']._serialized_end=498 - _globals['_SETBANDIBCPRICEEVENT']._serialized_start=501 - _globals['_SETBANDIBCPRICEEVENT']._serialized_end=731 - _globals['_EVENTBANDIBCACKSUCCESS']._serialized_start=733 - _globals['_EVENTBANDIBCACKSUCCESS']._serialized_end=817 - _globals['_EVENTBANDIBCACKERROR']._serialized_start=819 - _globals['_EVENTBANDIBCACKERROR']._serialized_end=899 - _globals['_EVENTBANDIBCRESPONSETIMEOUT']._serialized_start=901 - _globals['_EVENTBANDIBCRESPONSETIMEOUT']._serialized_end=959 - _globals['_SETPRICEFEEDPRICEEVENT']._serialized_start=962 - _globals['_SETPRICEFEEDPRICEEVENT']._serialized_end=1113 - _globals['_SETPROVIDERPRICEEVENT']._serialized_start=1116 - _globals['_SETPROVIDERPRICEEVENT']._serialized_end=1276 - _globals['_SETCOINBASEPRICEEVENT']._serialized_start=1279 - _globals['_SETCOINBASEPRICEEVENT']._serialized_end=1415 - _globals['_EVENTSETSTORKPRICES']._serialized_start=1417 - _globals['_EVENTSETSTORKPRICES']._serialized_end=1505 - _globals['_EVENTSETPYTHPRICES']._serialized_start=1507 - _globals['_EVENTSETPYTHPRICES']._serialized_end=1593 + _globals['_SETCHAINLINKPRICEEVENT']._serialized_end=305 + _globals['_SETBANDPRICEEVENT']._serialized_start=308 + _globals['_SETBANDPRICEEVENT']._serialized_end=506 + _globals['_SETBANDIBCPRICEEVENT']._serialized_start=509 + _globals['_SETBANDIBCPRICEEVENT']._serialized_end=743 + _globals['_EVENTBANDIBCACKSUCCESS']._serialized_start=745 + _globals['_EVENTBANDIBCACKSUCCESS']._serialized_end=833 + _globals['_EVENTBANDIBCACKERROR']._serialized_start=835 + _globals['_EVENTBANDIBCACKERROR']._serialized_end=919 + _globals['_EVENTBANDIBCRESPONSETIMEOUT']._serialized_start=921 + _globals['_EVENTBANDIBCRESPONSETIMEOUT']._serialized_end=983 + _globals['_SETPRICEFEEDPRICEEVENT']._serialized_start=986 + _globals['_SETPRICEFEEDPRICEEVENT']._serialized_end=1137 + _globals['_SETPROVIDERPRICEEVENT']._serialized_start=1140 + _globals['_SETPROVIDERPRICEEVENT']._serialized_end=1300 + _globals['_SETCOINBASEPRICEEVENT']._serialized_start=1303 + _globals['_SETCOINBASEPRICEEVENT']._serialized_end=1439 + _globals['_EVENTSETSTORKPRICES']._serialized_start=1441 + _globals['_EVENTSETSTORKPRICES']._serialized_end=1529 + _globals['_EVENTSETPYTHPRICES']._serialized_start=1531 + _globals['_EVENTSETPYTHPRICES']._serialized_end=1617 + _globals['_EVENTSETCHAINLINKDATASTREAMSPRICES']._serialized_start=1619 + _globals['_EVENTSETCHAINLINKDATASTREAMSPRICES']._serialized_end=1737 + _globals['_EVENTORACLEPRICEUPDATE']._serialized_start=1740 + _globals['_EVENTORACLEPRICEUPDATE']._serialized_end=1928 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/oracle/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/oracle/v1beta1/genesis_pb2.py index f7b6e53d..cb4233e6 100644 --- a/pyinjective/proto/injective/oracle/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/oracle/v1beta1/genesis_pb2.py @@ -16,7 +16,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/oracle/v1beta1/genesis.proto\x12\x18injective.oracle.v1beta1\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"\xe4\n\n\x0cGenesisState\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12#\n\rband_relayers\x18\x02 \x03(\tR\x0c\x62\x61ndRelayers\x12T\n\x11\x62\x61nd_price_states\x18\x03 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x0f\x62\x61ndPriceStates\x12_\n\x17price_feed_price_states\x18\x04 \x03(\x0b\x32(.injective.oracle.v1beta1.PriceFeedStateR\x14priceFeedPriceStates\x12`\n\x15\x63oinbase_price_states\x18\x05 \x03(\x0b\x32,.injective.oracle.v1beta1.CoinbasePriceStateR\x13\x63oinbasePriceStates\x12[\n\x15\x62\x61nd_ibc_price_states\x18\x06 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x12\x62\x61ndIbcPriceStates\x12\x64\n\x18\x62\x61nd_ibc_oracle_requests\x18\x07 \x03(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestR\x15\x62\x61ndIbcOracleRequests\x12U\n\x0f\x62\x61nd_ibc_params\x18\x08 \x01(\x0b\x32\'.injective.oracle.v1beta1.BandIBCParamsB\x04\xc8\xde\x1f\x00R\rbandIbcParams\x12\x38\n\x19\x62\x61nd_ibc_latest_client_id\x18\t \x01(\x04R\x15\x62\x61ndIbcLatestClientId\x12S\n\x10\x63\x61lldata_records\x18\n \x03(\x0b\x32(.injective.oracle.v1beta1.CalldataRecordR\x0f\x63\x61lldataRecords\x12:\n\x1a\x62\x61nd_ibc_latest_request_id\x18\x0b \x01(\x04R\x16\x62\x61ndIbcLatestRequestId\x12\x63\n\x16\x63hainlink_price_states\x18\x0c \x03(\x0b\x32-.injective.oracle.v1beta1.ChainlinkPriceStateR\x14\x63hainlinkPriceStates\x12`\n\x18historical_price_records\x18\r \x03(\x0b\x32&.injective.oracle.v1beta1.PriceRecordsR\x16historicalPriceRecords\x12P\n\x0fprovider_states\x18\x0e \x03(\x0b\x32\'.injective.oracle.v1beta1.ProviderStateR\x0eproviderStates\x12T\n\x11pyth_price_states\x18\x0f \x03(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\x0fpythPriceStates\x12W\n\x12stork_price_states\x18\x10 \x03(\x0b\x32).injective.oracle.v1beta1.StorkPriceStateR\x10storkPriceStates\x12)\n\x10stork_publishers\x18\x11 \x03(\tR\x0fstorkPublishers\"I\n\x0e\x43\x61lldataRecord\x12\x1b\n\tclient_id\x18\x01 \x01(\x04R\x08\x63lientId\x12\x1a\n\x08\x63\x61lldata\x18\x02 \x01(\x0cR\x08\x63\x61lldataB\xfc\x01\n\x1c\x63om.injective.oracle.v1beta1B\x0cGenesisProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/oracle/v1beta1/genesis.proto\x12\x18injective.oracle.v1beta1\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"\xd2\r\n\x0cGenesisState\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12\'\n\rband_relayers\x18\x02 \x03(\tB\x02\x18\x01R\x0c\x62\x61ndRelayers\x12X\n\x11\x62\x61nd_price_states\x18\x03 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateB\x02\x18\x01R\x0f\x62\x61ndPriceStates\x12_\n\x17price_feed_price_states\x18\x04 \x03(\x0b\x32(.injective.oracle.v1beta1.PriceFeedStateR\x14priceFeedPriceStates\x12`\n\x15\x63oinbase_price_states\x18\x05 \x03(\x0b\x32,.injective.oracle.v1beta1.CoinbasePriceStateR\x13\x63oinbasePriceStates\x12_\n\x15\x62\x61nd_ibc_price_states\x18\x06 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateB\x02\x18\x01R\x12\x62\x61ndIbcPriceStates\x12h\n\x18\x62\x61nd_ibc_oracle_requests\x18\x07 \x03(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestB\x02\x18\x01R\x15\x62\x61ndIbcOracleRequests\x12W\n\x0f\x62\x61nd_ibc_params\x18\x08 \x01(\x0b\x32\'.injective.oracle.v1beta1.BandIBCParamsB\x06\x18\x01\xc8\xde\x1f\x00R\rbandIbcParams\x12<\n\x19\x62\x61nd_ibc_latest_client_id\x18\t \x01(\x04\x42\x02\x18\x01R\x15\x62\x61ndIbcLatestClientId\x12W\n\x10\x63\x61lldata_records\x18\n \x03(\x0b\x32(.injective.oracle.v1beta1.CalldataRecordB\x02\x18\x01R\x0f\x63\x61lldataRecords\x12>\n\x1a\x62\x61nd_ibc_latest_request_id\x18\x0b \x01(\x04\x42\x02\x18\x01R\x16\x62\x61ndIbcLatestRequestId\x12g\n\x16\x63hainlink_price_states\x18\x0c \x03(\x0b\x32-.injective.oracle.v1beta1.ChainlinkPriceStateB\x02\x18\x01R\x14\x63hainlinkPriceStates\x12`\n\x18historical_price_records\x18\r \x03(\x0b\x32&.injective.oracle.v1beta1.PriceRecordsR\x16historicalPriceRecords\x12P\n\x0fprovider_states\x18\x0e \x03(\x0b\x32\'.injective.oracle.v1beta1.ProviderStateR\x0eproviderStates\x12T\n\x11pyth_price_states\x18\x0f \x03(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\x0fpythPriceStates\x12W\n\x12stork_price_states\x18\x10 \x03(\x0b\x32).injective.oracle.v1beta1.StorkPriceStateR\x10storkPriceStates\x12)\n\x10stork_publishers\x18\x11 \x03(\tR\x0fstorkPublishers\x12\x86\x01\n#chainlink_data_streams_price_states\x18\x12 \x03(\x0b\x32\x38.injective.oracle.v1beta1.ChainlinkDataStreamsPriceStateR\x1f\x63hainlinkDataStreamsPriceStates\x12^\n\x15pyth_pro_price_states\x18\x13 \x03(\x0b\x32+.injective.oracle.v1beta1.PythProPriceStateR\x12pythProPriceStates\x12\x61\n\x16seda_fast_price_states\x18\x14 \x03(\x0b\x32,.injective.oracle.v1beta1.SedaFastPriceStateR\x13sedaFastPriceStates\"I\n\x0e\x43\x61lldataRecord\x12\x1b\n\tclient_id\x18\x01 \x01(\x04R\x08\x63lientId\x12\x1a\n\x08\x63\x61lldata\x18\x02 \x01(\x0cR\x08\x63\x61lldataB\xfc\x01\n\x1c\x63om.injective.oracle.v1beta1B\x0cGenesisProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,10 +26,26 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.oracle.v1beta1B\014GenesisProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\242\002\003IOX\252\002\030Injective.Oracle.V1beta1\312\002\030Injective\\Oracle\\V1beta1\342\002$Injective\\Oracle\\V1beta1\\GPBMetadata\352\002\032Injective::Oracle::V1beta1' _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['band_relayers']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_relayers']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['band_price_states']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_price_states']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['band_ibc_price_states']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_ibc_price_states']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['band_ibc_oracle_requests']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_ibc_oracle_requests']._serialized_options = b'\030\001' _globals['_GENESISSTATE'].fields_by_name['band_ibc_params']._loaded_options = None - _globals['_GENESISSTATE'].fields_by_name['band_ibc_params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['band_ibc_params']._serialized_options = b'\030\001\310\336\037\000' + _globals['_GENESISSTATE'].fields_by_name['band_ibc_latest_client_id']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_ibc_latest_client_id']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['calldata_records']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['calldata_records']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['band_ibc_latest_request_id']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['band_ibc_latest_request_id']._serialized_options = b'\030\001' + _globals['_GENESISSTATE'].fields_by_name['chainlink_price_states']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['chainlink_price_states']._serialized_options = b'\030\001' _globals['_GENESISSTATE']._serialized_start=130 - _globals['_GENESISSTATE']._serialized_end=1510 - _globals['_CALLDATARECORD']._serialized_start=1512 - _globals['_CALLDATARECORD']._serialized_end=1585 + _globals['_GENESISSTATE']._serialized_end=1876 + _globals['_CALLDATARECORD']._serialized_start=1878 + _globals['_CALLDATARECORD']._serialized_end=1951 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/oracle/v1beta1/oracle_pb2.py b/pyinjective/proto/injective/oracle/v1beta1/oracle_pb2.py index e25462f1..9990943c 100644 --- a/pyinjective/proto/injective/oracle/v1beta1/oracle_pb2.py +++ b/pyinjective/proto/injective/oracle/v1beta1/oracle_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/oracle/v1beta1/oracle.proto\x12\x18injective.oracle.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"E\n\x06Params\x12#\n\rpyth_contract\x18\x01 \x01(\tR\x0cpythContract:\x16\xe8\xa0\x1f\x01\x8a\xe7\xb0*\roracle/Params\"k\n\nOracleInfo\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x45\n\x0boracle_type\x18\x02 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xd6\x01\n\x13\x43hainlinkPriceState\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12;\n\x06\x61nswer\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61nswer\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12K\n\x0bprice_state\x18\x04 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xea\x01\n\x0e\x42\x61ndPriceState\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x31\n\x04rate\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x04rate\x12!\n\x0cresolve_time\x18\x03 \x01(\x04R\x0bresolveTime\x12\x1d\n\nrequest_ID\x18\x04 \x01(\x04R\trequestID\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\x9d\x01\n\x0ePriceFeedState\x12\x12\n\x04\x62\x61se\x18\x01 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x02 \x01(\tR\x05quote\x12\x45\n\x0bprice_state\x18\x03 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\npriceState\x12\x1a\n\x08relayers\x18\x04 \x03(\tR\x08relayers\"F\n\x0cProviderInfo\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x02 \x03(\tR\x08relayers\"\xbe\x01\n\rProviderState\x12K\n\rprovider_info\x18\x01 \x01(\x0b\x32&.injective.oracle.v1beta1.ProviderInfoR\x0cproviderInfo\x12`\n\x15provider_price_states\x18\x02 \x03(\x0b\x32,.injective.oracle.v1beta1.ProviderPriceStateR\x13providerPriceStates\"h\n\x12ProviderPriceState\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12:\n\x05state\x18\x02 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\x05state\"9\n\rPriceFeedInfo\x12\x12\n\x04\x62\x61se\x18\x01 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x02 \x01(\tR\x05quote\"K\n\x0ePriceFeedPrice\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\xbb\x01\n\x12\x43oinbasePriceState\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\x10\n\x03key\x18\x03 \x01(\tR\x03key\x12\x14\n\x05value\x18\x04 \x01(\x04R\x05value\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xcf\x01\n\x0fStorkPriceState\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\x12\x39\n\x05value\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05value\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xb5\x01\n\nPriceState\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\xd6\x02\n\x0ePythPriceState\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\x12@\n\tema_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x65maPrice\x12>\n\x08\x65ma_conf\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x07\x65maConf\x12\x37\n\x04\x63onf\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04\x63onf\x12!\n\x0cpublish_time\x18\x05 \x01(\x04R\x0bpublishTime\x12K\n\x0bprice_state\x18\x06 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\x86\x03\n\x11\x42\x61ndOracleRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\x04R\trequestId\x12(\n\x10oracle_script_id\x18\x02 \x01(\x03R\x0eoracleScriptId\x12\x18\n\x07symbols\x18\x03 \x03(\tR\x07symbols\x12\x1b\n\task_count\x18\x04 \x01(\x04R\x08\x61skCount\x12\x1b\n\tmin_count\x18\x05 \x01(\x04R\x08minCount\x12h\n\tfee_limit\x18\x06 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x66\x65\x65Limit\x12\x1f\n\x0bprepare_gas\x18\x07 \x01(\x04R\nprepareGas\x12\x1f\n\x0b\x65xecute_gas\x18\x08 \x01(\x04R\nexecuteGas\x12(\n\x10min_source_count\x18\t \x01(\x04R\x0eminSourceCount\"\x86\x02\n\rBandIBCParams\x12(\n\x10\x62\x61nd_ibc_enabled\x18\x01 \x01(\x08R\x0e\x62\x61ndIbcEnabled\x12\x30\n\x14ibc_request_interval\x18\x02 \x01(\x03R\x12ibcRequestInterval\x12,\n\x12ibc_source_channel\x18\x03 \x01(\tR\x10ibcSourceChannel\x12\x1f\n\x0bibc_version\x18\x04 \x01(\tR\nibcVersion\x12\x1e\n\x0bibc_port_id\x18\x05 \x01(\tR\tibcPortId\x12*\n\x11legacy_oracle_ids\x18\x06 \x03(\x03R\x0flegacyOracleIds\"\x8f\x01\n\x14SymbolPriceTimestamp\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"y\n\x13LastPriceTimestamps\x12\x62\n\x15last_price_timestamps\x18\x01 \x03(\x0b\x32..injective.oracle.v1beta1.SymbolPriceTimestampR\x13lastPriceTimestamps\"\xc2\x01\n\x0cPriceRecords\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\x12W\n\x14latest_price_records\x18\x03 \x03(\x0b\x32%.injective.oracle.v1beta1.PriceRecordR\x12latestPriceRecords\"f\n\x0bPriceRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\xf3\x03\n\x12MetadataStatistics\x12\x1f\n\x0bgroup_count\x18\x01 \x01(\rR\ngroupCount\x12.\n\x13records_sample_size\x18\x02 \x01(\rR\x11recordsSampleSize\x12\x37\n\x04mean\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04mean\x12\x37\n\x04twap\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04twap\x12\'\n\x0f\x66irst_timestamp\x18\x05 \x01(\x03R\x0e\x66irstTimestamp\x12%\n\x0elast_timestamp\x18\x06 \x01(\x03R\rlastTimestamp\x12@\n\tmin_price\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08minPrice\x12@\n\tmax_price\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08maxPrice\x12\x46\n\x0cmedian_price\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmedianPrice\"\xe1\x01\n\x10PriceAttestation\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\x12\x14\n\x05price\x18\x02 \x01(\x03R\x05price\x12\x12\n\x04\x63onf\x18\x03 \x01(\x04R\x04\x63onf\x12\x12\n\x04\x65xpo\x18\x04 \x01(\x05R\x04\x65xpo\x12\x1b\n\tema_price\x18\x05 \x01(\x03R\x08\x65maPrice\x12\x19\n\x08\x65ma_conf\x18\x06 \x01(\x04R\x07\x65maConf\x12\x19\n\x08\x65ma_expo\x18\x07 \x01(\x05R\x07\x65maExpo\x12!\n\x0cpublish_time\x18\x08 \x01(\x03R\x0bpublishTime\"}\n\tAssetPair\x12\x19\n\x08\x61sset_id\x18\x01 \x01(\tR\x07\x61ssetId\x12U\n\rsigned_prices\x18\x02 \x03(\x0b\x32\x30.injective.oracle.v1beta1.SignedPriceOfAssetPairR\x0csignedPrices\"\xb4\x01\n\x16SignedPriceOfAssetPair\x12#\n\rpublisher_key\x18\x01 \x01(\tR\x0cpublisherKey\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature*\xaa\x01\n\nOracleType\x12\x0f\n\x0bUnspecified\x10\x00\x12\x08\n\x04\x42\x61nd\x10\x01\x12\r\n\tPriceFeed\x10\x02\x12\x0c\n\x08\x43oinbase\x10\x03\x12\r\n\tChainlink\x10\x04\x12\t\n\x05Razor\x10\x05\x12\x07\n\x03\x44ia\x10\x06\x12\x08\n\x04\x41PI3\x10\x07\x12\x07\n\x03Uma\x10\x08\x12\x08\n\x04Pyth\x10\t\x12\x0b\n\x07\x42\x61ndIBC\x10\n\x12\x0c\n\x08Provider\x10\x0b\x12\t\n\x05Stork\x10\x0c\x42\xff\x01\n\x1c\x63om.injective.oracle.v1beta1B\x0bOracleProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1\xc0\xe3\x1e\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/oracle/v1beta1/oracle.proto\x12\x18injective.oracle.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\x8f\x04\n\x06Params\x12#\n\rpyth_contract\x18\x01 \x01(\tR\x0cpythContract\x12I\n!chainlink_verifier_proxy_contract\x18\x02 \x01(\tR\x1e\x63hainlinkVerifierProxyContract\x12_\n-chainlink_data_streams_verification_gas_limit\x18\x04 \x01(\x04R(chainlinkDataStreamsVerificationGasLimit\x12;\n\x1apyth_pro_verifier_contract\x18\x05 \x01(\tR\x17pythProVerifierContract\x12\x44\n\x1fpyth_pro_verification_gas_limit\x18\x06 \x01(\x04R\x1bpythProVerificationGasLimit\x12\x39\n\x19pyth_pro_verification_fee\x18\x07 \x01(\x04R\x16pythProVerificationFee\x12X\n\x10seda_fast_params\x18\x08 \x01(\x0b\x32(.injective.oracle.v1beta1.SedaFastParamsB\x04\xc8\xde\x1f\x00R\x0esedaFastParams:\x16\xe8\xa0\x1f\x01\x8a\xe7\xb0*\roracle/ParamsJ\x04\x08\x03\x10\x04\"\x8d\x01\n\x0eSedaFastParams\x12\x1d\n\npublic_key\x18\x01 \x01(\x0cR\tpublicKey\x12,\n\x12simple_program_ids\x18\x02 \x03(\tR\x10simpleProgramIds\x12(\n\x10json_program_ids\x18\x03 \x03(\tR\x0ejsonProgramIds:\x04\xe8\xa0\x1f\x01\"k\n\nOracleInfo\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x45\n\x0boracle_type\x18\x02 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xda\x01\n\x13\x43hainlinkPriceState\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12;\n\x06\x61nswer\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61nswer\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12K\n\x0bprice_state\x18\x04 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState:\x02\x18\x01\"\xee\x01\n\x0e\x42\x61ndPriceState\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x31\n\x04rate\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x04rate\x12!\n\x0cresolve_time\x18\x03 \x01(\x04R\x0bresolveTime\x12\x1d\n\nrequest_ID\x18\x04 \x01(\x04R\trequestID\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState:\x02\x18\x01\"\x9d\x01\n\x0ePriceFeedState\x12\x12\n\x04\x62\x61se\x18\x01 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x02 \x01(\tR\x05quote\x12\x45\n\x0bprice_state\x18\x03 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\npriceState\x12\x1a\n\x08relayers\x18\x04 \x03(\tR\x08relayers\"F\n\x0cProviderInfo\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x02 \x03(\tR\x08relayers\"\xbe\x01\n\rProviderState\x12K\n\rprovider_info\x18\x01 \x01(\x0b\x32&.injective.oracle.v1beta1.ProviderInfoR\x0cproviderInfo\x12`\n\x15provider_price_states\x18\x02 \x03(\x0b\x32,.injective.oracle.v1beta1.ProviderPriceStateR\x13providerPriceStates\"h\n\x12ProviderPriceState\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12:\n\x05state\x18\x02 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\x05state\"9\n\rPriceFeedInfo\x12\x12\n\x04\x62\x61se\x18\x01 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x02 \x01(\tR\x05quote\"K\n\x0ePriceFeedPrice\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\xbb\x01\n\x12\x43oinbasePriceState\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\x10\n\x03key\x18\x03 \x01(\tR\x03key\x12\x14\n\x05value\x18\x04 \x01(\x04R\x05value\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xcf\x01\n\x0fStorkPriceState\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\x12\x39\n\x05value\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05value\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xb5\x01\n\nPriceState\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\xd6\x02\n\x0ePythPriceState\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\x12@\n\tema_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x65maPrice\x12>\n\x08\x65ma_conf\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x07\x65maConf\x12\x37\n\x04\x63onf\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04\x63onf\x12!\n\x0cpublish_time\x18\x05 \x01(\x04R\x0bpublishTime\x12K\n\x0bprice_state\x18\x06 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\xd0\x02\n\x1e\x43hainlinkDataStreamsPriceState\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12@\n\x0creport_price\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0breportPrice\x12\x30\n\x14valid_from_timestamp\x18\x03 \x01(\x04R\x12validFromTimestamp\x12\x35\n\x16observations_timestamp\x18\x04 \x01(\x04R\x15observationsTimestamp\x12K\n\x0bprice_state\x18\x05 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\x12\x1d\n\nexpires_at\x18\x06 \x01(\x04R\texpiresAt\"\x8a\x03\n\x11\x42\x61ndOracleRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\x04R\trequestId\x12(\n\x10oracle_script_id\x18\x02 \x01(\x03R\x0eoracleScriptId\x12\x18\n\x07symbols\x18\x03 \x03(\tR\x07symbols\x12\x1b\n\task_count\x18\x04 \x01(\x04R\x08\x61skCount\x12\x1b\n\tmin_count\x18\x05 \x01(\x04R\x08minCount\x12h\n\tfee_limit\x18\x06 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x66\x65\x65Limit\x12\x1f\n\x0bprepare_gas\x18\x07 \x01(\x04R\nprepareGas\x12\x1f\n\x0b\x65xecute_gas\x18\x08 \x01(\x04R\nexecuteGas\x12(\n\x10min_source_count\x18\t \x01(\x04R\x0eminSourceCount:\x02\x18\x01\"\x8a\x02\n\rBandIBCParams\x12(\n\x10\x62\x61nd_ibc_enabled\x18\x01 \x01(\x08R\x0e\x62\x61ndIbcEnabled\x12\x30\n\x14ibc_request_interval\x18\x02 \x01(\x03R\x12ibcRequestInterval\x12,\n\x12ibc_source_channel\x18\x03 \x01(\tR\x10ibcSourceChannel\x12\x1f\n\x0bibc_version\x18\x04 \x01(\tR\nibcVersion\x12\x1e\n\x0bibc_port_id\x18\x05 \x01(\tR\tibcPortId\x12*\n\x11legacy_oracle_ids\x18\x06 \x03(\x03R\x0flegacyOracleIds:\x02\x18\x01\"\x8f\x01\n\x14SymbolPriceTimestamp\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"y\n\x13LastPriceTimestamps\x12\x62\n\x15last_price_timestamps\x18\x01 \x03(\x0b\x32..injective.oracle.v1beta1.SymbolPriceTimestampR\x13lastPriceTimestamps\"\xc2\x01\n\x0cPriceRecords\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\x12W\n\x14latest_price_records\x18\x03 \x03(\x0b\x32%.injective.oracle.v1beta1.PriceRecordR\x12latestPriceRecords\"f\n\x0bPriceRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\"\xf3\x03\n\x12MetadataStatistics\x12\x1f\n\x0bgroup_count\x18\x01 \x01(\rR\ngroupCount\x12.\n\x13records_sample_size\x18\x02 \x01(\rR\x11recordsSampleSize\x12\x37\n\x04mean\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04mean\x12\x37\n\x04twap\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x04twap\x12\'\n\x0f\x66irst_timestamp\x18\x05 \x01(\x03R\x0e\x66irstTimestamp\x12%\n\x0elast_timestamp\x18\x06 \x01(\x03R\rlastTimestamp\x12@\n\tmin_price\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08minPrice\x12@\n\tmax_price\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08maxPrice\x12\x46\n\x0cmedian_price\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmedianPrice\"\xe1\x01\n\x10PriceAttestation\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\x12\x14\n\x05price\x18\x02 \x01(\x03R\x05price\x12\x12\n\x04\x63onf\x18\x03 \x01(\x04R\x04\x63onf\x12\x12\n\x04\x65xpo\x18\x04 \x01(\x05R\x04\x65xpo\x12\x1b\n\tema_price\x18\x05 \x01(\x03R\x08\x65maPrice\x12\x19\n\x08\x65ma_conf\x18\x06 \x01(\x04R\x07\x65maConf\x12\x19\n\x08\x65ma_expo\x18\x07 \x01(\x05R\x07\x65maExpo\x12!\n\x0cpublish_time\x18\x08 \x01(\x03R\x0bpublishTime\"}\n\tAssetPair\x12\x19\n\x08\x61sset_id\x18\x01 \x01(\tR\x07\x61ssetId\x12U\n\rsigned_prices\x18\x02 \x03(\x0b\x32\x30.injective.oracle.v1beta1.SignedPriceOfAssetPairR\x0csignedPrices\"\xb4\x01\n\x16SignedPriceOfAssetPair\x12#\n\rpublisher_key\x18\x01 \x01(\tR\x0cpublisherKey\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\"\xb4\x01\n\x0f\x43hainlinkReport\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\x0cR\x06\x66\x65\x65\x64Id\x12\x1f\n\x0b\x66ull_report\x18\x02 \x01(\x0cR\nfullReport\x12\x30\n\x14valid_from_timestamp\x18\x03 \x01(\x04R\x12validFromTimestamp\x12\x35\n\x16observations_timestamp\x18\x04 \x01(\x04R\x15observationsTimestamp\"\x97\x01\n\x11PythProPriceState\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\rR\x06\x66\x65\x65\x64Id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12K\n\x0bprice_state\x18\x03 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState\"\x98\x01\n\x12SedaFastPriceState\x12\x17\n\x07\x66\x65\x65\x64_id\x18\x01 \x01(\tR\x06\x66\x65\x65\x64Id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12K\n\x0bprice_state\x18\x03 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateB\x04\xc8\xde\x1f\x00R\npriceState*\xeb\x01\n\nOracleType\x12\x0f\n\x0bUnspecified\x10\x00\x12\x0c\n\x04\x42\x61nd\x10\x01\x1a\x02\x08\x01\x12\r\n\tPriceFeed\x10\x02\x12\x0c\n\x08\x43oinbase\x10\x03\x12\x11\n\tChainlink\x10\x04\x1a\x02\x08\x01\x12\t\n\x05Razor\x10\x05\x12\x07\n\x03\x44ia\x10\x06\x12\x08\n\x04\x41PI3\x10\x07\x12\x07\n\x03Uma\x10\x08\x12\x08\n\x04Pyth\x10\t\x12\x0f\n\x07\x42\x61ndIBC\x10\n\x1a\x02\x08\x01\x12\x0c\n\x08Provider\x10\x0b\x12\t\n\x05Stork\x10\x0c\x12\x18\n\x14\x43hainlinkDataStreams\x10\r\x12\x0b\n\x07PythPro\x10\x0e\x12\x0c\n\x08SedaFast\x10\x0f\x42\xff\x01\n\x1c\x63om.injective.oracle.v1beta1B\x0bOracleProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1\xc0\xe3\x1e\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,16 +25,30 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.oracle.v1beta1B\013OracleProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\242\002\003IOX\252\002\030Injective.Oracle.V1beta1\312\002\030Injective\\Oracle\\V1beta1\342\002$Injective\\Oracle\\V1beta1\\GPBMetadata\352\002\032Injective::Oracle::V1beta1\300\343\036\001' + _globals['_ORACLETYPE'].values_by_name["Band"]._loaded_options = None + _globals['_ORACLETYPE'].values_by_name["Band"]._serialized_options = b'\010\001' + _globals['_ORACLETYPE'].values_by_name["Chainlink"]._loaded_options = None + _globals['_ORACLETYPE'].values_by_name["Chainlink"]._serialized_options = b'\010\001' + _globals['_ORACLETYPE'].values_by_name["BandIBC"]._loaded_options = None + _globals['_ORACLETYPE'].values_by_name["BandIBC"]._serialized_options = b'\010\001' + _globals['_PARAMS'].fields_by_name['seda_fast_params']._loaded_options = None + _globals['_PARAMS'].fields_by_name['seda_fast_params']._serialized_options = b'\310\336\037\000' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\roracle/Params' + _globals['_SEDAFASTPARAMS']._loaded_options = None + _globals['_SEDAFASTPARAMS']._serialized_options = b'\350\240\037\001' _globals['_CHAINLINKPRICESTATE'].fields_by_name['answer']._loaded_options = None _globals['_CHAINLINKPRICESTATE'].fields_by_name['answer']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_CHAINLINKPRICESTATE'].fields_by_name['price_state']._loaded_options = None _globals['_CHAINLINKPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' + _globals['_CHAINLINKPRICESTATE']._loaded_options = None + _globals['_CHAINLINKPRICESTATE']._serialized_options = b'\030\001' _globals['_BANDPRICESTATE'].fields_by_name['rate']._loaded_options = None _globals['_BANDPRICESTATE'].fields_by_name['rate']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_BANDPRICESTATE'].fields_by_name['price_state']._loaded_options = None _globals['_BANDPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' + _globals['_BANDPRICESTATE']._loaded_options = None + _globals['_BANDPRICESTATE']._serialized_options = b'\030\001' _globals['_PRICEFEEDPRICE'].fields_by_name['price']._loaded_options = None _globals['_PRICEFEEDPRICE'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_COINBASEPRICESTATE'].fields_by_name['price_state']._loaded_options = None @@ -55,8 +69,16 @@ _globals['_PYTHPRICESTATE'].fields_by_name['conf']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PYTHPRICESTATE'].fields_by_name['price_state']._loaded_options = None _globals['_PYTHPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' + _globals['_CHAINLINKDATASTREAMSPRICESTATE'].fields_by_name['report_price']._loaded_options = None + _globals['_CHAINLINKDATASTREAMSPRICESTATE'].fields_by_name['report_price']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_CHAINLINKDATASTREAMSPRICESTATE'].fields_by_name['price_state']._loaded_options = None + _globals['_CHAINLINKDATASTREAMSPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' _globals['_BANDORACLEREQUEST'].fields_by_name['fee_limit']._loaded_options = None _globals['_BANDORACLEREQUEST'].fields_by_name['fee_limit']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_BANDORACLEREQUEST']._loaded_options = None + _globals['_BANDORACLEREQUEST']._serialized_options = b'\030\001' + _globals['_BANDIBCPARAMS']._loaded_options = None + _globals['_BANDIBCPARAMS']._serialized_options = b'\030\001' _globals['_PRICERECORD'].fields_by_name['price']._loaded_options = None _globals['_PRICERECORD'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_METADATASTATISTICS'].fields_by_name['mean']._loaded_options = None @@ -71,54 +93,68 @@ _globals['_METADATASTATISTICS'].fields_by_name['median_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SIGNEDPRICEOFASSETPAIR'].fields_by_name['price']._loaded_options = None _globals['_SIGNEDPRICEOFASSETPAIR'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' - _globals['_ORACLETYPE']._serialized_start=4639 - _globals['_ORACLETYPE']._serialized_end=4809 - _globals['_PARAMS']._serialized_start=140 - _globals['_PARAMS']._serialized_end=209 - _globals['_ORACLEINFO']._serialized_start=211 - _globals['_ORACLEINFO']._serialized_end=318 - _globals['_CHAINLINKPRICESTATE']._serialized_start=321 - _globals['_CHAINLINKPRICESTATE']._serialized_end=535 - _globals['_BANDPRICESTATE']._serialized_start=538 - _globals['_BANDPRICESTATE']._serialized_end=772 - _globals['_PRICEFEEDSTATE']._serialized_start=775 - _globals['_PRICEFEEDSTATE']._serialized_end=932 - _globals['_PROVIDERINFO']._serialized_start=934 - _globals['_PROVIDERINFO']._serialized_end=1004 - _globals['_PROVIDERSTATE']._serialized_start=1007 - _globals['_PROVIDERSTATE']._serialized_end=1197 - _globals['_PROVIDERPRICESTATE']._serialized_start=1199 - _globals['_PROVIDERPRICESTATE']._serialized_end=1303 - _globals['_PRICEFEEDINFO']._serialized_start=1305 - _globals['_PRICEFEEDINFO']._serialized_end=1362 - _globals['_PRICEFEEDPRICE']._serialized_start=1364 - _globals['_PRICEFEEDPRICE']._serialized_end=1439 - _globals['_COINBASEPRICESTATE']._serialized_start=1442 - _globals['_COINBASEPRICESTATE']._serialized_end=1629 - _globals['_STORKPRICESTATE']._serialized_start=1632 - _globals['_STORKPRICESTATE']._serialized_end=1839 - _globals['_PRICESTATE']._serialized_start=1842 - _globals['_PRICESTATE']._serialized_end=2023 - _globals['_PYTHPRICESTATE']._serialized_start=2026 - _globals['_PYTHPRICESTATE']._serialized_end=2368 - _globals['_BANDORACLEREQUEST']._serialized_start=2371 - _globals['_BANDORACLEREQUEST']._serialized_end=2761 - _globals['_BANDIBCPARAMS']._serialized_start=2764 - _globals['_BANDIBCPARAMS']._serialized_end=3026 - _globals['_SYMBOLPRICETIMESTAMP']._serialized_start=3029 - _globals['_SYMBOLPRICETIMESTAMP']._serialized_end=3172 - _globals['_LASTPRICETIMESTAMPS']._serialized_start=3174 - _globals['_LASTPRICETIMESTAMPS']._serialized_end=3295 - _globals['_PRICERECORDS']._serialized_start=3298 - _globals['_PRICERECORDS']._serialized_end=3492 - _globals['_PRICERECORD']._serialized_start=3494 - _globals['_PRICERECORD']._serialized_end=3596 - _globals['_METADATASTATISTICS']._serialized_start=3599 - _globals['_METADATASTATISTICS']._serialized_end=4098 - _globals['_PRICEATTESTATION']._serialized_start=4101 - _globals['_PRICEATTESTATION']._serialized_end=4326 - _globals['_ASSETPAIR']._serialized_start=4328 - _globals['_ASSETPAIR']._serialized_end=4453 - _globals['_SIGNEDPRICEOFASSETPAIR']._serialized_start=4456 - _globals['_SIGNEDPRICEOFASSETPAIR']._serialized_end=4636 + _globals['_PYTHPROPRICESTATE'].fields_by_name['price_state']._loaded_options = None + _globals['_PYTHPROPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' + _globals['_SEDAFASTPRICESTATE'].fields_by_name['price_state']._loaded_options = None + _globals['_SEDAFASTPRICESTATE'].fields_by_name['price_state']._serialized_options = b'\310\336\037\000' + _globals['_ORACLETYPE']._serialized_start=6089 + _globals['_ORACLETYPE']._serialized_end=6324 + _globals['_PARAMS']._serialized_start=141 + _globals['_PARAMS']._serialized_end=668 + _globals['_SEDAFASTPARAMS']._serialized_start=671 + _globals['_SEDAFASTPARAMS']._serialized_end=812 + _globals['_ORACLEINFO']._serialized_start=814 + _globals['_ORACLEINFO']._serialized_end=921 + _globals['_CHAINLINKPRICESTATE']._serialized_start=924 + _globals['_CHAINLINKPRICESTATE']._serialized_end=1142 + _globals['_BANDPRICESTATE']._serialized_start=1145 + _globals['_BANDPRICESTATE']._serialized_end=1383 + _globals['_PRICEFEEDSTATE']._serialized_start=1386 + _globals['_PRICEFEEDSTATE']._serialized_end=1543 + _globals['_PROVIDERINFO']._serialized_start=1545 + _globals['_PROVIDERINFO']._serialized_end=1615 + _globals['_PROVIDERSTATE']._serialized_start=1618 + _globals['_PROVIDERSTATE']._serialized_end=1808 + _globals['_PROVIDERPRICESTATE']._serialized_start=1810 + _globals['_PROVIDERPRICESTATE']._serialized_end=1914 + _globals['_PRICEFEEDINFO']._serialized_start=1916 + _globals['_PRICEFEEDINFO']._serialized_end=1973 + _globals['_PRICEFEEDPRICE']._serialized_start=1975 + _globals['_PRICEFEEDPRICE']._serialized_end=2050 + _globals['_COINBASEPRICESTATE']._serialized_start=2053 + _globals['_COINBASEPRICESTATE']._serialized_end=2240 + _globals['_STORKPRICESTATE']._serialized_start=2243 + _globals['_STORKPRICESTATE']._serialized_end=2450 + _globals['_PRICESTATE']._serialized_start=2453 + _globals['_PRICESTATE']._serialized_end=2634 + _globals['_PYTHPRICESTATE']._serialized_start=2637 + _globals['_PYTHPRICESTATE']._serialized_end=2979 + _globals['_CHAINLINKDATASTREAMSPRICESTATE']._serialized_start=2982 + _globals['_CHAINLINKDATASTREAMSPRICESTATE']._serialized_end=3318 + _globals['_BANDORACLEREQUEST']._serialized_start=3321 + _globals['_BANDORACLEREQUEST']._serialized_end=3715 + _globals['_BANDIBCPARAMS']._serialized_start=3718 + _globals['_BANDIBCPARAMS']._serialized_end=3984 + _globals['_SYMBOLPRICETIMESTAMP']._serialized_start=3987 + _globals['_SYMBOLPRICETIMESTAMP']._serialized_end=4130 + _globals['_LASTPRICETIMESTAMPS']._serialized_start=4132 + _globals['_LASTPRICETIMESTAMPS']._serialized_end=4253 + _globals['_PRICERECORDS']._serialized_start=4256 + _globals['_PRICERECORDS']._serialized_end=4450 + _globals['_PRICERECORD']._serialized_start=4452 + _globals['_PRICERECORD']._serialized_end=4554 + _globals['_METADATASTATISTICS']._serialized_start=4557 + _globals['_METADATASTATISTICS']._serialized_end=5056 + _globals['_PRICEATTESTATION']._serialized_start=5059 + _globals['_PRICEATTESTATION']._serialized_end=5284 + _globals['_ASSETPAIR']._serialized_start=5286 + _globals['_ASSETPAIR']._serialized_end=5411 + _globals['_SIGNEDPRICEOFASSETPAIR']._serialized_start=5414 + _globals['_SIGNEDPRICEOFASSETPAIR']._serialized_end=5594 + _globals['_CHAINLINKREPORT']._serialized_start=5597 + _globals['_CHAINLINKREPORT']._serialized_end=5777 + _globals['_PYTHPROPRICESTATE']._serialized_start=5780 + _globals['_PYTHPROPRICESTATE']._serialized_end=5931 + _globals['_SEDAFASTPRICESTATE']._serialized_start=5934 + _globals['_SEDAFASTPRICESTATE']._serialized_end=6086 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/oracle/v1beta1/proposal_pb2.py b/pyinjective/proto/injective/oracle/v1beta1/proposal_pb2.py index be531435..db5c6aec 100644 --- a/pyinjective/proto/injective/oracle/v1beta1/proposal_pb2.py +++ b/pyinjective/proto/injective/oracle/v1beta1/proposal_pb2.py @@ -12,14 +12,14 @@ _sym_db = _symbol_database.Default() +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 -from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/oracle/v1beta1/proposal.proto\x12\x18injective.oracle.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xca\x01\n GrantBandOraclePrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08relayers\x18\x03 \x03(\tR\x08relayers:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'oracle/GrantBandOraclePrivilegeProposal\"\xcc\x01\n!RevokeBandOraclePrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08relayers\x18\x03 \x03(\tR\x08relayers:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(oracle/RevokeBandOraclePrivilegeProposal\"\xf6\x01\n!GrantPriceFeederPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04\x62\x61se\x18\x03 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x04 \x01(\tR\x05quote\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(oracle/GrantPriceFeederPrivilegeProposal\"\xe2\x01\n\x1eGrantProviderPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x04 \x03(\tR\x08relayers:P\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*%oracle/GrantProviderPrivilegeProposal\"\xe4\x01\n\x1fRevokeProviderPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&oracle/RevokeProviderPrivilegeProposal\"\xf8\x01\n\"RevokePriceFeederPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04\x62\x61se\x18\x03 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x04 \x01(\tR\x05quote\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:T\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*)oracle/RevokePriceFeederPrivilegeProposal\"\xff\x01\n\"AuthorizeBandOracleRequestProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x07request\x18\x03 \x01(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestB\x04\xc8\xde\x1f\x00R\x07request:T\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*)oracle/AuthorizeBandOracleRequestProposal\"\xbb\x02\n\x1fUpdateBandOracleRequestProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12,\n\x12\x64\x65lete_request_ids\x18\x03 \x03(\x04R\x10\x64\x65leteRequestIds\x12_\n\x15update_oracle_request\x18\x04 \x01(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestR\x13updateOracleRequest:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&oracle/UpdateBandOracleRequestProposal\"\xef\x01\n\x15\x45nableBandIBCProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\x0f\x62\x61nd_ibc_params\x18\x03 \x01(\x0b\x32\'.injective.oracle.v1beta1.BandIBCParamsB\x04\xc8\xde\x1f\x00R\rbandIbcParams:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1coracle/EnableBandIBCProposal\"\xe1\x01\n$GrantStorkPublisherPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12)\n\x10stork_publishers\x18\x03 \x03(\tR\x0fstorkPublishers:V\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*+oracle/GrantStorkPublisherPrivilegeProposal\"\xe3\x01\n%RevokeStorkPublisherPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12)\n\x10stork_publishers\x18\x03 \x03(\tR\x0fstorkPublishers:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,oracle/RevokeStorkPublisherPrivilegeProposalB\xfd\x01\n\x1c\x63om.injective.oracle.v1beta1B\rProposalProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/oracle/v1beta1/proposal.proto\x12\x18injective.oracle.v1beta1\x1a\x11\x61mino/amino.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a%injective/oracle/v1beta1/oracle.proto\"\xcc\x01\n GrantBandOraclePrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08relayers\x18\x03 \x03(\tR\x08relayers:T\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'oracle/GrantBandOraclePrivilegeProposal\"\xce\x01\n!RevokeBandOraclePrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08relayers\x18\x03 \x03(\tR\x08relayers:U\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(oracle/RevokeBandOraclePrivilegeProposal\"\xf6\x01\n!GrantPriceFeederPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04\x62\x61se\x18\x03 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x04 \x01(\tR\x05quote\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(oracle/GrantPriceFeederPrivilegeProposal\"\xe2\x01\n\x1eGrantProviderPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x04 \x03(\tR\x08relayers:P\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*%oracle/GrantProviderPrivilegeProposal\"\xe4\x01\n\x1fRevokeProviderPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&oracle/RevokeProviderPrivilegeProposal\"\xf8\x01\n\"RevokePriceFeederPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04\x62\x61se\x18\x03 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x04 \x01(\tR\x05quote\x12\x1a\n\x08relayers\x18\x05 \x03(\tR\x08relayers:T\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*)oracle/RevokePriceFeederPrivilegeProposal\"\x81\x02\n\"AuthorizeBandOracleRequestProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x07request\x18\x03 \x01(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestB\x04\xc8\xde\x1f\x00R\x07request:V\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*)oracle/AuthorizeBandOracleRequestProposal\"\xbd\x02\n\x1fUpdateBandOracleRequestProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12,\n\x12\x64\x65lete_request_ids\x18\x03 \x03(\x04R\x10\x64\x65leteRequestIds\x12_\n\x15update_oracle_request\x18\x04 \x01(\x0b\x32+.injective.oracle.v1beta1.BandOracleRequestR\x13updateOracleRequest:S\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&oracle/UpdateBandOracleRequestProposal\"\xf1\x01\n\x15\x45nableBandIBCProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\x0f\x62\x61nd_ibc_params\x18\x03 \x01(\x0b\x32\'.injective.oracle.v1beta1.BandIBCParamsB\x04\xc8\xde\x1f\x00R\rbandIbcParams:I\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1coracle/EnableBandIBCProposal\"\xe1\x01\n$GrantStorkPublisherPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12)\n\x10stork_publishers\x18\x03 \x03(\tR\x0fstorkPublishers:V\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*+oracle/GrantStorkPublisherPrivilegeProposal\"\xe3\x01\n%RevokeStorkPublisherPrivilegeProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12)\n\x10stork_publishers\x18\x03 \x03(\tR\x0fstorkPublishers:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,oracle/RevokeStorkPublisherPrivilegeProposalB\xfd\x01\n\x1c\x63om.injective.oracle.v1beta1B\rProposalProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -28,9 +28,9 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.oracle.v1beta1B\rProposalProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\242\002\003IOX\252\002\030Injective.Oracle.V1beta1\312\002\030Injective\\Oracle\\V1beta1\342\002$Injective\\Oracle\\V1beta1\\GPBMetadata\352\002\032Injective::Oracle::V1beta1' _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._loaded_options = None - _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\'oracle/GrantBandOraclePrivilegeProposal' + _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\'oracle/GrantBandOraclePrivilegeProposal' _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._loaded_options = None - _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(oracle/RevokeBandOraclePrivilegeProposal' + _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(oracle/RevokeBandOraclePrivilegeProposal' _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._loaded_options = None _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(oracle/GrantPriceFeederPrivilegeProposal' _globals['_GRANTPROVIDERPRIVILEGEPROPOSAL']._loaded_options = None @@ -42,37 +42,37 @@ _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL'].fields_by_name['request']._loaded_options = None _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL'].fields_by_name['request']._serialized_options = b'\310\336\037\000' _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._loaded_options = None - _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*)oracle/AuthorizeBandOracleRequestProposal' + _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*)oracle/AuthorizeBandOracleRequestProposal' _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._loaded_options = None - _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*&oracle/UpdateBandOracleRequestProposal' + _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*&oracle/UpdateBandOracleRequestProposal' _globals['_ENABLEBANDIBCPROPOSAL'].fields_by_name['band_ibc_params']._loaded_options = None _globals['_ENABLEBANDIBCPROPOSAL'].fields_by_name['band_ibc_params']._serialized_options = b'\310\336\037\000' _globals['_ENABLEBANDIBCPROPOSAL']._loaded_options = None - _globals['_ENABLEBANDIBCPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\034oracle/EnableBandIBCProposal' + _globals['_ENABLEBANDIBCPROPOSAL']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*\034oracle/EnableBandIBCProposal' _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._loaded_options = None _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*+oracle/GrantStorkPublisherPrivilegeProposal' _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._loaded_options = None _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*,oracle/RevokeStorkPublisherPrivilegeProposal' _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._serialized_start=209 - _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._serialized_end=411 - _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_start=414 - _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_end=618 - _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_start=621 - _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_end=867 - _globals['_GRANTPROVIDERPRIVILEGEPROPOSAL']._serialized_start=870 - _globals['_GRANTPROVIDERPRIVILEGEPROPOSAL']._serialized_end=1096 - _globals['_REVOKEPROVIDERPRIVILEGEPROPOSAL']._serialized_start=1099 - _globals['_REVOKEPROVIDERPRIVILEGEPROPOSAL']._serialized_end=1327 - _globals['_REVOKEPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_start=1330 - _globals['_REVOKEPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_end=1578 - _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_start=1581 - _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_end=1836 - _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_start=1839 - _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_end=2154 - _globals['_ENABLEBANDIBCPROPOSAL']._serialized_start=2157 - _globals['_ENABLEBANDIBCPROPOSAL']._serialized_end=2396 - _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_start=2399 - _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_end=2624 - _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_start=2627 - _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_end=2854 + _globals['_GRANTBANDORACLEPRIVILEGEPROPOSAL']._serialized_end=413 + _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_start=416 + _globals['_REVOKEBANDORACLEPRIVILEGEPROPOSAL']._serialized_end=622 + _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_start=625 + _globals['_GRANTPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_end=871 + _globals['_GRANTPROVIDERPRIVILEGEPROPOSAL']._serialized_start=874 + _globals['_GRANTPROVIDERPRIVILEGEPROPOSAL']._serialized_end=1100 + _globals['_REVOKEPROVIDERPRIVILEGEPROPOSAL']._serialized_start=1103 + _globals['_REVOKEPROVIDERPRIVILEGEPROPOSAL']._serialized_end=1331 + _globals['_REVOKEPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_start=1334 + _globals['_REVOKEPRICEFEEDERPRIVILEGEPROPOSAL']._serialized_end=1582 + _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_start=1585 + _globals['_AUTHORIZEBANDORACLEREQUESTPROPOSAL']._serialized_end=1842 + _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_start=1845 + _globals['_UPDATEBANDORACLEREQUESTPROPOSAL']._serialized_end=2162 + _globals['_ENABLEBANDIBCPROPOSAL']._serialized_start=2165 + _globals['_ENABLEBANDIBCPROPOSAL']._serialized_end=2406 + _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_start=2409 + _globals['_GRANTSTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_end=2634 + _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_start=2637 + _globals['_REVOKESTORKPUBLISHERPRIVILEGEPROPOSAL']._serialized_end=2864 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/oracle/v1beta1/query_pb2.py b/pyinjective/proto/injective/oracle/v1beta1/query_pb2.py index 31138e67..1a32807d 100644 --- a/pyinjective/proto/injective/oracle/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/oracle/v1beta1/query_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/oracle/v1beta1/query.proto\x12\x18injective.oracle.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a&injective/oracle/v1beta1/genesis.proto\x1a\x14gogoproto/gogo.proto\"2\n\x15QueryPythPriceRequest\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\"c\n\x16QueryPythPriceResponse\x12I\n\x0bprice_state\x18\x01 \x01(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\npriceState\"\x14\n\x12QueryParamsRequest\"U\n\x13QueryParamsResponse\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1a\n\x18QueryBandRelayersRequest\"7\n\x19QueryBandRelayersResponse\x12\x1a\n\x08relayers\x18\x01 \x03(\tR\x08relayers\"\x1d\n\x1bQueryBandPriceStatesRequest\"k\n\x1cQueryBandPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x0bpriceStates\" \n\x1eQueryBandIBCPriceStatesRequest\"n\n\x1fQueryBandIBCPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x0bpriceStates\"\"\n QueryPriceFeedPriceStatesRequest\"p\n!QueryPriceFeedPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.PriceFeedStateR\x0bpriceStates\"!\n\x1fQueryCoinbasePriceStatesRequest\"s\n QueryCoinbasePriceStatesResponse\x12O\n\x0cprice_states\x18\x01 \x03(\x0b\x32,.injective.oracle.v1beta1.CoinbasePriceStateR\x0bpriceStates\"\x1d\n\x1bQueryPythPriceStatesRequest\"k\n\x1cQueryPythPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\x0bpriceStates\"\x1e\n\x1cQueryStorkPriceStatesRequest\"m\n\x1dQueryStorkPriceStatesResponse\x12L\n\x0cprice_states\x18\x01 \x03(\x0b\x32).injective.oracle.v1beta1.StorkPriceStateR\x0bpriceStates\"\x1d\n\x1bQueryStorkPublishersRequest\">\n\x1cQueryStorkPublishersResponse\x12\x1e\n\npublishers\x18\x01 \x03(\tR\npublishers\"T\n\x1eQueryProviderPriceStateRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\"h\n\x1fQueryProviderPriceStateResponse\x12\x45\n\x0bprice_state\x18\x01 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\npriceState\"\x19\n\x17QueryModuleStateRequest\"X\n\x18QueryModuleStateResponse\x12<\n\x05state\x18\x01 \x01(\x0b\x32&.injective.oracle.v1beta1.GenesisStateR\x05state\"\x7f\n\"QueryHistoricalPriceRecordsRequest\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\"r\n#QueryHistoricalPriceRecordsResponse\x12K\n\rprice_records\x18\x01 \x03(\x0b\x32&.injective.oracle.v1beta1.PriceRecordsR\x0cpriceRecords\"\x8a\x01\n\x14OracleHistoryOptions\x12\x17\n\x07max_age\x18\x01 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x02 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x03 \x01(\x08R\x0fincludeMetadata\"\x8c\x02\n\x1cQueryOracleVolatilityRequest\x12\x41\n\tbase_info\x18\x01 \x01(\x0b\x32$.injective.oracle.v1beta1.OracleInfoR\x08\x62\x61seInfo\x12\x43\n\nquote_info\x18\x02 \x01(\x0b\x32$.injective.oracle.v1beta1.OracleInfoR\tquoteInfo\x12\x64\n\x16oracle_history_options\x18\x03 \x01(\x0b\x32..injective.oracle.v1beta1.OracleHistoryOptionsR\x14oracleHistoryOptions\"\x81\x02\n\x1dQueryOracleVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12\x46\n\x0braw_history\x18\x03 \x03(\x0b\x32%.injective.oracle.v1beta1.PriceRecordR\nrawHistory\"!\n\x1fQueryOracleProvidersInfoRequest\"h\n QueryOracleProvidersInfoResponse\x12\x44\n\tproviders\x18\x01 \x03(\x0b\x32&.injective.oracle.v1beta1.ProviderInfoR\tproviders\">\n QueryOracleProviderPricesRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\"r\n!QueryOracleProviderPricesResponse\x12M\n\rproviderState\x18\x01 \x03(\x0b\x32\'.injective.oracle.v1beta1.ProviderStateR\rproviderState\"\\\n\x0eScalingOptions\x12#\n\rbase_decimals\x18\x01 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x02 \x01(\rR\rquoteDecimals\"\xe3\x01\n\x17QueryOraclePriceRequest\x12\x45\n\x0boracle_type\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x12\n\x04\x62\x61se\x18\x02 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12W\n\x0fscaling_options\x18\x04 \x01(\x0b\x32(.injective.oracle.v1beta1.ScalingOptionsB\x04\xc8\xde\x1f\x01R\x0escalingOptions\"\xe2\x03\n\x0ePricePairState\x12\x42\n\npair_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tpairPrice\x12\x42\n\nbase_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tbasePrice\x12\x44\n\x0bquote_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nquotePrice\x12W\n\x15\x62\x61se_cumulative_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13\x62\x61seCumulativePrice\x12Y\n\x16quote_cumulative_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14quoteCumulativePrice\x12%\n\x0e\x62\x61se_timestamp\x18\x06 \x01(\x03R\rbaseTimestamp\x12\'\n\x0fquote_timestamp\x18\x07 \x01(\x03R\x0equoteTimestamp\"n\n\x18QueryOraclePriceResponse\x12R\n\x10price_pair_state\x18\x01 \x01(\x0b\x32(.injective.oracle.v1beta1.PricePairStateR\x0epricePairState2\xcd\x18\n\x05Query\x12\x8f\x01\n\x06Params\x12,.injective.oracle.v1beta1.QueryParamsRequest\x1a-.injective.oracle.v1beta1.QueryParamsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /injective/oracle/v1beta1/params\x12\xa8\x01\n\x0c\x42\x61ndRelayers\x12\x32.injective.oracle.v1beta1.QueryBandRelayersRequest\x1a\x33.injective.oracle.v1beta1.QueryBandRelayersResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/injective/oracle/v1beta1/band_relayers\x12\xb5\x01\n\x0f\x42\x61ndPriceStates\x12\x35.injective.oracle.v1beta1.QueryBandPriceStatesRequest\x1a\x36.injective.oracle.v1beta1.QueryBandPriceStatesResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/oracle/v1beta1/band_price_states\x12\xc2\x01\n\x12\x42\x61ndIBCPriceStates\x12\x38.injective.oracle.v1beta1.QueryBandIBCPriceStatesRequest\x1a\x39.injective.oracle.v1beta1.QueryBandIBCPriceStatesResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/oracle/v1beta1/band_ibc_price_states\x12\xc9\x01\n\x14PriceFeedPriceStates\x12:.injective.oracle.v1beta1.QueryPriceFeedPriceStatesRequest\x1a;.injective.oracle.v1beta1.QueryPriceFeedPriceStatesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/oracle/v1beta1/pricefeed_price_states\x12\xc5\x01\n\x13\x43oinbasePriceStates\x12\x39.injective.oracle.v1beta1.QueryCoinbasePriceStatesRequest\x1a:.injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/oracle/v1beta1/coinbase_price_states\x12\xb5\x01\n\x0fPythPriceStates\x12\x35.injective.oracle.v1beta1.QueryPythPriceStatesRequest\x1a\x36.injective.oracle.v1beta1.QueryPythPriceStatesResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/oracle/v1beta1/pyth_price_states\x12\xb9\x01\n\x10StorkPriceStates\x12\x36.injective.oracle.v1beta1.QueryStorkPriceStatesRequest\x1a\x37.injective.oracle.v1beta1.QueryStorkPriceStatesResponse\"4\x82\xd3\xe4\x93\x02.\x12,/injective/oracle/v1beta1/stork_price_states\x12\xb4\x01\n\x0fStorkPublishers\x12\x35.injective.oracle.v1beta1.QueryStorkPublishersRequest\x1a\x36.injective.oracle.v1beta1.QueryStorkPublishersResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/oracle/v1beta1/stork_publishers\x12\xd5\x01\n\x12ProviderPriceState\x12\x38.injective.oracle.v1beta1.QueryProviderPriceStateRequest\x1a\x39.injective.oracle.v1beta1.QueryProviderPriceStateResponse\"J\x82\xd3\xe4\x93\x02\x44\x12\x42/injective/oracle/v1beta1/provider_price_state/{provider}/{symbol}\x12\xaa\x01\n\x11OracleModuleState\x12\x31.injective.oracle.v1beta1.QueryModuleStateRequest\x1a\x32.injective.oracle.v1beta1.QueryModuleStateResponse\".\x82\xd3\xe4\x93\x02(\x12&/injective/oracle/v1beta1/module_state\x12\xd1\x01\n\x16HistoricalPriceRecords\x12<.injective.oracle.v1beta1.QueryHistoricalPriceRecordsRequest\x1a=.injective.oracle.v1beta1.QueryHistoricalPriceRecordsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/oracle/v1beta1/historical_price_records\x12\xb1\x01\n\x10OracleVolatility\x12\x36.injective.oracle.v1beta1.QueryOracleVolatilityRequest\x1a\x37.injective.oracle.v1beta1.QueryOracleVolatilityResponse\",\x82\xd3\xe4\x93\x02&\x12$/injective/oracle/v1beta1/volatility\x12\xb9\x01\n\x13OracleProvidersInfo\x12\x39.injective.oracle.v1beta1.QueryOracleProvidersInfoRequest\x1a:.injective.oracle.v1beta1.QueryOracleProvidersInfoResponse\"+\x82\xd3\xe4\x93\x02%\x12#/injective/oracle/v1beta1/providers\x12\xc2\x01\n\x14OracleProviderPrices\x12:.injective.oracle.v1beta1.QueryOracleProviderPricesRequest\x1a;.injective.oracle.v1beta1.QueryOracleProviderPricesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/oracle/v1beta1/provider_prices\x12\x9d\x01\n\x0bOraclePrice\x12\x31.injective.oracle.v1beta1.QueryOraclePriceRequest\x1a\x32.injective.oracle.v1beta1.QueryOraclePriceResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/injective/oracle/v1beta1/price\x12\x9c\x01\n\tPythPrice\x12/.injective.oracle.v1beta1.QueryPythPriceRequest\x1a\x30.injective.oracle.v1beta1.QueryPythPriceResponse\",\x82\xd3\xe4\x93\x02&\x12$/injective/oracle/v1beta1/pyth_priceB\xfa\x01\n\x1c\x63om.injective.oracle.v1beta1B\nQueryProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/oracle/v1beta1/query.proto\x12\x18injective.oracle.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a&injective/oracle/v1beta1/genesis.proto\x1a\x14gogoproto/gogo.proto\"2\n\x15QueryPythPriceRequest\x12\x19\n\x08price_id\x18\x01 \x01(\tR\x07priceId\"c\n\x16QueryPythPriceResponse\x12I\n\x0bprice_state\x18\x01 \x01(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\npriceState\"\x14\n\x12QueryParamsRequest\"U\n\x13QueryParamsResponse\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1a\n\x18QueryBandRelayersRequest\"7\n\x19QueryBandRelayersResponse\x12\x1a\n\x08relayers\x18\x01 \x03(\tR\x08relayers\"\x1d\n\x1bQueryBandPriceStatesRequest\"k\n\x1cQueryBandPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x0bpriceStates\" \n\x1eQueryBandIBCPriceStatesRequest\"n\n\x1fQueryBandIBCPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.BandPriceStateR\x0bpriceStates\"\"\n QueryPriceFeedPriceStatesRequest\"p\n!QueryPriceFeedPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.PriceFeedStateR\x0bpriceStates\"!\n\x1fQueryCoinbasePriceStatesRequest\"s\n QueryCoinbasePriceStatesResponse\x12O\n\x0cprice_states\x18\x01 \x03(\x0b\x32,.injective.oracle.v1beta1.CoinbasePriceStateR\x0bpriceStates\"\x1d\n\x1bQueryPythPriceStatesRequest\"k\n\x1cQueryPythPriceStatesResponse\x12K\n\x0cprice_states\x18\x01 \x03(\x0b\x32(.injective.oracle.v1beta1.PythPriceStateR\x0bpriceStates\" \n\x1eQueryPythProPriceStatesRequest\"q\n\x1fQueryPythProPriceStatesResponse\x12N\n\x0cprice_states\x18\x01 \x03(\x0b\x32+.injective.oracle.v1beta1.PythProPriceStateR\x0bpriceStates\"!\n\x1fQuerySedaFastPriceStatesRequest\"s\n QuerySedaFastPriceStatesResponse\x12O\n\x0cprice_states\x18\x01 \x03(\x0b\x32,.injective.oracle.v1beta1.SedaFastPriceStateR\x0bpriceStates\"\x1e\n\x1cQueryStorkPriceStatesRequest\"m\n\x1dQueryStorkPriceStatesResponse\x12L\n\x0cprice_states\x18\x01 \x03(\x0b\x32).injective.oracle.v1beta1.StorkPriceStateR\x0bpriceStates\"\x1d\n\x1bQueryStorkPublishersRequest\">\n\x1cQueryStorkPublishersResponse\x12\x1e\n\npublishers\x18\x01 \x03(\tR\npublishers\"T\n\x1eQueryProviderPriceStateRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x16\n\x06symbol\x18\x02 \x01(\tR\x06symbol\"h\n\x1fQueryProviderPriceStateResponse\x12\x45\n\x0bprice_state\x18\x01 \x01(\x0b\x32$.injective.oracle.v1beta1.PriceStateR\npriceState\"-\n+QueryChainlinkDataStreamsPriceStatesRequest\"\x8b\x01\n,QueryChainlinkDataStreamsPriceStatesResponse\x12[\n\x0cprice_states\x18\x01 \x03(\x0b\x32\x38.injective.oracle.v1beta1.ChainlinkDataStreamsPriceStateR\x0bpriceStates\"\x19\n\x17QueryModuleStateRequest\"X\n\x18QueryModuleStateResponse\x12<\n\x05state\x18\x01 \x01(\x0b\x32&.injective.oracle.v1beta1.GenesisStateR\x05state\"\x7f\n\"QueryHistoricalPriceRecordsRequest\x12<\n\x06oracle\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x06oracle\x12\x1b\n\tsymbol_id\x18\x02 \x01(\tR\x08symbolId\"r\n#QueryHistoricalPriceRecordsResponse\x12K\n\rprice_records\x18\x01 \x03(\x0b\x32&.injective.oracle.v1beta1.PriceRecordsR\x0cpriceRecords\"\x8a\x01\n\x14OracleHistoryOptions\x12\x17\n\x07max_age\x18\x01 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x02 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x03 \x01(\x08R\x0fincludeMetadata\"\x8c\x02\n\x1cQueryOracleVolatilityRequest\x12\x41\n\tbase_info\x18\x01 \x01(\x0b\x32$.injective.oracle.v1beta1.OracleInfoR\x08\x62\x61seInfo\x12\x43\n\nquote_info\x18\x02 \x01(\x0b\x32$.injective.oracle.v1beta1.OracleInfoR\tquoteInfo\x12\x64\n\x16oracle_history_options\x18\x03 \x01(\x0b\x32..injective.oracle.v1beta1.OracleHistoryOptionsR\x14oracleHistoryOptions\"\x81\x02\n\x1dQueryOracleVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12\x46\n\x0braw_history\x18\x03 \x03(\x0b\x32%.injective.oracle.v1beta1.PriceRecordR\nrawHistory\"!\n\x1fQueryOracleProvidersInfoRequest\"h\n QueryOracleProvidersInfoResponse\x12\x44\n\tproviders\x18\x01 \x03(\x0b\x32&.injective.oracle.v1beta1.ProviderInfoR\tproviders\">\n QueryOracleProviderPricesRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\"r\n!QueryOracleProviderPricesResponse\x12M\n\rproviderState\x18\x01 \x03(\x0b\x32\'.injective.oracle.v1beta1.ProviderStateR\rproviderState\"\\\n\x0eScalingOptions\x12#\n\rbase_decimals\x18\x01 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x02 \x01(\rR\rquoteDecimals\"\xe3\x01\n\x17QueryOraclePriceRequest\x12\x45\n\x0boracle_type\x18\x01 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x12\n\x04\x62\x61se\x18\x02 \x01(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x03 \x01(\tR\x05quote\x12W\n\x0fscaling_options\x18\x04 \x01(\x0b\x32(.injective.oracle.v1beta1.ScalingOptionsB\x04\xc8\xde\x1f\x01R\x0escalingOptions\"\xe2\x03\n\x0ePricePairState\x12\x42\n\npair_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tpairPrice\x12\x42\n\nbase_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tbasePrice\x12\x44\n\x0bquote_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nquotePrice\x12W\n\x15\x62\x61se_cumulative_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13\x62\x61seCumulativePrice\x12Y\n\x16quote_cumulative_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14quoteCumulativePrice\x12%\n\x0e\x62\x61se_timestamp\x18\x06 \x01(\x03R\rbaseTimestamp\x12\'\n\x0fquote_timestamp\x18\x07 \x01(\x03R\x0equoteTimestamp\"n\n\x18QueryOraclePriceResponse\x12R\n\x10price_pair_state\x18\x01 \x01(\x0b\x32(.injective.oracle.v1beta1.PricePairStateR\x0epricePairState2\xd4\x1d\n\x05Query\x12\x8f\x01\n\x06Params\x12,.injective.oracle.v1beta1.QueryParamsRequest\x1a-.injective.oracle.v1beta1.QueryParamsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /injective/oracle/v1beta1/params\x12\xa8\x01\n\x0c\x42\x61ndRelayers\x12\x32.injective.oracle.v1beta1.QueryBandRelayersRequest\x1a\x33.injective.oracle.v1beta1.QueryBandRelayersResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/injective/oracle/v1beta1/band_relayers\x12\xb5\x01\n\x0f\x42\x61ndPriceStates\x12\x35.injective.oracle.v1beta1.QueryBandPriceStatesRequest\x1a\x36.injective.oracle.v1beta1.QueryBandPriceStatesResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/oracle/v1beta1/band_price_states\x12\xc2\x01\n\x12\x42\x61ndIBCPriceStates\x12\x38.injective.oracle.v1beta1.QueryBandIBCPriceStatesRequest\x1a\x39.injective.oracle.v1beta1.QueryBandIBCPriceStatesResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/oracle/v1beta1/band_ibc_price_states\x12\xc9\x01\n\x14PriceFeedPriceStates\x12:.injective.oracle.v1beta1.QueryPriceFeedPriceStatesRequest\x1a;.injective.oracle.v1beta1.QueryPriceFeedPriceStatesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/oracle/v1beta1/pricefeed_price_states\x12\xc5\x01\n\x13\x43oinbasePriceStates\x12\x39.injective.oracle.v1beta1.QueryCoinbasePriceStatesRequest\x1a:.injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/oracle/v1beta1/coinbase_price_states\x12\xb5\x01\n\x0fPythPriceStates\x12\x35.injective.oracle.v1beta1.QueryPythPriceStatesRequest\x1a\x36.injective.oracle.v1beta1.QueryPythPriceStatesResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/oracle/v1beta1/pyth_price_states\x12\xc2\x01\n\x12PythProPriceStates\x12\x38.injective.oracle.v1beta1.QueryPythProPriceStatesRequest\x1a\x39.injective.oracle.v1beta1.QueryPythProPriceStatesResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/oracle/v1beta1/pyth_pro_price_states\x12\xc6\x01\n\x13SedaFastPriceStates\x12\x39.injective.oracle.v1beta1.QuerySedaFastPriceStatesRequest\x1a:.injective.oracle.v1beta1.QuerySedaFastPriceStatesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/oracle/v1beta1/seda_fast_price_states\x12\xb9\x01\n\x10StorkPriceStates\x12\x36.injective.oracle.v1beta1.QueryStorkPriceStatesRequest\x1a\x37.injective.oracle.v1beta1.QueryStorkPriceStatesResponse\"4\x82\xd3\xe4\x93\x02.\x12,/injective/oracle/v1beta1/stork_price_states\x12\xb4\x01\n\x0fStorkPublishers\x12\x35.injective.oracle.v1beta1.QueryStorkPublishersRequest\x1a\x36.injective.oracle.v1beta1.QueryStorkPublishersResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/oracle/v1beta1/stork_publishers\x12\xd5\x01\n\x12ProviderPriceState\x12\x38.injective.oracle.v1beta1.QueryProviderPriceStateRequest\x1a\x39.injective.oracle.v1beta1.QueryProviderPriceStateResponse\"J\x82\xd3\xe4\x93\x02\x44\x12\x42/injective/oracle/v1beta1/provider_price_state/{provider}/{symbol}\x12\xf6\x01\n\x1f\x43hainlinkDataStreamsPriceStates\x12\x45.injective.oracle.v1beta1.QueryChainlinkDataStreamsPriceStatesRequest\x1a\x46.injective.oracle.v1beta1.QueryChainlinkDataStreamsPriceStatesResponse\"D\x82\xd3\xe4\x93\x02>\x12\022\n\x06params\x18\x02 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:)\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x16oracle/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\xf6\x07\n\x03Msg\x12\x81\x01\n\x13RelayProviderPrices\x12\x30.injective.oracle.v1beta1.MsgRelayProviderPrices\x1a\x38.injective.oracle.v1beta1.MsgRelayProviderPricesResponse\x12\x81\x01\n\x13RelayPriceFeedPrice\x12\x30.injective.oracle.v1beta1.MsgRelayPriceFeedPrice\x1a\x38.injective.oracle.v1beta1.MsgRelayPriceFeedPriceResponse\x12r\n\x0eRelayBandRates\x12+.injective.oracle.v1beta1.MsgRelayBandRates\x1a\x33.injective.oracle.v1beta1.MsgRelayBandRatesResponse\x12\x81\x01\n\x13RequestBandIBCRates\x12\x30.injective.oracle.v1beta1.MsgRequestBandIBCRates\x1a\x38.injective.oracle.v1beta1.MsgRequestBandIBCRatesResponse\x12\x87\x01\n\x15RelayCoinbaseMessages\x12\x32.injective.oracle.v1beta1.MsgRelayCoinbaseMessages\x1a:.injective.oracle.v1beta1.MsgRelayCoinbaseMessagesResponse\x12y\n\x11RelayStorkMessage\x12-.injective.oracle.v1beta1.MsgRelayStorkPrices\x1a\x35.injective.oracle.v1beta1.MsgRelayStorkPricesResponse\x12u\n\x0fRelayPythPrices\x12,.injective.oracle.v1beta1.MsgRelayPythPrices\x1a\x34.injective.oracle.v1beta1.MsgRelayPythPricesResponse\x12l\n\x0cUpdateParams\x12).injective.oracle.v1beta1.MsgUpdateParams\x1a\x31.injective.oracle.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xf7\x01\n\x1c\x63om.injective.oracle.v1beta1B\x07TxProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/oracle/v1beta1/tx.proto\x12\x18injective.oracle.v1beta1\x1a\x14gogoproto/gogo.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\"\xda\x01\n\x16MsgRelayProviderPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12\x18\n\x07symbols\x18\x03 \x03(\tR\x07symbols\x12;\n\x06prices\x18\x04 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06prices:5\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1doracle/MsgRelayProviderPrices\" \n\x1eMsgRelayProviderPricesResponse\"\xcc\x01\n\x16MsgRelayPriceFeedPrice\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x12\n\x04\x62\x61se\x18\x02 \x03(\tR\x04\x62\x61se\x12\x14\n\x05quote\x18\x03 \x03(\tR\x05quote\x12\x39\n\x05price\x18\x04 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price:5\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1doracle/MsgRelayPriceFeedPrice\" \n\x1eMsgRelayPriceFeedPriceResponse\"\xcf\x01\n\x11MsgRelayBandRates\x12\x18\n\x07relayer\x18\x01 \x01(\tR\x07relayer\x12\x18\n\x07symbols\x18\x02 \x03(\tR\x07symbols\x12\x14\n\x05rates\x18\x03 \x03(\x04R\x05rates\x12#\n\rresolve_times\x18\x04 \x03(\x04R\x0cresolveTimes\x12\x1e\n\nrequestIDs\x18\x05 \x03(\x04R\nrequestIDs:+\x18\x01\x82\xe7\xb0*\x07relayer\x8a\xe7\xb0*\x18oracle/MsgRelayBandRates\"\x1f\n\x19MsgRelayBandRatesResponse:\x02\x18\x01\"\xa7\x01\n\x18MsgRelayCoinbaseMessages\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08messages\x18\x02 \x03(\x0cR\x08messages\x12\x1e\n\nsignatures\x18\x03 \x03(\x0cR\nsignatures:7\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1foracle/MsgRelayCoinbaseMessages\"\"\n MsgRelayCoinbaseMessagesResponse\"\x88\x01\n\x13MsgRelayStorkPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x44\n\x0b\x61sset_pairs\x18\x02 \x03(\x0b\x32#.injective.oracle.v1beta1.AssetPairR\nassetPairs:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"\x1d\n\x1bMsgRelayStorkPricesResponse\"\x88\x01\n\x16MsgRequestBandIBCRates\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1d\n\nrequest_id\x18\x02 \x01(\x04R\trequestId:7\x18\x01\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1doracle/MsgRequestBandIBCRates\"$\n\x1eMsgRequestBandIBCRatesResponse:\x02\x18\x01\"\xba\x01\n\x12MsgRelayPythPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12Y\n\x12price_attestations\x18\x02 \x03(\x0b\x32*.injective.oracle.v1beta1.PriceAttestationR\x11priceAttestations:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19oracle/MsgRelayPythPrices\"\x1c\n\x1aMsgRelayPythPricesResponse\"\xae\x01\n\x17MsgRelayChainlinkPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x07reports\x18\x02 \x03(\x0b\x32).injective.oracle.v1beta1.ChainlinkReportR\x07reports:6\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1eoracle/MsgRelayChainlinkPrices\"!\n\x1fMsgRelayChainlinkPricesResponse\"\x7f\n\x15MsgRelayPythProPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07updates\x18\x02 \x03(\x0cR\x07updates:4\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1coracle/MsgRelayPythProPrices\"\x1f\n\x1dMsgRelayPythProPricesResponse\"\x81\x01\n\x16MsgRelaySedaFastPrices\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07updates\x18\x02 \x03(\x0cR\x07updates:5\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1doracle/MsgRelaySedaFastPrices\" \n\x1eMsgRelaySedaFastPricesResponse\"\xb4\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12>\n\x06params\x18\x02 \x01(\x0b\x32 .injective.oracle.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:)\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x16oracle/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2\x89\t\n\x03Msg\x12\x81\x01\n\x13RelayProviderPrices\x12\x30.injective.oracle.v1beta1.MsgRelayProviderPrices\x1a\x38.injective.oracle.v1beta1.MsgRelayProviderPricesResponse\x12\x81\x01\n\x13RelayPriceFeedPrice\x12\x30.injective.oracle.v1beta1.MsgRelayPriceFeedPrice\x1a\x38.injective.oracle.v1beta1.MsgRelayPriceFeedPriceResponse\x12\x87\x01\n\x15RelayCoinbaseMessages\x12\x32.injective.oracle.v1beta1.MsgRelayCoinbaseMessages\x1a:.injective.oracle.v1beta1.MsgRelayCoinbaseMessagesResponse\x12y\n\x11RelayStorkMessage\x12-.injective.oracle.v1beta1.MsgRelayStorkPrices\x1a\x35.injective.oracle.v1beta1.MsgRelayStorkPricesResponse\x12u\n\x0fRelayPythPrices\x12,.injective.oracle.v1beta1.MsgRelayPythPrices\x1a\x34.injective.oracle.v1beta1.MsgRelayPythPricesResponse\x12\x84\x01\n\x14RelayChainlinkPrices\x12\x31.injective.oracle.v1beta1.MsgRelayChainlinkPrices\x1a\x39.injective.oracle.v1beta1.MsgRelayChainlinkPricesResponse\x12~\n\x12RelayPythProPrices\x12/.injective.oracle.v1beta1.MsgRelayPythProPrices\x1a\x37.injective.oracle.v1beta1.MsgRelayPythProPricesResponse\x12\x81\x01\n\x13RelaySedaFastPrices\x12\x30.injective.oracle.v1beta1.MsgRelaySedaFastPrices\x1a\x38.injective.oracle.v1beta1.MsgRelaySedaFastPricesResponse\x12l\n\x0cUpdateParams\x12).injective.oracle.v1beta1.MsgUpdateParams\x1a\x31.injective.oracle.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xf7\x01\n\x1c\x63om.injective.oracle.v1beta1B\x07TxProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types\xa2\x02\x03IOX\xaa\x02\x18Injective.Oracle.V1beta1\xca\x02\x18Injective\\Oracle\\V1beta1\xe2\x02$Injective\\Oracle\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Oracle::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,15 +36,25 @@ _globals['_MSGRELAYPRICEFEEDPRICE']._loaded_options = None _globals['_MSGRELAYPRICEFEEDPRICE']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\035oracle/MsgRelayPriceFeedPrice' _globals['_MSGRELAYBANDRATES']._loaded_options = None - _globals['_MSGRELAYBANDRATES']._serialized_options = b'\202\347\260*\007relayer\212\347\260*\030oracle/MsgRelayBandRates' + _globals['_MSGRELAYBANDRATES']._serialized_options = b'\030\001\202\347\260*\007relayer\212\347\260*\030oracle/MsgRelayBandRates' + _globals['_MSGRELAYBANDRATESRESPONSE']._loaded_options = None + _globals['_MSGRELAYBANDRATESRESPONSE']._serialized_options = b'\030\001' _globals['_MSGRELAYCOINBASEMESSAGES']._loaded_options = None _globals['_MSGRELAYCOINBASEMESSAGES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\037oracle/MsgRelayCoinbaseMessages' _globals['_MSGRELAYSTORKPRICES']._loaded_options = None _globals['_MSGRELAYSTORKPRICES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender' _globals['_MSGREQUESTBANDIBCRATES']._loaded_options = None - _globals['_MSGREQUESTBANDIBCRATES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\035oracle/MsgRequestBandIBCRates' + _globals['_MSGREQUESTBANDIBCRATES']._serialized_options = b'\030\001\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\035oracle/MsgRequestBandIBCRates' + _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._loaded_options = None + _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._serialized_options = b'\030\001' _globals['_MSGRELAYPYTHPRICES']._loaded_options = None _globals['_MSGRELAYPYTHPRICES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\031oracle/MsgRelayPythPrices' + _globals['_MSGRELAYCHAINLINKPRICES']._loaded_options = None + _globals['_MSGRELAYCHAINLINKPRICES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\036oracle/MsgRelayChainlinkPrices' + _globals['_MSGRELAYPYTHPROPRICES']._loaded_options = None + _globals['_MSGRELAYPYTHPROPRICES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\034oracle/MsgRelayPythProPrices' + _globals['_MSGRELAYSEDAFASTPRICES']._loaded_options = None + _globals['_MSGRELAYSEDAFASTPRICES']._serialized_options = b'\210\240\037\000\350\240\037\000\202\347\260*\006sender\212\347\260*\035oracle/MsgRelaySedaFastPrices' _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None @@ -62,29 +72,41 @@ _globals['_MSGRELAYPRICEFEEDPRICERESPONSE']._serialized_start=657 _globals['_MSGRELAYPRICEFEEDPRICERESPONSE']._serialized_end=689 _globals['_MSGRELAYBANDRATES']._serialized_start=692 - _globals['_MSGRELAYBANDRATES']._serialized_end=897 - _globals['_MSGRELAYBANDRATESRESPONSE']._serialized_start=899 - _globals['_MSGRELAYBANDRATESRESPONSE']._serialized_end=926 - _globals['_MSGRELAYCOINBASEMESSAGES']._serialized_start=929 - _globals['_MSGRELAYCOINBASEMESSAGES']._serialized_end=1096 - _globals['_MSGRELAYCOINBASEMESSAGESRESPONSE']._serialized_start=1098 - _globals['_MSGRELAYCOINBASEMESSAGESRESPONSE']._serialized_end=1132 - _globals['_MSGRELAYSTORKPRICES']._serialized_start=1135 - _globals['_MSGRELAYSTORKPRICES']._serialized_end=1271 - _globals['_MSGRELAYSTORKPRICESRESPONSE']._serialized_start=1273 - _globals['_MSGRELAYSTORKPRICESRESPONSE']._serialized_end=1302 - _globals['_MSGREQUESTBANDIBCRATES']._serialized_start=1305 - _globals['_MSGREQUESTBANDIBCRATES']._serialized_end=1439 - _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._serialized_start=1441 - _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._serialized_end=1473 - _globals['_MSGRELAYPYTHPRICES']._serialized_start=1476 - _globals['_MSGRELAYPYTHPRICES']._serialized_end=1662 - _globals['_MSGRELAYPYTHPRICESRESPONSE']._serialized_start=1664 - _globals['_MSGRELAYPYTHPRICESRESPONSE']._serialized_end=1692 - _globals['_MSGUPDATEPARAMS']._serialized_start=1695 - _globals['_MSGUPDATEPARAMS']._serialized_end=1875 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1877 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1902 - _globals['_MSG']._serialized_start=1905 - _globals['_MSG']._serialized_end=2919 + _globals['_MSGRELAYBANDRATES']._serialized_end=899 + _globals['_MSGRELAYBANDRATESRESPONSE']._serialized_start=901 + _globals['_MSGRELAYBANDRATESRESPONSE']._serialized_end=932 + _globals['_MSGRELAYCOINBASEMESSAGES']._serialized_start=935 + _globals['_MSGRELAYCOINBASEMESSAGES']._serialized_end=1102 + _globals['_MSGRELAYCOINBASEMESSAGESRESPONSE']._serialized_start=1104 + _globals['_MSGRELAYCOINBASEMESSAGESRESPONSE']._serialized_end=1138 + _globals['_MSGRELAYSTORKPRICES']._serialized_start=1141 + _globals['_MSGRELAYSTORKPRICES']._serialized_end=1277 + _globals['_MSGRELAYSTORKPRICESRESPONSE']._serialized_start=1279 + _globals['_MSGRELAYSTORKPRICESRESPONSE']._serialized_end=1308 + _globals['_MSGREQUESTBANDIBCRATES']._serialized_start=1311 + _globals['_MSGREQUESTBANDIBCRATES']._serialized_end=1447 + _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._serialized_start=1449 + _globals['_MSGREQUESTBANDIBCRATESRESPONSE']._serialized_end=1485 + _globals['_MSGRELAYPYTHPRICES']._serialized_start=1488 + _globals['_MSGRELAYPYTHPRICES']._serialized_end=1674 + _globals['_MSGRELAYPYTHPRICESRESPONSE']._serialized_start=1676 + _globals['_MSGRELAYPYTHPRICESRESPONSE']._serialized_end=1704 + _globals['_MSGRELAYCHAINLINKPRICES']._serialized_start=1707 + _globals['_MSGRELAYCHAINLINKPRICES']._serialized_end=1881 + _globals['_MSGRELAYCHAINLINKPRICESRESPONSE']._serialized_start=1883 + _globals['_MSGRELAYCHAINLINKPRICESRESPONSE']._serialized_end=1916 + _globals['_MSGRELAYPYTHPROPRICES']._serialized_start=1918 + _globals['_MSGRELAYPYTHPROPRICES']._serialized_end=2045 + _globals['_MSGRELAYPYTHPROPRICESRESPONSE']._serialized_start=2047 + _globals['_MSGRELAYPYTHPROPRICESRESPONSE']._serialized_end=2078 + _globals['_MSGRELAYSEDAFASTPRICES']._serialized_start=2081 + _globals['_MSGRELAYSEDAFASTPRICES']._serialized_end=2210 + _globals['_MSGRELAYSEDAFASTPRICESRESPONSE']._serialized_start=2212 + _globals['_MSGRELAYSEDAFASTPRICESRESPONSE']._serialized_end=2244 + _globals['_MSGUPDATEPARAMS']._serialized_start=2247 + _globals['_MSGUPDATEPARAMS']._serialized_end=2427 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2429 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2454 + _globals['_MSG']._serialized_start=2457 + _globals['_MSG']._serialized_end=3618 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/oracle/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/oracle/v1beta1/tx_pb2_grpc.py index 7c505717..1e60f762 100644 --- a/pyinjective/proto/injective/oracle/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/oracle/v1beta1/tx_pb2_grpc.py @@ -25,16 +25,6 @@ def __init__(self, channel): request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPriceFeedPrice.SerializeToString, response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPriceFeedPriceResponse.FromString, _registered_method=True) - self.RelayBandRates = channel.unary_unary( - '/injective.oracle.v1beta1.Msg/RelayBandRates', - request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRates.SerializeToString, - response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRatesResponse.FromString, - _registered_method=True) - self.RequestBandIBCRates = channel.unary_unary( - '/injective.oracle.v1beta1.Msg/RequestBandIBCRates', - request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRates.SerializeToString, - response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRatesResponse.FromString, - _registered_method=True) self.RelayCoinbaseMessages = channel.unary_unary( '/injective.oracle.v1beta1.Msg/RelayCoinbaseMessages', request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessages.SerializeToString, @@ -50,6 +40,21 @@ def __init__(self, channel): request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPrices.SerializeToString, response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPricesResponse.FromString, _registered_method=True) + self.RelayChainlinkPrices = channel.unary_unary( + '/injective.oracle.v1beta1.Msg/RelayChainlinkPrices', + request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPrices.SerializeToString, + response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPricesResponse.FromString, + _registered_method=True) + self.RelayPythProPrices = channel.unary_unary( + '/injective.oracle.v1beta1.Msg/RelayPythProPrices', + request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPrices.SerializeToString, + response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPricesResponse.FromString, + _registered_method=True) + self.RelaySedaFastPrices = channel.unary_unary( + '/injective.oracle.v1beta1.Msg/RelaySedaFastPrices', + request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPrices.SerializeToString, + response_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPricesResponse.FromString, + _registered_method=True) self.UpdateParams = channel.unary_unary( '/injective.oracle.v1beta1.Msg/UpdateParams', request_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, @@ -77,38 +82,50 @@ def RelayPriceFeedPrice(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RelayBandRates(self, request, context): - """RelayBandRates defines a method for relaying rates from Band + def RelayCoinbaseMessages(self, request, context): + """RelayCoinbaseMessages defines a method for relaying price messages from + Coinbase API """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RequestBandIBCRates(self, request, context): - """RequestBandIBCRates defines a method for fetching rates from Band ibc + def RelayStorkMessage(self, request, context): + """RelayStorkMessage defines a method for relaying price message from + Stork API """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RelayCoinbaseMessages(self, request, context): - """RelayCoinbaseMessages defines a method for relaying price messages from - Coinbase API + def RelayPythPrices(self, request, context): + """RelayPythPrices defines a method for relaying rates from the Pyth contract """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RelayStorkMessage(self, request, context): - """RelayStorkMessage defines a method for relaying price message from - Stork API + def RelayChainlinkPrices(self, request, context): + """RelayChainlinkPrices defines a method for relaying rates from Chainlink + Data Streams """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def RelayPythPrices(self, request, context): - """RelayPythPrices defines a method for relaying rates from the Pyth contract + def RelayPythProPrices(self, request, context): + """RelayPythProPrices defines a method for relaying price updates from the + Pyth Pro (Lazer) service, verified via the PythLazer EVM contract. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RelaySedaFastPrices(self, request, context): + """RelaySedaFastPrices defines a method for relaying price updates from the + SEDA Fast WebSocket stream. Each update carries the raw JSON envelope + received from SEDA Fast; the chain verifies the secp256k1 signature and + decodes the price on-chain. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -134,16 +151,6 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPriceFeedPrice.FromString, response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPriceFeedPriceResponse.SerializeToString, ), - 'RelayBandRates': grpc.unary_unary_rpc_method_handler( - servicer.RelayBandRates, - request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRates.FromString, - response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRatesResponse.SerializeToString, - ), - 'RequestBandIBCRates': grpc.unary_unary_rpc_method_handler( - servicer.RequestBandIBCRates, - request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRates.FromString, - response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRatesResponse.SerializeToString, - ), 'RelayCoinbaseMessages': grpc.unary_unary_rpc_method_handler( servicer.RelayCoinbaseMessages, request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessages.FromString, @@ -159,6 +166,21 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPrices.FromString, response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPricesResponse.SerializeToString, ), + 'RelayChainlinkPrices': grpc.unary_unary_rpc_method_handler( + servicer.RelayChainlinkPrices, + request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPrices.FromString, + response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPricesResponse.SerializeToString, + ), + 'RelayPythProPrices': grpc.unary_unary_rpc_method_handler( + servicer.RelayPythProPrices, + request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPrices.FromString, + response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPricesResponse.SerializeToString, + ), + 'RelaySedaFastPrices': grpc.unary_unary_rpc_method_handler( + servicer.RelaySedaFastPrices, + request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPrices.FromString, + response_serializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPricesResponse.SerializeToString, + ), 'UpdateParams': grpc.unary_unary_rpc_method_handler( servicer.UpdateParams, request_deserializer=injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, @@ -231,7 +253,34 @@ def RelayPriceFeedPrice(request, _registered_method=True) @staticmethod - def RelayBandRates(request, + def RelayCoinbaseMessages(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.oracle.v1beta1.Msg/RelayCoinbaseMessages', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessages.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessagesResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def RelayStorkMessage(request, target, options=(), channel_credentials=None, @@ -244,9 +293,9 @@ def RelayBandRates(request, return grpc.experimental.unary_unary( request, target, - '/injective.oracle.v1beta1.Msg/RelayBandRates', - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRates.SerializeToString, - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayBandRatesResponse.FromString, + '/injective.oracle.v1beta1.Msg/RelayStorkMessage', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayStorkPrices.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayStorkPricesResponse.FromString, options, channel_credentials, insecure, @@ -258,7 +307,7 @@ def RelayBandRates(request, _registered_method=True) @staticmethod - def RequestBandIBCRates(request, + def RelayPythPrices(request, target, options=(), channel_credentials=None, @@ -271,9 +320,9 @@ def RequestBandIBCRates(request, return grpc.experimental.unary_unary( request, target, - '/injective.oracle.v1beta1.Msg/RequestBandIBCRates', - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRates.SerializeToString, - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRequestBandIBCRatesResponse.FromString, + '/injective.oracle.v1beta1.Msg/RelayPythPrices', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPrices.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPricesResponse.FromString, options, channel_credentials, insecure, @@ -285,7 +334,7 @@ def RequestBandIBCRates(request, _registered_method=True) @staticmethod - def RelayCoinbaseMessages(request, + def RelayChainlinkPrices(request, target, options=(), channel_credentials=None, @@ -298,9 +347,9 @@ def RelayCoinbaseMessages(request, return grpc.experimental.unary_unary( request, target, - '/injective.oracle.v1beta1.Msg/RelayCoinbaseMessages', - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessages.SerializeToString, - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayCoinbaseMessagesResponse.FromString, + '/injective.oracle.v1beta1.Msg/RelayChainlinkPrices', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPrices.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayChainlinkPricesResponse.FromString, options, channel_credentials, insecure, @@ -312,7 +361,7 @@ def RelayCoinbaseMessages(request, _registered_method=True) @staticmethod - def RelayStorkMessage(request, + def RelayPythProPrices(request, target, options=(), channel_credentials=None, @@ -325,9 +374,9 @@ def RelayStorkMessage(request, return grpc.experimental.unary_unary( request, target, - '/injective.oracle.v1beta1.Msg/RelayStorkMessage', - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayStorkPrices.SerializeToString, - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayStorkPricesResponse.FromString, + '/injective.oracle.v1beta1.Msg/RelayPythProPrices', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPrices.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythProPricesResponse.FromString, options, channel_credentials, insecure, @@ -339,7 +388,7 @@ def RelayStorkMessage(request, _registered_method=True) @staticmethod - def RelayPythPrices(request, + def RelaySedaFastPrices(request, target, options=(), channel_credentials=None, @@ -352,9 +401,9 @@ def RelayPythPrices(request, return grpc.experimental.unary_unary( request, target, - '/injective.oracle.v1beta1.Msg/RelayPythPrices', - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPrices.SerializeToString, - injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelayPythPricesResponse.FromString, + '/injective.oracle.v1beta1.Msg/RelaySedaFastPrices', + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPrices.SerializeToString, + injective_dot_oracle_dot_v1beta1_dot_tx__pb2.MsgRelaySedaFastPricesResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/injective/peggy/v1/attestation_pb2.py b/pyinjective/proto/injective/peggy/v1/attestation_pb2.py index 7eb9cb25..c3b61154 100644 --- a/pyinjective/proto/injective/peggy/v1/attestation_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/attestation_pb2.py @@ -12,11 +12,12 @@ _sym_db = _symbol_database.Default() +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/peggy/v1/attestation.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\"\x83\x01\n\x0b\x41ttestation\x12\x1a\n\x08observed\x18\x01 \x01(\x08R\x08observed\x12\x14\n\x05votes\x18\x02 \x03(\tR\x05votes\x12\x16\n\x06height\x18\x03 \x01(\x04R\x06height\x12*\n\x05\x63laim\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x05\x63laim\"_\n\nERC20Token\x12\x1a\n\x08\x63ontract\x18\x01 \x01(\tR\x08\x63ontract\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount*\x9f\x02\n\tClaimType\x12.\n\x12\x43LAIM_TYPE_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12\x43LAIM_TYPE_UNKNOWN\x12.\n\x12\x43LAIM_TYPE_DEPOSIT\x10\x01\x1a\x16\x8a\x9d \x12\x43LAIM_TYPE_DEPOSIT\x12\x30\n\x13\x43LAIM_TYPE_WITHDRAW\x10\x02\x1a\x17\x8a\x9d \x13\x43LAIM_TYPE_WITHDRAW\x12<\n\x19\x43LAIM_TYPE_ERC20_DEPLOYED\x10\x03\x1a\x1d\x8a\x9d \x19\x43LAIM_TYPE_ERC20_DEPLOYED\x12<\n\x19\x43LAIM_TYPE_VALSET_UPDATED\x10\x04\x1a\x1d\x8a\x9d \x19\x43LAIM_TYPE_VALSET_UPDATED\x1a\x04\x88\xa3\x1e\x00\x42\xe1\x01\n\x16\x63om.injective.peggy.v1B\x10\x41ttestationProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/peggy/v1/attestation.proto\x12\x12injective.peggy.v1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\"\xa4\x01\n\x0b\x41ttestation\x12\x1a\n\x08observed\x18\x01 \x01(\x08R\x08observed\x12\x14\n\x05votes\x18\x02 \x03(\tR\x05votes\x12\x16\n\x06height\x18\x03 \x01(\x04R\x06height\x12K\n\x05\x63laim\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyB\x1f\xca\xb4-\x1bpeggy.v1beta1.EthereumClaimR\x05\x63laim\"_\n\nERC20Token\x12\x1a\n\x08\x63ontract\x18\x01 \x01(\tR\x08\x63ontract\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount*\x9f\x02\n\tClaimType\x12.\n\x12\x43LAIM_TYPE_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12\x43LAIM_TYPE_UNKNOWN\x12.\n\x12\x43LAIM_TYPE_DEPOSIT\x10\x01\x1a\x16\x8a\x9d \x12\x43LAIM_TYPE_DEPOSIT\x12\x30\n\x13\x43LAIM_TYPE_WITHDRAW\x10\x02\x1a\x17\x8a\x9d \x13\x43LAIM_TYPE_WITHDRAW\x12<\n\x19\x43LAIM_TYPE_ERC20_DEPLOYED\x10\x03\x1a\x1d\x8a\x9d \x19\x43LAIM_TYPE_ERC20_DEPLOYED\x12<\n\x19\x43LAIM_TYPE_VALSET_UPDATED\x10\x04\x1a\x1d\x8a\x9d \x19\x43LAIM_TYPE_VALSET_UPDATED\x1a\x04\x88\xa3\x1e\x00\x42\xe1\x01\n\x16\x63om.injective.peggy.v1B\x10\x41ttestationProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,12 +37,14 @@ _globals['_CLAIMTYPE'].values_by_name["CLAIM_TYPE_ERC20_DEPLOYED"]._serialized_options = b'\212\235 \031CLAIM_TYPE_ERC20_DEPLOYED' _globals['_CLAIMTYPE'].values_by_name["CLAIM_TYPE_VALSET_UPDATED"]._loaded_options = None _globals['_CLAIMTYPE'].values_by_name["CLAIM_TYPE_VALSET_UPDATED"]._serialized_options = b'\212\235 \031CLAIM_TYPE_VALSET_UPDATED' + _globals['_ATTESTATION'].fields_by_name['claim']._loaded_options = None + _globals['_ATTESTATION'].fields_by_name['claim']._serialized_options = b'\312\264-\033peggy.v1beta1.EthereumClaim' _globals['_ERC20TOKEN'].fields_by_name['amount']._loaded_options = None _globals['_ERC20TOKEN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_CLAIMTYPE']._serialized_start=341 - _globals['_CLAIMTYPE']._serialized_end=628 - _globals['_ATTESTATION']._serialized_start=110 - _globals['_ATTESTATION']._serialized_end=241 - _globals['_ERC20TOKEN']._serialized_start=243 - _globals['_ERC20TOKEN']._serialized_end=338 + _globals['_CLAIMTYPE']._serialized_start=401 + _globals['_CLAIMTYPE']._serialized_end=688 + _globals['_ATTESTATION']._serialized_start=137 + _globals['_ATTESTATION']._serialized_end=301 + _globals['_ERC20TOKEN']._serialized_start=303 + _globals['_ERC20TOKEN']._serialized_end=398 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/batch_pb2.py b/pyinjective/proto/injective/peggy/v1/batch_pb2.py index de226d8d..e26a9c08 100644 --- a/pyinjective/proto/injective/peggy/v1/batch_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/batch_pb2.py @@ -12,10 +12,11 @@ _sym_db = _symbol_database.Default() +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.injective.peggy.v1 import attestation_pb2 as injective_dot_peggy_dot_v1_dot_attestation__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/peggy/v1/batch.proto\x12\x12injective.peggy.v1\x1a$injective/peggy/v1/attestation.proto\"\xe0\x01\n\x0fOutgoingTxBatch\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x01 \x01(\x04R\nbatchNonce\x12#\n\rbatch_timeout\x18\x02 \x01(\x04R\x0c\x62\x61tchTimeout\x12J\n\x0ctransactions\x18\x03 \x03(\x0b\x32&.injective.peggy.v1.OutgoingTransferTxR\x0ctransactions\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\x14\n\x05\x62lock\x18\x05 \x01(\x04R\x05\x62lock\"\xdd\x01\n\x12OutgoingTransferTx\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender\x12!\n\x0c\x64\x65st_address\x18\x03 \x01(\tR\x0b\x64\x65stAddress\x12?\n\x0b\x65rc20_token\x18\x04 \x01(\x0b\x32\x1e.injective.peggy.v1.ERC20TokenR\nerc20Token\x12;\n\terc20_fee\x18\x05 \x01(\x0b\x32\x1e.injective.peggy.v1.ERC20TokenR\x08\x65rc20FeeB\xdb\x01\n\x16\x63om.injective.peggy.v1B\nBatchProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/peggy/v1/batch.proto\x12\x12injective.peggy.v1\x1a\x19\x63osmos_proto/cosmos.proto\x1a$injective/peggy/v1/attestation.proto\"\x87\x02\n\x0fOutgoingTxBatch\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x01 \x01(\x04R\nbatchNonce\x12#\n\rbatch_timeout\x18\x02 \x01(\x04R\x0c\x62\x61tchTimeout\x12J\n\x0ctransactions\x18\x03 \x03(\x0b\x32&.injective.peggy.v1.OutgoingTransferTxR\x0ctransactions\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\x14\n\x05\x62lock\x18\x05 \x01(\x04R\x05\x62lock:%\xca\xb4-!injective.peggy.v1.EthereumSigned\"\xdd\x01\n\x12OutgoingTransferTx\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender\x12!\n\x0c\x64\x65st_address\x18\x03 \x01(\tR\x0b\x64\x65stAddress\x12?\n\x0b\x65rc20_token\x18\x04 \x01(\x0b\x32\x1e.injective.peggy.v1.ERC20TokenR\nerc20Token\x12;\n\terc20_fee\x18\x05 \x01(\x0b\x32\x1e.injective.peggy.v1.ERC20TokenR\x08\x65rc20FeeB\xdb\x01\n\x16\x63om.injective.peggy.v1B\nBatchProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,8 +24,10 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.peggy.v1B\nBatchProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\242\002\003IPX\252\002\022Injective.Peggy.V1\312\002\022Injective\\Peggy\\V1\342\002\036Injective\\Peggy\\V1\\GPBMetadata\352\002\024Injective::Peggy::V1' - _globals['_OUTGOINGTXBATCH']._serialized_start=93 - _globals['_OUTGOINGTXBATCH']._serialized_end=317 - _globals['_OUTGOINGTRANSFERTX']._serialized_start=320 - _globals['_OUTGOINGTRANSFERTX']._serialized_end=541 + _globals['_OUTGOINGTXBATCH']._loaded_options = None + _globals['_OUTGOINGTXBATCH']._serialized_options = b'\312\264-!injective.peggy.v1.EthereumSigned' + _globals['_OUTGOINGTXBATCH']._serialized_start=120 + _globals['_OUTGOINGTXBATCH']._serialized_end=383 + _globals['_OUTGOINGTRANSFERTX']._serialized_start=386 + _globals['_OUTGOINGTRANSFERTX']._serialized_end=607 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/events_pb2.py b/pyinjective/proto/injective/peggy/v1/events_pb2.py index 921a69ac..6ec33193 100644 --- a/pyinjective/proto/injective/peggy/v1/events_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/events_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.injective.peggy.v1 import types_pb2 as injective_dot_peggy_dot_v1_dot_types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/peggy/v1/events.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a$injective/peggy/v1/attestation.proto\x1a\x1einjective/peggy/v1/types.proto\"\xf2\x01\n\x18\x45ventAttestationObserved\x12H\n\x10\x61ttestation_type\x18\x01 \x01(\x0e\x32\x1d.injective.peggy.v1.ClaimTypeR\x0f\x61ttestationType\x12\'\n\x0f\x62ridge_contract\x18\x02 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x03 \x01(\x04R\rbridgeChainId\x12%\n\x0e\x61ttestation_id\x18\x04 \x01(\x0cR\rattestationId\x12\x14\n\x05nonce\x18\x05 \x01(\x04R\x05nonce\"n\n\x1b\x45ventBridgeWithdrawCanceled\x12\'\n\x0f\x62ridge_contract\x18\x01 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x02 \x01(\x04R\rbridgeChainId\"\xc5\x01\n\x12\x45ventOutgoingBatch\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x03 \x01(\x04R\nbatchNonce\x12#\n\rbatch_timeout\x18\x04 \x01(\x04R\x0c\x62\x61tchTimeout\x12 \n\x0c\x62\x61tch_tx_ids\x18\x05 \x03(\x04R\nbatchTxIds\"\x9e\x01\n\x1a\x45ventOutgoingBatchCanceled\x12\'\n\x0f\x62ridge_contract\x18\x01 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x02 \x01(\x04R\rbridgeChainId\x12\x19\n\x08\x62\x61tch_id\x18\x03 \x01(\x04R\x07\x62\x61tchId\x12\x14\n\x05nonce\x18\x04 \x01(\x04R\x05nonce\"\x95\x02\n\x18\x45ventValsetUpdateRequest\x12!\n\x0cvalset_nonce\x18\x01 \x01(\x04R\x0bvalsetNonce\x12#\n\rvalset_height\x18\x02 \x01(\x04R\x0cvalsetHeight\x12J\n\x0evalset_members\x18\x03 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\rvalsetMembers\x12\x42\n\rreward_amount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x05 \x01(\tR\x0brewardToken\"\xb1\x01\n\x1d\x45ventSetOrchestratorAddresses\x12+\n\x11validator_address\x18\x01 \x01(\tR\x10validatorAddress\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\x12\x30\n\x14operator_eth_address\x18\x03 \x01(\tR\x12operatorEthAddress\"j\n\x12\x45ventValsetConfirm\x12!\n\x0cvalset_nonce\x18\x01 \x01(\x04R\x0bvalsetNonce\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\"\x83\x02\n\x0e\x45ventSendToEth\x12$\n\x0eoutgoing_tx_id\x18\x01 \x01(\x04R\x0coutgoingTxId\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x03 \x01(\tR\x08receiver\x12G\n\x06\x61mount\x18\x04 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12N\n\nbridge_fee\x18\x05 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\tbridgeFee\"g\n\x11\x45ventConfirmBatch\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x01 \x01(\x04R\nbatchNonce\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\"t\n\x14\x45ventAttestationVote\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12%\n\x0e\x61ttestation_id\x18\x02 \x01(\x0cR\rattestationId\x12\x14\n\x05voter\x18\x03 \x01(\tR\x05voter\"\xf5\x02\n\x11\x45ventDepositClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12\'\n\x0f\x65thereum_sender\x18\x04 \x01(\tR\x0e\x65thereumSender\x12\'\n\x0f\x63osmos_receiver\x18\x05 \x01(\tR\x0e\x63osmosReceiver\x12%\n\x0etoken_contract\x18\x06 \x01(\tR\rtokenContract\x12\x35\n\x06\x61mount\x18\x07 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\x12\x31\n\x14orchestrator_address\x18\x08 \x01(\tR\x13orchestratorAddress\x12\x12\n\x04\x64\x61ta\x18\t \x01(\tR\x04\x64\x61ta\"\xfa\x01\n\x12\x45ventWithdrawClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x04 \x01(\x04R\nbatchNonce\x12%\n\x0etoken_contract\x18\x05 \x01(\tR\rtokenContract\x12\x31\n\x14orchestrator_address\x18\x06 \x01(\tR\x13orchestratorAddress\"\xc9\x02\n\x17\x45ventERC20DeployedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12!\n\x0c\x63osmos_denom\x18\x04 \x01(\tR\x0b\x63osmosDenom\x12%\n\x0etoken_contract\x18\x05 \x01(\tR\rtokenContract\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x07 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x08 \x01(\x04R\x08\x64\x65\x63imals\x12\x31\n\x14orchestrator_address\x18\t \x01(\tR\x13orchestratorAddress\"\x8c\x03\n\x16\x45ventValsetUpdateClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12!\n\x0cvalset_nonce\x18\x04 \x01(\x04R\x0bvalsetNonce\x12J\n\x0evalset_members\x18\x05 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\rvalsetMembers\x12\x42\n\rreward_amount\x18\x06 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x07 \x01(\tR\x0brewardToken\x12\x31\n\x14orchestrator_address\x18\x08 \x01(\tR\x13orchestratorAddress\"<\n\x14\x45ventCancelSendToEth\x12$\n\x0eoutgoing_tx_id\x18\x01 \x01(\x04R\x0coutgoingTxId\"\x88\x01\n\x1f\x45ventSubmitBadSignatureEvidence\x12*\n\x11\x62\x61\x64_eth_signature\x18\x01 \x01(\tR\x0f\x62\x61\x64\x45thSignature\x12\x39\n\x19\x62\x61\x64_eth_signature_subject\x18\x02 \x01(\tR\x16\x62\x61\x64\x45thSignatureSubject\"\xb5\x01\n\x13\x45ventValidatorSlash\x12\x14\n\x05power\x18\x01 \x01(\x03R\x05power\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12+\n\x11\x63onsensus_address\x18\x03 \x01(\tR\x10\x63onsensusAddress\x12)\n\x10operator_address\x18\x04 \x01(\tR\x0foperatorAddress\x12\x18\n\x07moniker\x18\x05 \x01(\tR\x07monikerB\xdc\x01\n\x16\x63om.injective.peggy.v1B\x0b\x45ventsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/peggy/v1/events.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a$injective/peggy/v1/attestation.proto\x1a\x1einjective/peggy/v1/types.proto\"\xf2\x01\n\x18\x45ventAttestationObserved\x12H\n\x10\x61ttestation_type\x18\x01 \x01(\x0e\x32\x1d.injective.peggy.v1.ClaimTypeR\x0f\x61ttestationType\x12\'\n\x0f\x62ridge_contract\x18\x02 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x03 \x01(\x04R\rbridgeChainId\x12%\n\x0e\x61ttestation_id\x18\x04 \x01(\x0cR\rattestationId\x12\x14\n\x05nonce\x18\x05 \x01(\x04R\x05nonce\"n\n\x1b\x45ventBridgeWithdrawCanceled\x12\'\n\x0f\x62ridge_contract\x18\x01 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x02 \x01(\x04R\rbridgeChainId\"\xc5\x01\n\x12\x45ventOutgoingBatch\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x03 \x01(\x04R\nbatchNonce\x12#\n\rbatch_timeout\x18\x04 \x01(\x04R\x0c\x62\x61tchTimeout\x12 \n\x0c\x62\x61tch_tx_ids\x18\x05 \x03(\x04R\nbatchTxIds\"\x9e\x01\n\x1a\x45ventOutgoingBatchCanceled\x12\'\n\x0f\x62ridge_contract\x18\x01 \x01(\tR\x0e\x62ridgeContract\x12&\n\x0f\x62ridge_chain_id\x18\x02 \x01(\x04R\rbridgeChainId\x12\x19\n\x08\x62\x61tch_id\x18\x03 \x01(\x04R\x07\x62\x61tchId\x12\x14\n\x05nonce\x18\x04 \x01(\x04R\x05nonce\"\x95\x02\n\x18\x45ventValsetUpdateRequest\x12!\n\x0cvalset_nonce\x18\x01 \x01(\x04R\x0bvalsetNonce\x12#\n\rvalset_height\x18\x02 \x01(\x04R\x0cvalsetHeight\x12J\n\x0evalset_members\x18\x03 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\rvalsetMembers\x12\x42\n\rreward_amount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x05 \x01(\tR\x0brewardToken\"\xb1\x01\n\x1d\x45ventSetOrchestratorAddresses\x12+\n\x11validator_address\x18\x01 \x01(\tR\x10validatorAddress\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\x12\x30\n\x14operator_eth_address\x18\x03 \x01(\tR\x12operatorEthAddress\"j\n\x12\x45ventValsetConfirm\x12!\n\x0cvalset_nonce\x18\x01 \x01(\x04R\x0bvalsetNonce\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\"\x83\x02\n\x0e\x45ventSendToEth\x12$\n\x0eoutgoing_tx_id\x18\x01 \x01(\x04R\x0coutgoingTxId\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x03 \x01(\tR\x08receiver\x12G\n\x06\x61mount\x18\x04 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12N\n\nbridge_fee\x18\x05 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\tbridgeFee\"g\n\x11\x45ventConfirmBatch\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x01 \x01(\x04R\nbatchNonce\x12\x31\n\x14orchestrator_address\x18\x02 \x01(\tR\x13orchestratorAddress\"t\n\x14\x45ventAttestationVote\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12%\n\x0e\x61ttestation_id\x18\x02 \x01(\x0cR\rattestationId\x12\x14\n\x05voter\x18\x03 \x01(\tR\x05voter\"\xf5\x02\n\x11\x45ventDepositClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12\'\n\x0f\x65thereum_sender\x18\x04 \x01(\tR\x0e\x65thereumSender\x12\'\n\x0f\x63osmos_receiver\x18\x05 \x01(\tR\x0e\x63osmosReceiver\x12%\n\x0etoken_contract\x18\x06 \x01(\tR\rtokenContract\x12\x35\n\x06\x61mount\x18\x07 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\x12\x31\n\x14orchestrator_address\x18\x08 \x01(\tR\x13orchestratorAddress\x12\x12\n\x04\x64\x61ta\x18\t \x01(\tR\x04\x64\x61ta\"\xfa\x01\n\x12\x45ventWithdrawClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x04 \x01(\x04R\nbatchNonce\x12%\n\x0etoken_contract\x18\x05 \x01(\tR\rtokenContract\x12\x31\n\x14orchestrator_address\x18\x06 \x01(\tR\x13orchestratorAddress\"\xc9\x02\n\x17\x45ventERC20DeployedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12!\n\x0c\x63osmos_denom\x18\x04 \x01(\tR\x0b\x63osmosDenom\x12%\n\x0etoken_contract\x18\x05 \x01(\tR\rtokenContract\x12\x12\n\x04name\x18\x06 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x07 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x08 \x01(\x04R\x08\x64\x65\x63imals\x12\x31\n\x14orchestrator_address\x18\t \x01(\tR\x13orchestratorAddress\"\x8c\x03\n\x16\x45ventValsetUpdateClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x65vent_height\x18\x02 \x01(\x04R\x0b\x65ventHeight\x12%\n\x0e\x61ttestation_id\x18\x03 \x01(\x0cR\rattestationId\x12!\n\x0cvalset_nonce\x18\x04 \x01(\x04R\x0bvalsetNonce\x12J\n\x0evalset_members\x18\x05 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\rvalsetMembers\x12\x42\n\rreward_amount\x18\x06 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x07 \x01(\tR\x0brewardToken\x12\x31\n\x14orchestrator_address\x18\x08 \x01(\tR\x13orchestratorAddress\"<\n\x14\x45ventCancelSendToEth\x12$\n\x0eoutgoing_tx_id\x18\x01 \x01(\x04R\x0coutgoingTxId\"\x88\x01\n\x1f\x45ventSubmitBadSignatureEvidence\x12*\n\x11\x62\x61\x64_eth_signature\x18\x01 \x01(\tR\x0f\x62\x61\x64\x45thSignature\x12\x39\n\x19\x62\x61\x64_eth_signature_subject\x18\x02 \x01(\tR\x16\x62\x61\x64\x45thSignatureSubject\"\xb5\x01\n\x13\x45ventValidatorSlash\x12\x14\n\x05power\x18\x01 \x01(\x03R\x05power\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\x12+\n\x11\x63onsensus_address\x18\x03 \x01(\tR\x10\x63onsensusAddress\x12)\n\x10operator_address\x18\x04 \x01(\tR\x0foperatorAddress\x12\x18\n\x07moniker\x18\x05 \x01(\tR\x07moniker\"\x93\x01\n\x14\x45ventDepositReceived\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12G\n\x06\x61mount\x18\x03 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\"s\n\x19\x45ventWithdrawalsCompleted\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12@\n\x0bwithdrawals\x18\x02 \x03(\x0b\x32\x1e.injective.peggy.v1.WithdrawalR\x0bwithdrawals\"w\n\nWithdrawal\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x02 \x01(\tR\x08receiver\x12\x35\n\x06\x61mount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\xd6\x01\n\x14\x45ventValidatorJailed\x12\x36\n\x06reason\x18\x01 \x01(\x0e\x32\x1e.injective.peggy.v1.JailReasonR\x06reason\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power\x12+\n\x11\x63onsensus_address\x18\x03 \x01(\tR\x10\x63onsensusAddress\x12)\n\x10operator_address\x18\x04 \x01(\tR\x0foperatorAddress\x12\x18\n\x07moniker\x18\x05 \x01(\tR\x07moniker*?\n\nJailReason\x12\x18\n\x14MissingValsetConfirm\x10\x00\x12\x17\n\x13MissingBatchConfirm\x10\x01\x42\xdc\x01\n\x16\x63om.injective.peggy.v1B\x0b\x45ventsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,6 +35,12 @@ _globals['_EVENTDEPOSITCLAIM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_EVENTVALSETUPDATECLAIM'].fields_by_name['reward_amount']._loaded_options = None _globals['_EVENTVALSETUPDATECLAIM'].fields_by_name['reward_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_EVENTDEPOSITRECEIVED'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTDEPOSITRECEIVED'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin' + _globals['_WITHDRAWAL'].fields_by_name['amount']._loaded_options = None + _globals['_WITHDRAWAL'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_JAILREASON']._serialized_start=4268 + _globals['_JAILREASON']._serialized_end=4331 _globals['_EVENTATTESTATIONOBSERVED']._serialized_start=148 _globals['_EVENTATTESTATIONOBSERVED']._serialized_end=390 _globals['_EVENTBRIDGEWITHDRAWCANCELED']._serialized_start=392 @@ -69,4 +75,12 @@ _globals['_EVENTSUBMITBADSIGNATUREEVIDENCE']._serialized_end=3477 _globals['_EVENTVALIDATORSLASH']._serialized_start=3480 _globals['_EVENTVALIDATORSLASH']._serialized_end=3661 + _globals['_EVENTDEPOSITRECEIVED']._serialized_start=3664 + _globals['_EVENTDEPOSITRECEIVED']._serialized_end=3811 + _globals['_EVENTWITHDRAWALSCOMPLETED']._serialized_start=3813 + _globals['_EVENTWITHDRAWALSCOMPLETED']._serialized_end=3928 + _globals['_WITHDRAWAL']._serialized_start=3930 + _globals['_WITHDRAWAL']._serialized_end=4049 + _globals['_EVENTVALIDATORJAILED']._serialized_start=4052 + _globals['_EVENTVALIDATORJAILED']._serialized_end=4266 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/genesis_pb2.py b/pyinjective/proto/injective/peggy/v1/genesis_pb2.py index 4d9e4d60..08b1dacc 100644 --- a/pyinjective/proto/injective/peggy/v1/genesis_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/genesis_pb2.py @@ -18,10 +18,11 @@ from pyinjective.proto.injective.peggy.v1 import batch_pb2 as injective_dot_peggy_dot_v1_dot_batch__pb2 from pyinjective.proto.injective.peggy.v1 import attestation_pb2 as injective_dot_peggy_dot_v1_dot_attestation__pb2 from pyinjective.proto.injective.peggy.v1 import params_pb2 as injective_dot_peggy_dot_v1_dot_params__pb2 +from pyinjective.proto.injective.peggy.v1 import rate_limit_pb2 as injective_dot_peggy_dot_v1_dot_rate__limit__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n injective/peggy/v1/genesis.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x1einjective/peggy/v1/types.proto\x1a\x1dinjective/peggy/v1/msgs.proto\x1a\x1einjective/peggy/v1/batch.proto\x1a$injective/peggy/v1/attestation.proto\x1a\x1finjective/peggy/v1/params.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x80\x08\n\x0cGenesisState\x12\x32\n\x06params\x18\x01 \x01(\x0b\x32\x1a.injective.peggy.v1.ParamsR\x06params\x12.\n\x13last_observed_nonce\x18\x02 \x01(\x04R\x11lastObservedNonce\x12\x34\n\x07valsets\x18\x03 \x03(\x0b\x32\x1a.injective.peggy.v1.ValsetR\x07valsets\x12M\n\x0fvalset_confirms\x18\x04 \x03(\x0b\x32$.injective.peggy.v1.MsgValsetConfirmR\x0evalsetConfirms\x12=\n\x07\x62\x61tches\x18\x05 \x03(\x0b\x32#.injective.peggy.v1.OutgoingTxBatchR\x07\x62\x61tches\x12J\n\x0e\x62\x61tch_confirms\x18\x06 \x03(\x0b\x32#.injective.peggy.v1.MsgConfirmBatchR\rbatchConfirms\x12\x43\n\x0c\x61ttestations\x18\x07 \x03(\x0b\x32\x1f.injective.peggy.v1.AttestationR\x0c\x61ttestations\x12\x66\n\x16orchestrator_addresses\x18\x08 \x03(\x0b\x32/.injective.peggy.v1.MsgSetOrchestratorAddressesR\x15orchestratorAddresses\x12H\n\x0f\x65rc20_to_denoms\x18\t \x03(\x0b\x32 .injective.peggy.v1.ERC20ToDenomR\rerc20ToDenoms\x12W\n\x13unbatched_transfers\x18\n \x03(\x0b\x32&.injective.peggy.v1.OutgoingTransferTxR\x12unbatchedTransfers\x12\x41\n\x1dlast_observed_ethereum_height\x18\x0b \x01(\x04R\x1alastObservedEthereumHeight\x12\x33\n\x16last_outgoing_batch_id\x18\x0c \x01(\x04R\x13lastOutgoingBatchId\x12\x31\n\x15last_outgoing_pool_id\x18\r \x01(\x04R\x12lastOutgoingPoolId\x12R\n\x14last_observed_valset\x18\x0e \x01(\x0b\x32\x1a.injective.peggy.v1.ValsetB\x04\xc8\xde\x1f\x00R\x12lastObservedValset\x12-\n\x12\x65thereum_blacklist\x18\x0f \x03(\tR\x11\x65thereumBlacklistB\xdd\x01\n\x16\x63om.injective.peggy.v1B\x0cGenesisProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n injective/peggy/v1/genesis.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x1einjective/peggy/v1/types.proto\x1a\x1dinjective/peggy/v1/msgs.proto\x1a\x1einjective/peggy/v1/batch.proto\x1a$injective/peggy/v1/attestation.proto\x1a\x1finjective/peggy/v1/params.proto\x1a#injective/peggy/v1/rate_limit.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\xdd\t\n\x0cGenesisState\x12\x32\n\x06params\x18\x01 \x01(\x0b\x32\x1a.injective.peggy.v1.ParamsR\x06params\x12.\n\x13last_observed_nonce\x18\x02 \x01(\x04R\x11lastObservedNonce\x12\x34\n\x07valsets\x18\x03 \x03(\x0b\x32\x1a.injective.peggy.v1.ValsetR\x07valsets\x12M\n\x0fvalset_confirms\x18\x04 \x03(\x0b\x32$.injective.peggy.v1.MsgValsetConfirmR\x0evalsetConfirms\x12=\n\x07\x62\x61tches\x18\x05 \x03(\x0b\x32#.injective.peggy.v1.OutgoingTxBatchR\x07\x62\x61tches\x12J\n\x0e\x62\x61tch_confirms\x18\x06 \x03(\x0b\x32#.injective.peggy.v1.MsgConfirmBatchR\rbatchConfirms\x12\x43\n\x0c\x61ttestations\x18\x07 \x03(\x0b\x32\x1f.injective.peggy.v1.AttestationR\x0c\x61ttestations\x12\x66\n\x16orchestrator_addresses\x18\x08 \x03(\x0b\x32/.injective.peggy.v1.MsgSetOrchestratorAddressesR\x15orchestratorAddresses\x12H\n\x0f\x65rc20_to_denoms\x18\t \x03(\x0b\x32 .injective.peggy.v1.ERC20ToDenomR\rerc20ToDenoms\x12W\n\x13unbatched_transfers\x18\n \x03(\x0b\x32&.injective.peggy.v1.OutgoingTransferTxR\x12unbatchedTransfers\x12\x41\n\x1dlast_observed_ethereum_height\x18\x0b \x01(\x04R\x1alastObservedEthereumHeight\x12\x33\n\x16last_outgoing_batch_id\x18\x0c \x01(\x04R\x13lastOutgoingBatchId\x12\x31\n\x15last_outgoing_pool_id\x18\r \x01(\x04R\x12lastOutgoingPoolId\x12R\n\x14last_observed_valset\x18\x0e \x01(\x0b\x32\x1a.injective.peggy.v1.ValsetB\x04\xc8\xde\x1f\x00R\x12lastObservedValset\x12-\n\x12\x65thereum_blacklist\x18\x0f \x03(\tR\x11\x65thereumBlacklist\x12>\n\x0brate_limits\x18\x10 \x03(\x0b\x32\x1d.injective.peggy.v1.RateLimitR\nrateLimits\x12X\n\x14rate_limit_transfers\x18\x11 \x03(\x0b\x32&.injective.peggy.v1.RateLimitTransfersR\x12rateLimitTransfers\x12\x41\n\x0cmint_amounts\x18\x12 \x03(\x0b\x32\x1e.injective.peggy.v1.MintAmountR\x0bmintAmountsB\xdd\x01\n\x16\x63om.injective.peggy.v1B\x0cGenesisProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,6 +32,6 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.peggy.v1B\014GenesisProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\242\002\003IPX\252\002\022Injective.Peggy.V1\312\002\022Injective\\Peggy\\V1\342\002\036Injective\\Peggy\\V1\\GPBMetadata\352\002\024Injective::Peggy::V1' _globals['_GENESISSTATE'].fields_by_name['last_observed_valset']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['last_observed_valset']._serialized_options = b'\310\336\037\000' - _globals['_GENESISSTATE']._serialized_start=277 - _globals['_GENESISSTATE']._serialized_end=1301 + _globals['_GENESISSTATE']._serialized_start=314 + _globals['_GENESISSTATE']._serialized_end=1559 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/msgs_pb2.py b/pyinjective/proto/injective/peggy/v1/msgs_pb2.py index 098d38cb..fdb092ee 100644 --- a/pyinjective/proto/injective/peggy/v1/msgs_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/msgs_pb2.py @@ -12,18 +12,20 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from pyinjective.proto.injective.peggy.v1 import types_pb2 as injective_dot_peggy_dot_v1_dot_types__pb2 -from pyinjective.proto.injective.peggy.v1 import params_pb2 as injective_dot_peggy_dot_v1_dot_params__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 -from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 +from pyinjective.proto.injective.peggy.v1 import types_pb2 as injective_dot_peggy_dot_v1_dot_types__pb2 +from pyinjective.proto.injective.peggy.v1 import params_pb2 as injective_dot_peggy_dot_v1_dot_params__pb2 +from pyinjective.proto.injective.peggy.v1 import rate_limit_pb2 as injective_dot_peggy_dot_v1_dot_rate__limit__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dinjective/peggy/v1/msgs.proto\x12\x12injective.peggy.v1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1einjective/peggy/v1/types.proto\x1a\x1finjective/peggy/v1/params.proto\x1a\x19google/protobuf/any.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\"\xad\x01\n\x1bMsgSetOrchestratorAddresses\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\"\n\x0corchestrator\x18\x02 \x01(\tR\x0corchestrator\x12\x1f\n\x0b\x65th_address\x18\x03 \x01(\tR\nethAddress:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!peggy/MsgSetOrchestratorAddresses\"%\n#MsgSetOrchestratorAddressesResponse\"\xb9\x01\n\x10MsgValsetConfirm\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12\"\n\x0corchestrator\x18\x02 \x01(\tR\x0corchestrator\x12\x1f\n\x0b\x65th_address\x18\x03 \x01(\tR\nethAddress\x12\x1c\n\tsignature\x18\x04 \x01(\tR\tsignature:,\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x16peggy/MsgValsetConfirm\"\x1a\n\x18MsgValsetConfirmResponse\"\xde\x01\n\x0cMsgSendToEth\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x19\n\x08\x65th_dest\x18\x02 \x01(\tR\x07\x65thDest\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12>\n\nbridge_fee\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\tbridgeFee:\"\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x12peggy/MsgSendToEth\"\x16\n\x14MsgSendToEthResponse\"x\n\x0fMsgRequestBatch\x12\"\n\x0corchestrator\x18\x01 \x01(\tR\x0corchestrator\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:+\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgRequestBatch\"\x19\n\x17MsgRequestBatchResponse\"\xdc\x01\n\x0fMsgConfirmBatch\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12%\n\x0etoken_contract\x18\x02 \x01(\tR\rtokenContract\x12\x1d\n\neth_signer\x18\x03 \x01(\tR\tethSigner\x12\"\n\x0corchestrator\x18\x04 \x01(\tR\x0corchestrator\x12\x1c\n\tsignature\x18\x05 \x01(\tR\tsignature:+\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgConfirmBatch\"\x19\n\x17MsgConfirmBatchResponse\"\xea\x02\n\x0fMsgDepositClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12%\n\x0etoken_contract\x18\x03 \x01(\tR\rtokenContract\x12\x35\n\x06\x61mount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\x12\'\n\x0f\x65thereum_sender\x18\x05 \x01(\tR\x0e\x65thereumSender\x12\'\n\x0f\x63osmos_receiver\x18\x06 \x01(\tR\x0e\x63osmosReceiver\x12\"\n\x0corchestrator\x18\x07 \x01(\tR\x0corchestrator\x12\x12\n\x04\x64\x61ta\x18\x08 \x01(\tR\x04\x64\x61ta:+\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgDepositClaim\"\x19\n\x17MsgDepositClaimResponse\"\xf0\x01\n\x10MsgWithdrawClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x03 \x01(\x04R\nbatchNonce\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\"\n\x0corchestrator\x18\x05 \x01(\tR\x0corchestrator:,\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x16peggy/MsgWithdrawClaim\"\x1a\n\x18MsgWithdrawClaimResponse\"\xc4\x02\n\x15MsgERC20DeployedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12!\n\x0c\x63osmos_denom\x18\x03 \x01(\tR\x0b\x63osmosDenom\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x06 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x07 \x01(\x04R\x08\x64\x65\x63imals\x12\"\n\x0corchestrator\x18\x08 \x01(\tR\x0corchestrator:1\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x1bpeggy/MsgERC20DeployedClaim\"\x1f\n\x1dMsgERC20DeployedClaimResponse\"}\n\x12MsgCancelSendToEth\x12%\n\x0etransaction_id\x18\x01 \x01(\x04R\rtransactionId\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender:(\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x18peggy/MsgCancelSendToEth\"\x1c\n\x1aMsgCancelSendToEthResponse\"\xba\x01\n\x1dMsgSubmitBadSignatureEvidence\x12.\n\x07subject\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyR\x07subject\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#peggy/MsgSubmitBadSignatureEvidence\"\'\n%MsgSubmitBadSignatureEvidenceResponse\"\xfb\x02\n\x15MsgValsetUpdatedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0cvalset_nonce\x18\x02 \x01(\x04R\x0bvalsetNonce\x12!\n\x0c\x62lock_height\x18\x03 \x01(\x04R\x0b\x62lockHeight\x12=\n\x07members\x18\x04 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\x07members\x12\x42\n\rreward_amount\x18\x05 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x06 \x01(\tR\x0brewardToken\x12\"\n\x0corchestrator\x18\x07 \x01(\tR\x0corchestrator:1\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x1bpeggy/MsgValsetUpdatedClaim\"\x1f\n\x1dMsgValsetUpdatedClaimResponse\"\xad\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32\x1a.injective.peggy.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:(\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x15peggy/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\x9d\x01\n\x1dMsgBlacklistEthereumAddresses\x12\x16\n\x06signer\x18\x01 \x01(\tR\x06signer\x12/\n\x13\x62lacklist_addresses\x18\x02 \x03(\tR\x12\x62lacklistAddresses:3\x82\xe7\xb0*\x06signer\x8a\xe7\xb0*#peggy/MsgBlacklistEthereumAddresses\"\'\n%MsgBlacklistEthereumAddressesResponse\"\x97\x01\n\x1aMsgRevokeEthereumBlacklist\x12\x16\n\x06signer\x18\x01 \x01(\tR\x06signer\x12/\n\x13\x62lacklist_addresses\x18\x02 \x03(\tR\x12\x62lacklistAddresses:0\x82\xe7\xb0*\x06signer\x8a\xe7\xb0* peggy/MsgRevokeEthereumBlacklist\"$\n\"MsgRevokeEthereumBlacklistResponse2\xbe\x10\n\x03Msg\x12\x8f\x01\n\rValsetConfirm\x12$.injective.peggy.v1.MsgValsetConfirm\x1a,.injective.peggy.v1.MsgValsetConfirmResponse\"*\x82\xd3\xe4\x93\x02$\"\"/injective/peggy/v1/valset_confirm\x12\x80\x01\n\tSendToEth\x12 .injective.peggy.v1.MsgSendToEth\x1a(.injective.peggy.v1.MsgSendToEthResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1f/injective/peggy/v1/send_to_eth\x12\x8b\x01\n\x0cRequestBatch\x12#.injective.peggy.v1.MsgRequestBatch\x1a+.injective.peggy.v1.MsgRequestBatchResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/request_batch\x12\x8b\x01\n\x0c\x43onfirmBatch\x12#.injective.peggy.v1.MsgConfirmBatch\x1a+.injective.peggy.v1.MsgConfirmBatchResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/confirm_batch\x12\x8b\x01\n\x0c\x44\x65positClaim\x12#.injective.peggy.v1.MsgDepositClaim\x1a+.injective.peggy.v1.MsgDepositClaimResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/deposit_claim\x12\x8f\x01\n\rWithdrawClaim\x12$.injective.peggy.v1.MsgWithdrawClaim\x1a,.injective.peggy.v1.MsgWithdrawClaimResponse\"*\x82\xd3\xe4\x93\x02$\"\"/injective/peggy/v1/withdraw_claim\x12\xa3\x01\n\x11ValsetUpdateClaim\x12).injective.peggy.v1.MsgValsetUpdatedClaim\x1a\x31.injective.peggy.v1.MsgValsetUpdatedClaimResponse\"0\x82\xd3\xe4\x93\x02*\"(/injective/peggy/v1/valset_updated_claim\x12\xa4\x01\n\x12\x45RC20DeployedClaim\x12).injective.peggy.v1.MsgERC20DeployedClaim\x1a\x31.injective.peggy.v1.MsgERC20DeployedClaimResponse\"0\x82\xd3\xe4\x93\x02*\"(/injective/peggy/v1/erc20_deployed_claim\x12\xba\x01\n\x18SetOrchestratorAddresses\x12/.injective.peggy.v1.MsgSetOrchestratorAddresses\x1a\x37.injective.peggy.v1.MsgSetOrchestratorAddressesResponse\"4\x82\xd3\xe4\x93\x02.\",/injective/peggy/v1/set_orchestrator_address\x12\x99\x01\n\x0f\x43\x61ncelSendToEth\x12&.injective.peggy.v1.MsgCancelSendToEth\x1a..injective.peggy.v1.MsgCancelSendToEthResponse\".\x82\xd3\xe4\x93\x02(\"&/injective/peggy/v1/cancel_send_to_eth\x12\xc5\x01\n\x1aSubmitBadSignatureEvidence\x12\x31.injective.peggy.v1.MsgSubmitBadSignatureEvidence\x1a\x39.injective.peggy.v1.MsgSubmitBadSignatureEvidenceResponse\"9\x82\xd3\xe4\x93\x02\x33\"1/injective/peggy/v1/submit_bad_signature_evidence\x12`\n\x0cUpdateParams\x12#.injective.peggy.v1.MsgUpdateParams\x1a+.injective.peggy.v1.MsgUpdateParamsResponse\x12\x8a\x01\n\x1a\x42lacklistEthereumAddresses\x12\x31.injective.peggy.v1.MsgBlacklistEthereumAddresses\x1a\x39.injective.peggy.v1.MsgBlacklistEthereumAddressesResponse\x12\x81\x01\n\x17RevokeEthereumBlacklist\x12..injective.peggy.v1.MsgRevokeEthereumBlacklist\x1a\x36.injective.peggy.v1.MsgRevokeEthereumBlacklistResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xda\x01\n\x16\x63om.injective.peggy.v1B\tMsgsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dinjective/peggy/v1/msgs.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x11\x61mino/amino.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x1einjective/peggy/v1/types.proto\x1a\x1finjective/peggy/v1/params.proto\x1a#injective/peggy/v1/rate_limit.proto\"\xad\x01\n\x1bMsgSetOrchestratorAddresses\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\"\n\x0corchestrator\x18\x02 \x01(\tR\x0corchestrator\x12\x1f\n\x0b\x65th_address\x18\x03 \x01(\tR\nethAddress:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!peggy/MsgSetOrchestratorAddresses\"%\n#MsgSetOrchestratorAddressesResponse\"\xb9\x01\n\x10MsgValsetConfirm\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12\"\n\x0corchestrator\x18\x02 \x01(\tR\x0corchestrator\x12\x1f\n\x0b\x65th_address\x18\x03 \x01(\tR\nethAddress\x12\x1c\n\tsignature\x18\x04 \x01(\tR\tsignature:,\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x16peggy/MsgValsetConfirm\"\x1a\n\x18MsgValsetConfirmResponse\"\xde\x01\n\x0cMsgSendToEth\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x19\n\x08\x65th_dest\x18\x02 \x01(\tR\x07\x65thDest\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12>\n\nbridge_fee\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\tbridgeFee:\"\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x12peggy/MsgSendToEth\"\x16\n\x14MsgSendToEthResponse\"x\n\x0fMsgRequestBatch\x12\"\n\x0corchestrator\x18\x01 \x01(\tR\x0corchestrator\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:+\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgRequestBatch\"\x19\n\x17MsgRequestBatchResponse\"\xdc\x01\n\x0fMsgConfirmBatch\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12%\n\x0etoken_contract\x18\x02 \x01(\tR\rtokenContract\x12\x1d\n\neth_signer\x18\x03 \x01(\tR\tethSigner\x12\"\n\x0corchestrator\x18\x04 \x01(\tR\x0corchestrator\x12\x1c\n\tsignature\x18\x05 \x01(\tR\tsignature:+\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgConfirmBatch\"\x19\n\x17MsgConfirmBatchResponse\"\x89\x03\n\x0fMsgDepositClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12%\n\x0etoken_contract\x18\x03 \x01(\tR\rtokenContract\x12\x35\n\x06\x61mount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\x12\'\n\x0f\x65thereum_sender\x18\x05 \x01(\tR\x0e\x65thereumSender\x12\'\n\x0f\x63osmos_receiver\x18\x06 \x01(\tR\x0e\x63osmosReceiver\x12\"\n\x0corchestrator\x18\x07 \x01(\tR\x0corchestrator\x12\x12\n\x04\x64\x61ta\x18\x08 \x01(\tR\x04\x64\x61ta:J\xca\xb4-\x1bpeggy.v1beta1.EthereumClaim\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x15peggy/MsgDepositClaim\"\x19\n\x17MsgDepositClaimResponse\"\x8f\x02\n\x10MsgWithdrawClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12\x1f\n\x0b\x62\x61tch_nonce\x18\x03 \x01(\x04R\nbatchNonce\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\"\n\x0corchestrator\x18\x05 \x01(\tR\x0corchestrator:K\xca\xb4-\x1bpeggy.v1beta1.EthereumClaim\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x16peggy/MsgWithdrawClaim\"\x1a\n\x18MsgWithdrawClaimResponse\"\xe3\x02\n\x15MsgERC20DeployedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0c\x62lock_height\x18\x02 \x01(\x04R\x0b\x62lockHeight\x12!\n\x0c\x63osmos_denom\x18\x03 \x01(\tR\x0b\x63osmosDenom\x12%\n\x0etoken_contract\x18\x04 \x01(\tR\rtokenContract\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x06 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x07 \x01(\x04R\x08\x64\x65\x63imals\x12\"\n\x0corchestrator\x18\x08 \x01(\tR\x0corchestrator:P\xca\xb4-\x1bpeggy.v1beta1.EthereumClaim\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x1bpeggy/MsgERC20DeployedClaim\"\x1f\n\x1dMsgERC20DeployedClaimResponse\"}\n\x12MsgCancelSendToEth\x12%\n\x0etransaction_id\x18\x01 \x01(\x04R\rtransactionId\x12\x16\n\x06sender\x18\x02 \x01(\tR\x06sender:(\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x18peggy/MsgCancelSendToEth\"\x1c\n\x1aMsgCancelSendToEthResponse\"\xe1\x01\n\x1dMsgSubmitBadSignatureEvidence\x12U\n\x07subject\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyB%\xca\xb4-!injective.peggy.v1.EthereumSignedR\x07subject\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#peggy/MsgSubmitBadSignatureEvidence\"\'\n%MsgSubmitBadSignatureEvidenceResponse\"\x9a\x03\n\x15MsgValsetUpdatedClaim\x12\x1f\n\x0b\x65vent_nonce\x18\x01 \x01(\x04R\neventNonce\x12!\n\x0cvalset_nonce\x18\x02 \x01(\x04R\x0bvalsetNonce\x12!\n\x0c\x62lock_height\x18\x03 \x01(\x04R\x0b\x62lockHeight\x12=\n\x07members\x18\x04 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\x07members\x12\x42\n\rreward_amount\x18\x05 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x06 \x01(\tR\x0brewardToken\x12\"\n\x0corchestrator\x18\x07 \x01(\tR\x0corchestrator:P\xca\xb4-\x1bpeggy.v1beta1.EthereumClaim\x82\xe7\xb0*\x0corchestrator\x8a\xe7\xb0*\x1bpeggy/MsgValsetUpdatedClaim\"\x1f\n\x1dMsgValsetUpdatedClaimResponse\"\xad\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32\x1a.injective.peggy.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:(\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x15peggy/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\x9d\x01\n\x1dMsgBlacklistEthereumAddresses\x12\x16\n\x06signer\x18\x01 \x01(\tR\x06signer\x12/\n\x13\x62lacklist_addresses\x18\x02 \x03(\tR\x12\x62lacklistAddresses:3\x82\xe7\xb0*\x06signer\x8a\xe7\xb0*#peggy/MsgBlacklistEthereumAddresses\"\'\n%MsgBlacklistEthereumAddressesResponse\"\x97\x01\n\x1aMsgRevokeEthereumBlacklist\x12\x16\n\x06signer\x18\x01 \x01(\tR\x06signer\x12/\n\x13\x62lacklist_addresses\x18\x02 \x03(\tR\x12\x62lacklistAddresses:0\x82\xe7\xb0*\x06signer\x8a\xe7\xb0* peggy/MsgRevokeEthereumBlacklist\"$\n\"MsgRevokeEthereumBlacklistResponse\"\x85\x04\n\x12MsgCreateRateLimit\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12#\n\rtoken_address\x18\x02 \x01(\tR\x0ctokenAddress\x12%\n\x0etoken_decimals\x18\x03 \x01(\rR\rtokenDecimals\x12$\n\x0etoken_price_id\x18\x04 \x01(\tR\x0ctokenPriceId\x12I\n\x0erate_limit_usd\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0crateLimitUsd\x12O\n\x13\x61\x62solute_mint_limit\x18\x06 \x01(\tB\x1f\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x11\x61\x62soluteMintLimit\x12*\n\x11rate_limit_window\x18\x07 \x01(\x04R\x0frateLimitWindow\x12P\n\x11token_oracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x0ftokenOracleType:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18peggy/MsgCreateRateLimit\"\x1c\n\x1aMsgCreateRateLimitResponse\"\xa9\x03\n\x12MsgUpdateRateLimit\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12#\n\rtoken_address\x18\x02 \x01(\tR\x0ctokenAddress\x12+\n\x12new_token_price_id\x18\x03 \x01(\tR\x0fnewTokenPriceId\x12P\n\x12new_rate_limit_usd\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fnewRateLimitUsd\x12\x31\n\x15new_rate_limit_window\x18\x05 \x01(\x04R\x12newRateLimitWindow\x12W\n\x15new_token_oracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x12newTokenOracleType:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18peggy/MsgUpdateRateLimit\"\x1c\n\x1aMsgUpdateRateLimitResponse\"\x9e\x01\n\x12MsgRemoveRateLimit\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12#\n\rtoken_address\x18\x02 \x01(\tR\x0ctokenAddress:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18peggy/MsgRemoveRateLimit\"\x1c\n\x1aMsgRemoveRateLimitResponse2\xff\x12\n\x03Msg\x12\x8f\x01\n\rValsetConfirm\x12$.injective.peggy.v1.MsgValsetConfirm\x1a,.injective.peggy.v1.MsgValsetConfirmResponse\"*\x82\xd3\xe4\x93\x02$\"\"/injective/peggy/v1/valset_confirm\x12\x80\x01\n\tSendToEth\x12 .injective.peggy.v1.MsgSendToEth\x1a(.injective.peggy.v1.MsgSendToEthResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1f/injective/peggy/v1/send_to_eth\x12\x8b\x01\n\x0cRequestBatch\x12#.injective.peggy.v1.MsgRequestBatch\x1a+.injective.peggy.v1.MsgRequestBatchResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/request_batch\x12\x8b\x01\n\x0c\x43onfirmBatch\x12#.injective.peggy.v1.MsgConfirmBatch\x1a+.injective.peggy.v1.MsgConfirmBatchResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/confirm_batch\x12\x8b\x01\n\x0c\x44\x65positClaim\x12#.injective.peggy.v1.MsgDepositClaim\x1a+.injective.peggy.v1.MsgDepositClaimResponse\")\x82\xd3\xe4\x93\x02#\"!/injective/peggy/v1/deposit_claim\x12\x8f\x01\n\rWithdrawClaim\x12$.injective.peggy.v1.MsgWithdrawClaim\x1a,.injective.peggy.v1.MsgWithdrawClaimResponse\"*\x82\xd3\xe4\x93\x02$\"\"/injective/peggy/v1/withdraw_claim\x12\xa3\x01\n\x11ValsetUpdateClaim\x12).injective.peggy.v1.MsgValsetUpdatedClaim\x1a\x31.injective.peggy.v1.MsgValsetUpdatedClaimResponse\"0\x82\xd3\xe4\x93\x02*\"(/injective/peggy/v1/valset_updated_claim\x12\xa4\x01\n\x12\x45RC20DeployedClaim\x12).injective.peggy.v1.MsgERC20DeployedClaim\x1a\x31.injective.peggy.v1.MsgERC20DeployedClaimResponse\"0\x82\xd3\xe4\x93\x02*\"(/injective/peggy/v1/erc20_deployed_claim\x12\xba\x01\n\x18SetOrchestratorAddresses\x12/.injective.peggy.v1.MsgSetOrchestratorAddresses\x1a\x37.injective.peggy.v1.MsgSetOrchestratorAddressesResponse\"4\x82\xd3\xe4\x93\x02.\",/injective/peggy/v1/set_orchestrator_address\x12\x99\x01\n\x0f\x43\x61ncelSendToEth\x12&.injective.peggy.v1.MsgCancelSendToEth\x1a..injective.peggy.v1.MsgCancelSendToEthResponse\".\x82\xd3\xe4\x93\x02(\"&/injective/peggy/v1/cancel_send_to_eth\x12\xc5\x01\n\x1aSubmitBadSignatureEvidence\x12\x31.injective.peggy.v1.MsgSubmitBadSignatureEvidence\x1a\x39.injective.peggy.v1.MsgSubmitBadSignatureEvidenceResponse\"9\x82\xd3\xe4\x93\x02\x33\"1/injective/peggy/v1/submit_bad_signature_evidence\x12`\n\x0cUpdateParams\x12#.injective.peggy.v1.MsgUpdateParams\x1a+.injective.peggy.v1.MsgUpdateParamsResponse\x12\x8a\x01\n\x1a\x42lacklistEthereumAddresses\x12\x31.injective.peggy.v1.MsgBlacklistEthereumAddresses\x1a\x39.injective.peggy.v1.MsgBlacklistEthereumAddressesResponse\x12\x81\x01\n\x17RevokeEthereumBlacklist\x12..injective.peggy.v1.MsgRevokeEthereumBlacklist\x1a\x36.injective.peggy.v1.MsgRevokeEthereumBlacklistResponse\x12i\n\x0f\x43reateRateLimit\x12&.injective.peggy.v1.MsgCreateRateLimit\x1a..injective.peggy.v1.MsgCreateRateLimitResponse\x12i\n\x0fUpdateRateLimit\x12&.injective.peggy.v1.MsgUpdateRateLimit\x1a..injective.peggy.v1.MsgUpdateRateLimitResponse\x12i\n\x0fRemoveRateLimit\x12&.injective.peggy.v1.MsgRemoveRateLimit\x1a..injective.peggy.v1.MsgRemoveRateLimitResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xda\x01\n\x16\x63om.injective.peggy.v1B\tMsgsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,19 +50,21 @@ _globals['_MSGDEPOSITCLAIM'].fields_by_name['amount']._loaded_options = None _globals['_MSGDEPOSITCLAIM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_MSGDEPOSITCLAIM']._loaded_options = None - _globals['_MSGDEPOSITCLAIM']._serialized_options = b'\202\347\260*\014orchestrator\212\347\260*\025peggy/MsgDepositClaim' + _globals['_MSGDEPOSITCLAIM']._serialized_options = b'\312\264-\033peggy.v1beta1.EthereumClaim\202\347\260*\014orchestrator\212\347\260*\025peggy/MsgDepositClaim' _globals['_MSGWITHDRAWCLAIM']._loaded_options = None - _globals['_MSGWITHDRAWCLAIM']._serialized_options = b'\202\347\260*\014orchestrator\212\347\260*\026peggy/MsgWithdrawClaim' + _globals['_MSGWITHDRAWCLAIM']._serialized_options = b'\312\264-\033peggy.v1beta1.EthereumClaim\202\347\260*\014orchestrator\212\347\260*\026peggy/MsgWithdrawClaim' _globals['_MSGERC20DEPLOYEDCLAIM']._loaded_options = None - _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_options = b'\202\347\260*\014orchestrator\212\347\260*\033peggy/MsgERC20DeployedClaim' + _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_options = b'\312\264-\033peggy.v1beta1.EthereumClaim\202\347\260*\014orchestrator\212\347\260*\033peggy/MsgERC20DeployedClaim' _globals['_MSGCANCELSENDTOETH']._loaded_options = None _globals['_MSGCANCELSENDTOETH']._serialized_options = b'\202\347\260*\006sender\212\347\260*\030peggy/MsgCancelSendToEth' + _globals['_MSGSUBMITBADSIGNATUREEVIDENCE'].fields_by_name['subject']._loaded_options = None + _globals['_MSGSUBMITBADSIGNATUREEVIDENCE'].fields_by_name['subject']._serialized_options = b'\312\264-!injective.peggy.v1.EthereumSigned' _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._loaded_options = None _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._serialized_options = b'\202\347\260*\006sender\212\347\260*#peggy/MsgSubmitBadSignatureEvidence' _globals['_MSGVALSETUPDATEDCLAIM'].fields_by_name['reward_amount']._loaded_options = None _globals['_MSGVALSETUPDATEDCLAIM'].fields_by_name['reward_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_MSGVALSETUPDATEDCLAIM']._loaded_options = None - _globals['_MSGVALSETUPDATEDCLAIM']._serialized_options = b'\202\347\260*\014orchestrator\212\347\260*\033peggy/MsgValsetUpdatedClaim' + _globals['_MSGVALSETUPDATEDCLAIM']._serialized_options = b'\312\264-\033peggy.v1beta1.EthereumClaim\202\347\260*\014orchestrator\212\347\260*\033peggy/MsgValsetUpdatedClaim' _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None @@ -71,6 +75,24 @@ _globals['_MSGBLACKLISTETHEREUMADDRESSES']._serialized_options = b'\202\347\260*\006signer\212\347\260*#peggy/MsgBlacklistEthereumAddresses' _globals['_MSGREVOKEETHEREUMBLACKLIST']._loaded_options = None _globals['_MSGREVOKEETHEREUMBLACKLIST']._serialized_options = b'\202\347\260*\006signer\212\347\260* peggy/MsgRevokeEthereumBlacklist' + _globals['_MSGCREATERATELIMIT'].fields_by_name['authority']._loaded_options = None + _globals['_MSGCREATERATELIMIT'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGCREATERATELIMIT'].fields_by_name['rate_limit_usd']._loaded_options = None + _globals['_MSGCREATERATELIMIT'].fields_by_name['rate_limit_usd']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGCREATERATELIMIT'].fields_by_name['absolute_mint_limit']._loaded_options = None + _globals['_MSGCREATERATELIMIT'].fields_by_name['absolute_mint_limit']._serialized_options = b'\030\001\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_MSGCREATERATELIMIT']._loaded_options = None + _globals['_MSGCREATERATELIMIT']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\030peggy/MsgCreateRateLimit' + _globals['_MSGUPDATERATELIMIT'].fields_by_name['authority']._loaded_options = None + _globals['_MSGUPDATERATELIMIT'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGUPDATERATELIMIT'].fields_by_name['new_rate_limit_usd']._loaded_options = None + _globals['_MSGUPDATERATELIMIT'].fields_by_name['new_rate_limit_usd']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_MSGUPDATERATELIMIT']._loaded_options = None + _globals['_MSGUPDATERATELIMIT']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\030peggy/MsgUpdateRateLimit' + _globals['_MSGREMOVERATELIMIT'].fields_by_name['authority']._loaded_options = None + _globals['_MSGREMOVERATELIMIT'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGREMOVERATELIMIT']._loaded_options = None + _globals['_MSGREMOVERATELIMIT']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\030peggy/MsgRemoveRateLimit' _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSG'].methods_by_name['ValsetConfirm']._loaded_options = None @@ -95,62 +117,74 @@ _globals['_MSG'].methods_by_name['CancelSendToEth']._serialized_options = b'\202\323\344\223\002(\"&/injective/peggy/v1/cancel_send_to_eth' _globals['_MSG'].methods_by_name['SubmitBadSignatureEvidence']._loaded_options = None _globals['_MSG'].methods_by_name['SubmitBadSignatureEvidence']._serialized_options = b'\202\323\344\223\0023\"1/injective/peggy/v1/submit_bad_signature_evidence' - _globals['_MSGSETORCHESTRATORADDRESSES']._serialized_start=301 - _globals['_MSGSETORCHESTRATORADDRESSES']._serialized_end=474 - _globals['_MSGSETORCHESTRATORADDRESSESRESPONSE']._serialized_start=476 - _globals['_MSGSETORCHESTRATORADDRESSESRESPONSE']._serialized_end=513 - _globals['_MSGVALSETCONFIRM']._serialized_start=516 - _globals['_MSGVALSETCONFIRM']._serialized_end=701 - _globals['_MSGVALSETCONFIRMRESPONSE']._serialized_start=703 - _globals['_MSGVALSETCONFIRMRESPONSE']._serialized_end=729 - _globals['_MSGSENDTOETH']._serialized_start=732 - _globals['_MSGSENDTOETH']._serialized_end=954 - _globals['_MSGSENDTOETHRESPONSE']._serialized_start=956 - _globals['_MSGSENDTOETHRESPONSE']._serialized_end=978 - _globals['_MSGREQUESTBATCH']._serialized_start=980 - _globals['_MSGREQUESTBATCH']._serialized_end=1100 - _globals['_MSGREQUESTBATCHRESPONSE']._serialized_start=1102 - _globals['_MSGREQUESTBATCHRESPONSE']._serialized_end=1127 - _globals['_MSGCONFIRMBATCH']._serialized_start=1130 - _globals['_MSGCONFIRMBATCH']._serialized_end=1350 - _globals['_MSGCONFIRMBATCHRESPONSE']._serialized_start=1352 - _globals['_MSGCONFIRMBATCHRESPONSE']._serialized_end=1377 - _globals['_MSGDEPOSITCLAIM']._serialized_start=1380 - _globals['_MSGDEPOSITCLAIM']._serialized_end=1742 - _globals['_MSGDEPOSITCLAIMRESPONSE']._serialized_start=1744 - _globals['_MSGDEPOSITCLAIMRESPONSE']._serialized_end=1769 - _globals['_MSGWITHDRAWCLAIM']._serialized_start=1772 - _globals['_MSGWITHDRAWCLAIM']._serialized_end=2012 - _globals['_MSGWITHDRAWCLAIMRESPONSE']._serialized_start=2014 - _globals['_MSGWITHDRAWCLAIMRESPONSE']._serialized_end=2040 - _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_start=2043 - _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_end=2367 - _globals['_MSGERC20DEPLOYEDCLAIMRESPONSE']._serialized_start=2369 - _globals['_MSGERC20DEPLOYEDCLAIMRESPONSE']._serialized_end=2400 - _globals['_MSGCANCELSENDTOETH']._serialized_start=2402 - _globals['_MSGCANCELSENDTOETH']._serialized_end=2527 - _globals['_MSGCANCELSENDTOETHRESPONSE']._serialized_start=2529 - _globals['_MSGCANCELSENDTOETHRESPONSE']._serialized_end=2557 - _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._serialized_start=2560 - _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._serialized_end=2746 - _globals['_MSGSUBMITBADSIGNATUREEVIDENCERESPONSE']._serialized_start=2748 - _globals['_MSGSUBMITBADSIGNATUREEVIDENCERESPONSE']._serialized_end=2787 - _globals['_MSGVALSETUPDATEDCLAIM']._serialized_start=2790 - _globals['_MSGVALSETUPDATEDCLAIM']._serialized_end=3169 - _globals['_MSGVALSETUPDATEDCLAIMRESPONSE']._serialized_start=3171 - _globals['_MSGVALSETUPDATEDCLAIMRESPONSE']._serialized_end=3202 - _globals['_MSGUPDATEPARAMS']._serialized_start=3205 - _globals['_MSGUPDATEPARAMS']._serialized_end=3378 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=3380 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=3405 - _globals['_MSGBLACKLISTETHEREUMADDRESSES']._serialized_start=3408 - _globals['_MSGBLACKLISTETHEREUMADDRESSES']._serialized_end=3565 - _globals['_MSGBLACKLISTETHEREUMADDRESSESRESPONSE']._serialized_start=3567 - _globals['_MSGBLACKLISTETHEREUMADDRESSESRESPONSE']._serialized_end=3606 - _globals['_MSGREVOKEETHEREUMBLACKLIST']._serialized_start=3609 - _globals['_MSGREVOKEETHEREUMBLACKLIST']._serialized_end=3760 - _globals['_MSGREVOKEETHEREUMBLACKLISTRESPONSE']._serialized_start=3762 - _globals['_MSGREVOKEETHEREUMBLACKLISTRESPONSE']._serialized_end=3798 - _globals['_MSG']._serialized_start=3801 - _globals['_MSG']._serialized_end=5911 + _globals['_MSGSETORCHESTRATORADDRESSES']._serialized_start=377 + _globals['_MSGSETORCHESTRATORADDRESSES']._serialized_end=550 + _globals['_MSGSETORCHESTRATORADDRESSESRESPONSE']._serialized_start=552 + _globals['_MSGSETORCHESTRATORADDRESSESRESPONSE']._serialized_end=589 + _globals['_MSGVALSETCONFIRM']._serialized_start=592 + _globals['_MSGVALSETCONFIRM']._serialized_end=777 + _globals['_MSGVALSETCONFIRMRESPONSE']._serialized_start=779 + _globals['_MSGVALSETCONFIRMRESPONSE']._serialized_end=805 + _globals['_MSGSENDTOETH']._serialized_start=808 + _globals['_MSGSENDTOETH']._serialized_end=1030 + _globals['_MSGSENDTOETHRESPONSE']._serialized_start=1032 + _globals['_MSGSENDTOETHRESPONSE']._serialized_end=1054 + _globals['_MSGREQUESTBATCH']._serialized_start=1056 + _globals['_MSGREQUESTBATCH']._serialized_end=1176 + _globals['_MSGREQUESTBATCHRESPONSE']._serialized_start=1178 + _globals['_MSGREQUESTBATCHRESPONSE']._serialized_end=1203 + _globals['_MSGCONFIRMBATCH']._serialized_start=1206 + _globals['_MSGCONFIRMBATCH']._serialized_end=1426 + _globals['_MSGCONFIRMBATCHRESPONSE']._serialized_start=1428 + _globals['_MSGCONFIRMBATCHRESPONSE']._serialized_end=1453 + _globals['_MSGDEPOSITCLAIM']._serialized_start=1456 + _globals['_MSGDEPOSITCLAIM']._serialized_end=1849 + _globals['_MSGDEPOSITCLAIMRESPONSE']._serialized_start=1851 + _globals['_MSGDEPOSITCLAIMRESPONSE']._serialized_end=1876 + _globals['_MSGWITHDRAWCLAIM']._serialized_start=1879 + _globals['_MSGWITHDRAWCLAIM']._serialized_end=2150 + _globals['_MSGWITHDRAWCLAIMRESPONSE']._serialized_start=2152 + _globals['_MSGWITHDRAWCLAIMRESPONSE']._serialized_end=2178 + _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_start=2181 + _globals['_MSGERC20DEPLOYEDCLAIM']._serialized_end=2536 + _globals['_MSGERC20DEPLOYEDCLAIMRESPONSE']._serialized_start=2538 + _globals['_MSGERC20DEPLOYEDCLAIMRESPONSE']._serialized_end=2569 + _globals['_MSGCANCELSENDTOETH']._serialized_start=2571 + _globals['_MSGCANCELSENDTOETH']._serialized_end=2696 + _globals['_MSGCANCELSENDTOETHRESPONSE']._serialized_start=2698 + _globals['_MSGCANCELSENDTOETHRESPONSE']._serialized_end=2726 + _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._serialized_start=2729 + _globals['_MSGSUBMITBADSIGNATUREEVIDENCE']._serialized_end=2954 + _globals['_MSGSUBMITBADSIGNATUREEVIDENCERESPONSE']._serialized_start=2956 + _globals['_MSGSUBMITBADSIGNATUREEVIDENCERESPONSE']._serialized_end=2995 + _globals['_MSGVALSETUPDATEDCLAIM']._serialized_start=2998 + _globals['_MSGVALSETUPDATEDCLAIM']._serialized_end=3408 + _globals['_MSGVALSETUPDATEDCLAIMRESPONSE']._serialized_start=3410 + _globals['_MSGVALSETUPDATEDCLAIMRESPONSE']._serialized_end=3441 + _globals['_MSGUPDATEPARAMS']._serialized_start=3444 + _globals['_MSGUPDATEPARAMS']._serialized_end=3617 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=3619 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=3644 + _globals['_MSGBLACKLISTETHEREUMADDRESSES']._serialized_start=3647 + _globals['_MSGBLACKLISTETHEREUMADDRESSES']._serialized_end=3804 + _globals['_MSGBLACKLISTETHEREUMADDRESSESRESPONSE']._serialized_start=3806 + _globals['_MSGBLACKLISTETHEREUMADDRESSESRESPONSE']._serialized_end=3845 + _globals['_MSGREVOKEETHEREUMBLACKLIST']._serialized_start=3848 + _globals['_MSGREVOKEETHEREUMBLACKLIST']._serialized_end=3999 + _globals['_MSGREVOKEETHEREUMBLACKLISTRESPONSE']._serialized_start=4001 + _globals['_MSGREVOKEETHEREUMBLACKLISTRESPONSE']._serialized_end=4037 + _globals['_MSGCREATERATELIMIT']._serialized_start=4040 + _globals['_MSGCREATERATELIMIT']._serialized_end=4557 + _globals['_MSGCREATERATELIMITRESPONSE']._serialized_start=4559 + _globals['_MSGCREATERATELIMITRESPONSE']._serialized_end=4587 + _globals['_MSGUPDATERATELIMIT']._serialized_start=4590 + _globals['_MSGUPDATERATELIMIT']._serialized_end=5015 + _globals['_MSGUPDATERATELIMITRESPONSE']._serialized_start=5017 + _globals['_MSGUPDATERATELIMITRESPONSE']._serialized_end=5045 + _globals['_MSGREMOVERATELIMIT']._serialized_start=5048 + _globals['_MSGREMOVERATELIMIT']._serialized_end=5206 + _globals['_MSGREMOVERATELIMITRESPONSE']._serialized_start=5208 + _globals['_MSGREMOVERATELIMITRESPONSE']._serialized_end=5236 + _globals['_MSG']._serialized_start=5239 + _globals['_MSG']._serialized_end=7670 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/msgs_pb2_grpc.py b/pyinjective/proto/injective/peggy/v1/msgs_pb2_grpc.py index 34f5ab26..575ea45d 100644 --- a/pyinjective/proto/injective/peggy/v1/msgs_pb2_grpc.py +++ b/pyinjective/proto/injective/peggy/v1/msgs_pb2_grpc.py @@ -84,6 +84,21 @@ def __init__(self, channel): request_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRevokeEthereumBlacklist.SerializeToString, response_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRevokeEthereumBlacklistResponse.FromString, _registered_method=True) + self.CreateRateLimit = channel.unary_unary( + '/injective.peggy.v1.Msg/CreateRateLimit', + request_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimit.SerializeToString, + response_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimitResponse.FromString, + _registered_method=True) + self.UpdateRateLimit = channel.unary_unary( + '/injective.peggy.v1.Msg/UpdateRateLimit', + request_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimit.SerializeToString, + response_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimitResponse.FromString, + _registered_method=True) + self.RemoveRateLimit = channel.unary_unary( + '/injective.peggy.v1.Msg/RemoveRateLimit', + request_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimit.SerializeToString, + response_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimitResponse.FromString, + _registered_method=True) class MsgServicer(object): @@ -176,6 +191,29 @@ def RevokeEthereumBlacklist(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def CreateRateLimit(self, request, context): + """CreateRateLimit imposes a (notional) limit on withdrawals for a particular + Peggy asset + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateRateLimit(self, request, context): + """UpdateRateLimit updates the rate limit's metadata for a particular Peggy + asset + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RemoveRateLimit(self, request, context): + """RemoveRateLimit lifts the rate limit for a particular Peggy asset + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_MsgServicer_to_server(servicer, server): rpc_method_handlers = { @@ -249,6 +287,21 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRevokeEthereumBlacklist.FromString, response_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRevokeEthereumBlacklistResponse.SerializeToString, ), + 'CreateRateLimit': grpc.unary_unary_rpc_method_handler( + servicer.CreateRateLimit, + request_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimit.FromString, + response_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimitResponse.SerializeToString, + ), + 'UpdateRateLimit': grpc.unary_unary_rpc_method_handler( + servicer.UpdateRateLimit, + request_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimit.FromString, + response_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimitResponse.SerializeToString, + ), + 'RemoveRateLimit': grpc.unary_unary_rpc_method_handler( + servicer.RemoveRateLimit, + request_deserializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimit.FromString, + response_serializer=injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimitResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'injective.peggy.v1.Msg', rpc_method_handlers) @@ -637,3 +690,84 @@ def RevokeEthereumBlacklist(request, timeout, metadata, _registered_method=True) + + @staticmethod + def CreateRateLimit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.peggy.v1.Msg/CreateRateLimit', + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimit.SerializeToString, + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgCreateRateLimitResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def UpdateRateLimit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.peggy.v1.Msg/UpdateRateLimit', + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimit.SerializeToString, + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgUpdateRateLimitResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def RemoveRateLimit(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.peggy.v1.Msg/RemoveRateLimit', + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimit.SerializeToString, + injective_dot_peggy_dot_v1_dot_msgs__pb2.MsgRemoveRateLimitResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/peggy/v1/params_pb2.py b/pyinjective/proto/injective/peggy/v1/params_pb2.py index de890733..f2db4bea 100644 --- a/pyinjective/proto/injective/peggy/v1/params_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/params_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/peggy/v1/params.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xea\n\n\x06Params\x12\x19\n\x08peggy_id\x18\x01 \x01(\tR\x07peggyId\x12\x30\n\x14\x63ontract_source_hash\x18\x02 \x01(\tR\x12\x63ontractSourceHash\x12\x36\n\x17\x62ridge_ethereum_address\x18\x03 \x01(\tR\x15\x62ridgeEthereumAddress\x12&\n\x0f\x62ridge_chain_id\x18\x04 \x01(\x04R\rbridgeChainId\x12\x32\n\x15signed_valsets_window\x18\x05 \x01(\x04R\x13signedValsetsWindow\x12\x32\n\x15signed_batches_window\x18\x06 \x01(\x04R\x13signedBatchesWindow\x12\x30\n\x14signed_claims_window\x18\x07 \x01(\x04R\x12signedClaimsWindow\x12\x30\n\x14target_batch_timeout\x18\x08 \x01(\x04R\x12targetBatchTimeout\x12,\n\x12\x61verage_block_time\x18\t \x01(\x04R\x10\x61verageBlockTime\x12=\n\x1b\x61verage_ethereum_block_time\x18\n \x01(\x04R\x18\x61verageEthereumBlockTime\x12W\n\x15slash_fraction_valset\x18\x0b \x01(\x0c\x42#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13slashFractionValset\x12U\n\x14slash_fraction_batch\x18\x0c \x01(\x0c\x42#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12slashFractionBatch\x12U\n\x14slash_fraction_claim\x18\r \x01(\x0c\x42#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12slashFractionClaim\x12l\n slash_fraction_conflicting_claim\x18\x0e \x01(\x0c\x42#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dslashFractionConflictingClaim\x12\x43\n\x1eunbond_slashing_valsets_window\x18\x0f \x01(\x04R\x1bunbondSlashingValsetsWindow\x12k\n slash_fraction_bad_eth_signature\x18\x10 \x01(\x0c\x42#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1cslashFractionBadEthSignature\x12*\n\x11\x63osmos_coin_denom\x18\x11 \x01(\tR\x0f\x63osmosCoinDenom\x12;\n\x1a\x63osmos_coin_erc20_contract\x18\x12 \x01(\tR\x17\x63osmosCoinErc20Contract\x12\x34\n\x16\x63laim_slashing_enabled\x18\x13 \x01(\x08R\x14\x63laimSlashingEnabled\x12?\n\x1c\x62ridge_contract_start_height\x18\x14 \x01(\x04R\x19\x62ridgeContractStartHeight\x12\x44\n\rvalset_reward\x18\x15 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x0cvalsetReward\x12\x16\n\x06\x61\x64mins\x18\x16 \x03(\tR\x06\x61\x64mins:\x15\x80\xdc \x00\x8a\xe7\xb0*\x0cpeggy/ParamsB\xdc\x01\n\x16\x63om.injective.peggy.v1B\x0bParamsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/peggy/v1/params.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xb4\x0b\n\x06Params\x12\x19\n\x08peggy_id\x18\x01 \x01(\tR\x07peggyId\x12\x30\n\x14\x63ontract_source_hash\x18\x02 \x01(\tR\x12\x63ontractSourceHash\x12\x36\n\x17\x62ridge_ethereum_address\x18\x03 \x01(\tR\x15\x62ridgeEthereumAddress\x12&\n\x0f\x62ridge_chain_id\x18\x04 \x01(\x04R\rbridgeChainId\x12\x32\n\x15signed_valsets_window\x18\x05 \x01(\x04R\x13signedValsetsWindow\x12\x32\n\x15signed_batches_window\x18\x06 \x01(\x04R\x13signedBatchesWindow\x12\x30\n\x14signed_claims_window\x18\x07 \x01(\x04R\x12signedClaimsWindow\x12\x30\n\x14target_batch_timeout\x18\x08 \x01(\x04R\x12targetBatchTimeout\x12,\n\x12\x61verage_block_time\x18\t \x01(\x04R\x10\x61verageBlockTime\x12=\n\x1b\x61verage_ethereum_block_time\x18\n \x01(\x04R\x18\x61verageEthereumBlockTime\x12Y\n\x15slash_fraction_valset\x18\x0b \x01(\x0c\x42%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13slashFractionValset\x12W\n\x14slash_fraction_batch\x18\x0c \x01(\x0c\x42%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12slashFractionBatch\x12W\n\x14slash_fraction_claim\x18\r \x01(\x0c\x42%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12slashFractionClaim\x12n\n slash_fraction_conflicting_claim\x18\x0e \x01(\x0c\x42%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dslashFractionConflictingClaim\x12\x43\n\x1eunbond_slashing_valsets_window\x18\x0f \x01(\x04R\x1bunbondSlashingValsetsWindow\x12m\n slash_fraction_bad_eth_signature\x18\x10 \x01(\x0c\x42%\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1cslashFractionBadEthSignature\x12*\n\x11\x63osmos_coin_denom\x18\x11 \x01(\tR\x0f\x63osmosCoinDenom\x12;\n\x1a\x63osmos_coin_erc20_contract\x18\x12 \x01(\tR\x17\x63osmosCoinErc20Contract\x12\x38\n\x16\x63laim_slashing_enabled\x18\x13 \x01(\x08\x42\x02\x18\x01R\x14\x63laimSlashingEnabled\x12?\n\x1c\x62ridge_contract_start_height\x18\x14 \x01(\x04R\x19\x62ridgeContractStartHeight\x12\x44\n\rvalset_reward\x18\x15 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x0cvalsetReward\x12\x16\n\x06\x61\x64mins\x18\x16 \x03(\tR\x06\x61\x64mins\x12:\n\x19segregated_wallet_address\x18\x17 \x01(\tR\x17segregatedWalletAddress:\x15\x80\xdc \x00\x8a\xe7\xb0*\x0cpeggy/ParamsB\xdc\x01\n\x16\x63om.injective.peggy.v1B\x0bParamsProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,19 +26,21 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.peggy.v1B\013ParamsProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\242\002\003IPX\252\002\022Injective.Peggy.V1\312\002\022Injective\\Peggy\\V1\342\002\036Injective\\Peggy\\V1\\GPBMetadata\352\002\024Injective::Peggy::V1' _globals['_PARAMS'].fields_by_name['slash_fraction_valset']._loaded_options = None - _globals['_PARAMS'].fields_by_name['slash_fraction_valset']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['slash_fraction_valset']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PARAMS'].fields_by_name['slash_fraction_batch']._loaded_options = None - _globals['_PARAMS'].fields_by_name['slash_fraction_batch']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['slash_fraction_batch']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PARAMS'].fields_by_name['slash_fraction_claim']._loaded_options = None - _globals['_PARAMS'].fields_by_name['slash_fraction_claim']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['slash_fraction_claim']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PARAMS'].fields_by_name['slash_fraction_conflicting_claim']._loaded_options = None - _globals['_PARAMS'].fields_by_name['slash_fraction_conflicting_claim']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['slash_fraction_conflicting_claim']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_PARAMS'].fields_by_name['slash_fraction_bad_eth_signature']._loaded_options = None - _globals['_PARAMS'].fields_by_name['slash_fraction_bad_eth_signature']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['slash_fraction_bad_eth_signature']._serialized_options = b'\030\001\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['claim_slashing_enabled']._loaded_options = None + _globals['_PARAMS'].fields_by_name['claim_slashing_enabled']._serialized_options = b'\030\001' _globals['_PARAMS'].fields_by_name['valset_reward']._loaded_options = None _globals['_PARAMS'].fields_by_name['valset_reward']._serialized_options = b'\310\336\037\000' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\200\334 \000\212\347\260*\014peggy/Params' _globals['_PARAMS']._serialized_start=129 - _globals['_PARAMS']._serialized_end=1515 + _globals['_PARAMS']._serialized_end=1589 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/rate_limit_pb2.py b/pyinjective/proto/injective/peggy/v1/rate_limit_pb2.py new file mode 100644 index 00000000..db1aff0a --- /dev/null +++ b/pyinjective/proto/injective/peggy/v1/rate_limit_pb2.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/peggy/v1/rate_limit.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_dot_oracle_dot_v1beta1_dot_oracle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/peggy/v1/rate_limit.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\x1a%injective/oracle/v1beta1/oracle.proto\"\xdd\x03\n\tRateLimit\x12#\n\rtoken_address\x18\x01 \x01(\tR\x0ctokenAddress\x12%\n\x0etoken_decimals\x18\x02 \x01(\rR\rtokenDecimals\x12$\n\x0etoken_price_id\x18\x03 \x01(\tR\x0ctokenPriceId\x12*\n\x11rate_limit_window\x18\x04 \x01(\x04R\x0frateLimitWindow\x12I\n\x0erate_limit_usd\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0crateLimitUsd\x12O\n\x13\x61\x62solute_mint_limit\x18\x06 \x01(\tB\x1f\x18\x01\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x11\x61\x62soluteMintLimit\x12\x44\n\ttransfers\x18\x07 \x03(\x0b\x32\".injective.peggy.v1.BridgeTransferB\x02\x18\x01R\ttransfers\x12P\n\x11token_oracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\x0ftokenOracleType\"\x8d\x01\n\x0e\x42ridgeTransfer\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\x12!\n\x0c\x62lock_number\x18\x02 \x01(\x04R\x0b\x62lockNumber\x12\x1d\n\nis_deposit\x18\x03 \x01(\x08R\tisDeposit:\x02\x18\x01\"\xb2\x01\n\x12RateLimitTransfers\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x41\n\x07inflows\x18\x02 \x03(\x0b\x32\'.injective.peggy.v1.BlockTransferRecordR\x07inflows\x12\x43\n\x08outflows\x18\x03 \x03(\x0b\x32\'.injective.peggy.v1.BlockTransferRecordR\x08outflows\"o\n\x13\x42lockTransferRecord\x12!\n\x0c\x62lock_number\x18\x01 \x01(\x04R\x0b\x62lockNumber\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"Y\n\nMintAmount\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mountB\xdf\x01\n\x16\x63om.injective.peggy.v1B\x0eRateLimitProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.peggy.v1.rate_limit_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.peggy.v1B\016RateLimitProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\242\002\003IPX\252\002\022Injective.Peggy.V1\312\002\022Injective\\Peggy\\V1\342\002\036Injective\\Peggy\\V1\\GPBMetadata\352\002\024Injective::Peggy::V1' + _globals['_RATELIMIT'].fields_by_name['rate_limit_usd']._loaded_options = None + _globals['_RATELIMIT'].fields_by_name['rate_limit_usd']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_RATELIMIT'].fields_by_name['absolute_mint_limit']._loaded_options = None + _globals['_RATELIMIT'].fields_by_name['absolute_mint_limit']._serialized_options = b'\030\001\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_RATELIMIT'].fields_by_name['transfers']._loaded_options = None + _globals['_RATELIMIT'].fields_by_name['transfers']._serialized_options = b'\030\001' + _globals['_BRIDGETRANSFER'].fields_by_name['amount']._loaded_options = None + _globals['_BRIDGETRANSFER'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_BRIDGETRANSFER']._loaded_options = None + _globals['_BRIDGETRANSFER']._serialized_options = b'\030\001' + _globals['_BLOCKTRANSFERRECORD'].fields_by_name['amount']._loaded_options = None + _globals['_BLOCKTRANSFERRECORD'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_MINTAMOUNT'].fields_by_name['amount']._loaded_options = None + _globals['_MINTAMOUNT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_RATELIMIT']._serialized_start=121 + _globals['_RATELIMIT']._serialized_end=598 + _globals['_BRIDGETRANSFER']._serialized_start=601 + _globals['_BRIDGETRANSFER']._serialized_end=742 + _globals['_RATELIMITTRANSFERS']._serialized_start=745 + _globals['_RATELIMITTRANSFERS']._serialized_end=923 + _globals['_BLOCKTRANSFERRECORD']._serialized_start=925 + _globals['_BLOCKTRANSFERRECORD']._serialized_end=1036 + _globals['_MINTAMOUNT']._serialized_start=1038 + _globals['_MINTAMOUNT']._serialized_end=1127 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/peggy/v1/rate_limit_pb2_grpc.py b/pyinjective/proto/injective/peggy/v1/rate_limit_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/peggy/v1/rate_limit_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/peggy/v1/types_pb2.py b/pyinjective/proto/injective/peggy/v1/types_pb2.py index a651b2b2..e1fb94e9 100644 --- a/pyinjective/proto/injective/peggy/v1/types_pb2.py +++ b/pyinjective/proto/injective/peggy/v1/types_pb2.py @@ -12,10 +12,11 @@ _sym_db = _symbol_database.Default() +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/peggy/v1/types.proto\x12\x12injective.peggy.v1\x1a\x14gogoproto/gogo.proto\"R\n\x0f\x42ridgeValidator\x12\x14\n\x05power\x18\x01 \x01(\x04R\x05power\x12)\n\x10\x65thereum_address\x18\x02 \x01(\tR\x0f\x65thereumAddress\"\xdc\x01\n\x06Valset\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12=\n\x07members\x18\x02 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\x07members\x12\x16\n\x06height\x18\x03 \x01(\x04R\x06height\x12\x42\n\rreward_amount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x05 \x01(\tR\x0brewardToken\"\x85\x01\n\x1fLastObservedEthereumBlockHeight\x12.\n\x13\x63osmos_block_height\x18\x01 \x01(\x04R\x11\x63osmosBlockHeight\x12\x32\n\x15\x65thereum_block_height\x18\x02 \x01(\x04R\x13\x65thereumBlockHeight\"v\n\x0eLastClaimEvent\x12\x30\n\x14\x65thereum_event_nonce\x18\x01 \x01(\x04R\x12\x65thereumEventNonce\x12\x32\n\x15\x65thereum_event_height\x18\x02 \x01(\x04R\x13\x65thereumEventHeight\":\n\x0c\x45RC20ToDenom\x12\x14\n\x05\x65rc20\x18\x01 \x01(\tR\x05\x65rc20\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nomB\xdb\x01\n\x16\x63om.injective.peggy.v1B\nTypesProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/peggy/v1/types.proto\x12\x12injective.peggy.v1\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\"R\n\x0f\x42ridgeValidator\x12\x14\n\x05power\x18\x01 \x01(\x04R\x05power\x12)\n\x10\x65thereum_address\x18\x02 \x01(\tR\x0f\x65thereumAddress\"\x83\x02\n\x06Valset\x12\x14\n\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12=\n\x07members\x18\x02 \x03(\x0b\x32#.injective.peggy.v1.BridgeValidatorR\x07members\x12\x16\n\x06height\x18\x03 \x01(\x04R\x06height\x12\x42\n\rreward_amount\x18\x04 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0crewardAmount\x12!\n\x0creward_token\x18\x05 \x01(\tR\x0brewardToken:%\xca\xb4-!injective.peggy.v1.EthereumSigned\"\x85\x01\n\x1fLastObservedEthereumBlockHeight\x12.\n\x13\x63osmos_block_height\x18\x01 \x01(\x04R\x11\x63osmosBlockHeight\x12\x32\n\x15\x65thereum_block_height\x18\x02 \x01(\x04R\x13\x65thereumBlockHeight\"v\n\x0eLastClaimEvent\x12\x30\n\x14\x65thereum_event_nonce\x18\x01 \x01(\x04R\x12\x65thereumEventNonce\x12\x32\n\x15\x65thereum_event_height\x18\x02 \x01(\x04R\x13\x65thereumEventHeight\":\n\x0c\x45RC20ToDenom\x12\x14\n\x05\x65rc20\x18\x01 \x01(\tR\x05\x65rc20\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nomB\xdb\x01\n\x16\x63om.injective.peggy.v1B\nTypesProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\xa2\x02\x03IPX\xaa\x02\x12Injective.Peggy.V1\xca\x02\x12Injective\\Peggy\\V1\xe2\x02\x1eInjective\\Peggy\\V1\\GPBMetadata\xea\x02\x14Injective::Peggy::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,14 +26,16 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.peggy.v1B\nTypesProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types\242\002\003IPX\252\002\022Injective.Peggy.V1\312\002\022Injective\\Peggy\\V1\342\002\036Injective\\Peggy\\V1\\GPBMetadata\352\002\024Injective::Peggy::V1' _globals['_VALSET'].fields_by_name['reward_amount']._loaded_options = None _globals['_VALSET'].fields_by_name['reward_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_BRIDGEVALIDATOR']._serialized_start=76 - _globals['_BRIDGEVALIDATOR']._serialized_end=158 - _globals['_VALSET']._serialized_start=161 - _globals['_VALSET']._serialized_end=381 - _globals['_LASTOBSERVEDETHEREUMBLOCKHEIGHT']._serialized_start=384 - _globals['_LASTOBSERVEDETHEREUMBLOCKHEIGHT']._serialized_end=517 - _globals['_LASTCLAIMEVENT']._serialized_start=519 - _globals['_LASTCLAIMEVENT']._serialized_end=637 - _globals['_ERC20TODENOM']._serialized_start=639 - _globals['_ERC20TODENOM']._serialized_end=697 + _globals['_VALSET']._loaded_options = None + _globals['_VALSET']._serialized_options = b'\312\264-!injective.peggy.v1.EthereumSigned' + _globals['_BRIDGEVALIDATOR']._serialized_start=103 + _globals['_BRIDGEVALIDATOR']._serialized_end=185 + _globals['_VALSET']._serialized_start=188 + _globals['_VALSET']._serialized_end=447 + _globals['_LASTOBSERVEDETHEREUMBLOCKHEIGHT']._serialized_start=450 + _globals['_LASTOBSERVEDETHEREUMBLOCKHEIGHT']._serialized_end=583 + _globals['_LASTCLAIMEVENT']._serialized_start=585 + _globals['_LASTCLAIMEVENT']._serialized_end=703 + _globals['_ERC20TODENOM']._serialized_start=705 + _globals['_ERC20TODENOM']._serialized_end=763 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py index 6fa1a73a..c3685f0c 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py @@ -13,11 +13,12 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 from pyinjective.proto.injective.permissions.v1beta1 import params_pb2 as injective_dot_permissions_dot_v1beta1_dot_params__pb2 from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xa3\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespacesB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a+injective/common/vouchers/v1/vouchers.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xf3\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespaces\x12N\n\x08vouchers\x18\x03 \x03(\x0b\x32,.injective.common.vouchers.v1.AddressVoucherB\x04\xc8\xde\x1f\x00R\x08vouchersB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,6 +30,8 @@ _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' _globals['_GENESISSTATE'].fields_by_name['namespaces']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['namespaces']._serialized_options = b'\310\336\037\000' - _globals['_GENESISSTATE']._serialized_start=194 - _globals['_GENESISSTATE']._serialized_end=357 + _globals['_GENESISSTATE'].fields_by_name['vouchers']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE']._serialized_start=239 + _globals['_GENESISSTATE']._serialized_end=482 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/params_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/params_pb2.py index d6bf69a1..03522416 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/params_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/params_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*injective/permissions/v1beta1/params.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"[\n\x06Params\x12\x34\n\x17wasm_hook_query_max_gas\x18\x01 \x01(\x04R\x13wasmHookQueryMaxGas:\x1b\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x12permissions/ParamsB\x99\x02\n!com.injective.permissions.v1beta1B\x0bParamsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*injective/permissions/v1beta1/params.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xd4\x02\n\x1f\x45nforcedRestrictionsEVMContract\x12\x43\n\x10\x63ontract_address\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\x0f\x63ontractAddress\x12\x32\n\x15pause_event_signature\x18\x02 \x01(\tR\x13pauseEventSignature\x12\x36\n\x17unpause_event_signature\x18\x03 \x01(\tR\x15unpauseEventSignature\x12:\n\x19\x62lacklist_event_signature\x18\x04 \x01(\tR\x17\x62lacklistEventSignature\x12>\n\x1bunblacklist_event_signature\x18\x05 \x01(\tR\x19unblacklistEventSignature:\x04\xe8\xa0\x1f\x01\"\xcb\x02\n\x06Params\x12\x31\n\x15\x63ontract_hook_max_gas\x18\x01 \x01(\x04R\x12\x63ontractHookMaxGas\x12[\n*deprecated_enforced_restrictions_contracts\x18\x02 \x03(\tR\'deprecatedEnforcedRestrictionsContracts\x12\x93\x01\n#enforced_restrictions_evm_contracts\x18\x03 \x03(\x0b\x32>.injective.permissions.v1beta1.EnforcedRestrictionsEVMContractB\x04\xc8\xde\x1f\x00R enforcedRestrictionsEvmContracts:\x1b\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x12permissions/ParamsB\x99\x02\n!com.injective.permissions.v1beta1B\x0bParamsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,8 +26,16 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\013ParamsProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT'].fields_by_name['contract_address']._loaded_options = None + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT'].fields_by_name['contract_address']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT']._loaded_options = None + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT']._serialized_options = b'\350\240\037\001' + _globals['_PARAMS'].fields_by_name['enforced_restrictions_evm_contracts']._loaded_options = None + _globals['_PARAMS'].fields_by_name['enforced_restrictions_evm_contracts']._serialized_options = b'\310\336\037\000' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\022permissions/Params' - _globals['_PARAMS']._serialized_start=177 - _globals['_PARAMS']._serialized_end=268 + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT']._serialized_start=178 + _globals['_ENFORCEDRESTRICTIONSEVMCONTRACT']._serialized_end=518 + _globals['_PARAMS']._serialized_start=521 + _globals['_PARAMS']._serialized_end=852 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py index cab8953a..28073529 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py @@ -12,11 +12,12 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\xc9\x02\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1b\n\twasm_hook\x18\x02 \x01(\tR\x08wasmHook\x12!\n\x0cmints_paused\x18\x03 \x01(\x08R\x0bmintsPaused\x12!\n\x0csends_paused\x18\x04 \x01(\x08R\x0bsendsPaused\x12!\n\x0c\x62urns_paused\x18\x05 \x01(\x08R\x0b\x62urnsPaused\x12N\n\x10role_permissions\x18\x06 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12P\n\raddress_roles\x18\x07 \x03(\x0b\x32+.injective.permissions.v1beta1.AddressRolesR\x0c\x61\x64\x64ressRoles\">\n\x0c\x41\x64\x64ressRoles\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"<\n\x04Role\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12 \n\x0bpermissions\x18\x02 \x01(\rR\x0bpermissions\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds\"l\n\x07Voucher\x12\x61\n\x05\x63oins\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x05\x63oins\"l\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12@\n\x07voucher\x18\x02 \x01(\x0b\x32&.injective.permissions.v1beta1.VoucherR\x07voucher*:\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a+injective/common/vouchers/v1/vouchers.proto\"\x94\x04\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1b\n\twasm_hook\x18\x02 \x01(\tR\x08wasmHook\x12N\n\x10role_permissions\x18\x03 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12J\n\x0b\x61\x63tor_roles\x18\x04 \x03(\x0b\x32).injective.permissions.v1beta1.ActorRolesR\nactorRoles\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\x12\x19\n\x08\x65vm_hook\x18\x08 \x01(\tR\x07\x65vmHook\"8\n\nActorRoles\x12\x14\n\x05\x61\x63tor\x18\x01 \x01(\tR\x05\x61\x63tor\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"8\n\nRoleActors\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12\x16\n\x06\x61\x63tors\x18\x02 \x03(\tR\x06\x61\x63tors\"=\n\x0bRoleManager\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"\x8b\x01\n\x0cPolicyStatus\x12=\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0bis_disabled\x18\x02 \x01(\x08R\nisDisabled\x12\x1b\n\tis_sealed\x18\x03 \x01(\x08R\x08isSealed\"U\n\x04Role\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x07role_id\x18\x02 \x01(\rR\x06roleId\x12 \n\x0bpermissions\x18\x03 \x01(\rR\x0bpermissions\"\xae\x01\n\x17PolicyManagerCapability\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12=\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0b\x63\x61n_disable\x18\x03 \x01(\x08R\ncanDisable\x12\x19\n\x08\x63\x61n_seal\x18\x04 \x01(\x08R\x07\x63\x61nSeal\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds*\xd0\x01\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x12\x08\n\x04SEND\x10\x08\x12\x0e\n\nSUPER_BURN\x10\x10\x12\x1d\n\x16MODIFY_POLICY_MANAGERS\x10\x80\x80\x80@\x12\x1c\n\x14MODIFY_CONTRACT_HOOK\x10\x80\x80\x80\x80\x01\x12\x1f\n\x17MODIFY_ROLE_PERMISSIONS\x10\x80\x80\x80\x80\x02\x12\x1c\n\x14MODIFY_ROLE_MANAGERS\x10\x80\x80\x80\x80\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,20 +25,22 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\020PermissionsProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' - _globals['_VOUCHER'].fields_by_name['coins']._loaded_options = None - _globals['_VOUCHER'].fields_by_name['coins']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' - _globals['_ACTION']._serialized_start=852 - _globals['_ACTION']._serialized_end=910 - _globals['_NAMESPACE']._serialized_start=137 - _globals['_NAMESPACE']._serialized_end=466 - _globals['_ADDRESSROLES']._serialized_start=468 - _globals['_ADDRESSROLES']._serialized_end=530 - _globals['_ROLE']._serialized_start=532 - _globals['_ROLE']._serialized_end=592 - _globals['_ROLEIDS']._serialized_start=594 - _globals['_ROLEIDS']._serialized_end=630 - _globals['_VOUCHER']._serialized_start=632 - _globals['_VOUCHER']._serialized_end=740 - _globals['_ADDRESSVOUCHER']._serialized_start=742 - _globals['_ADDRESSVOUCHER']._serialized_end=850 + _globals['_ACTION']._serialized_start=1340 + _globals['_ACTION']._serialized_end=1548 + _globals['_NAMESPACE']._serialized_start=182 + _globals['_NAMESPACE']._serialized_end=714 + _globals['_ACTORROLES']._serialized_start=716 + _globals['_ACTORROLES']._serialized_end=772 + _globals['_ROLEACTORS']._serialized_start=774 + _globals['_ROLEACTORS']._serialized_end=830 + _globals['_ROLEMANAGER']._serialized_start=832 + _globals['_ROLEMANAGER']._serialized_end=893 + _globals['_POLICYSTATUS']._serialized_start=896 + _globals['_POLICYSTATUS']._serialized_end=1035 + _globals['_ROLE']._serialized_start=1037 + _globals['_ROLE']._serialized_end=1122 + _globals['_POLICYMANAGERCAPABILITY']._serialized_start=1125 + _globals['_POLICYMANAGERCAPABILITY']._serialized_end=1299 + _globals['_ROLEIDS']._serialized_start=1301 + _globals['_ROLEIDS']._serialized_end=1337 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py index a03ce809..6f2b6981 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py @@ -16,12 +16,13 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as cosmos_dot_base_dot_query_dot_v1beta1_dot_pagination__pb2 +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as injective_dot_common_dot_vouchers_dot_v1_dot_vouchers__pb2 from pyinjective.proto.injective.permissions.v1beta1 import params_pb2 as injective_dot_permissions_dot_v1beta1_dot_params__pb2 from pyinjective.proto.injective.permissions.v1beta1 import genesis_pb2 as injective_dot_permissions_dot_v1beta1_dot_genesis__pb2 from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1b\n\x19QueryAllNamespacesRequest\"f\n\x1aQueryAllNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"Y\n\x1cQueryNamespaceByDenomRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12#\n\rinclude_roles\x18\x02 \x01(\x08R\x0cincludeRoles\"g\n\x1dQueryNamespaceByDenomResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"G\n\x1bQueryAddressesByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"<\n\x1cQueryAddressesByRoleResponse\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"J\n\x18QueryAddressRolesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"1\n\x19QueryAddressRolesResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\":\n\x1eQueryVouchersForAddressRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"\xa0\x01\n\x1fQueryVouchersForAddressResponse\x12}\n\x08vouchers\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinBF\xc8\xde\x1f\x00\xea\xde\x1f\x12vouchers,omitempty\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08vouchers2\x89\t\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xbb\x01\n\rAllNamespaces\x12\x38.injective.permissions.v1beta1.QueryAllNamespacesRequest\x1a\x39.injective.permissions.v1beta1.QueryAllNamespacesResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/permissions/v1beta1/all_namespaces\x12\xc8\x01\n\x10NamespaceByDenom\x12;.injective.permissions.v1beta1.QueryNamespaceByDenomRequest\x1a<.injective.permissions.v1beta1.QueryNamespaceByDenomResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/permissions/v1beta1/namespace_by_denom\x12\xbb\x01\n\x0c\x41\x64\x64ressRoles\x12\x37.injective.permissions.v1beta1.QueryAddressRolesRequest\x1a\x38.injective.permissions.v1beta1.QueryAddressRolesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xc4\x01\n\x0f\x41\x64\x64ressesByRole\x12:.injective.permissions.v1beta1.QueryAddressesByRoleRequest\x1a;.injective.permissions.v1beta1.QueryAddressesByRoleResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xd0\x01\n\x12VouchersForAddress\x12=.injective.permissions.v1beta1.QueryVouchersForAddressRequest\x1a>.injective.permissions.v1beta1.QueryVouchersForAddressResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/permissions/v1beta1/vouchers_for_addressB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a+injective/common/vouchers/v1/vouchers.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1d\n\x1bQueryNamespaceDenomsRequest\"6\n\x1cQueryNamespaceDenomsResponse\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"\x18\n\x16QueryNamespacesRequest\"c\n\x17QueryNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"-\n\x15QueryNamespaceRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"`\n\x16QueryNamespaceResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"D\n\x18QueryActorsByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"3\n\x19QueryActorsByRoleResponse\x12\x16\n\x06\x61\x63tors\x18\x01 \x03(\tR\x06\x61\x63tors\"F\n\x18QueryRolesByActorRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x14\n\x05\x61\x63tor\x18\x02 \x01(\tR\x05\x61\x63tor\"1\n\x19QueryRolesByActorResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\"0\n\x18QueryRoleManagersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"l\n\x19QueryRoleManagersResponse\x12O\n\rrole_managers\x18\x01 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\"I\n\x17QueryRoleManagerRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07manager\x18\x02 \x01(\tR\x07manager\"i\n\x18QueryRoleManagerResponse\x12M\n\x0crole_manager\x18\x01 \x01(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0broleManager\"2\n\x1aQueryPolicyStatusesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"s\n\x1bQueryPolicyStatusesResponse\x12T\n\x0fpolicy_statuses\x18\x01 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\"=\n%QueryPolicyManagerCapabilitiesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"\xa0\x01\n&QueryPolicyManagerCapabilitiesResponse\x12v\n\x1bpolicy_manager_capabilities\x18\x01 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\",\n\x14QueryVouchersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"g\n\x15QueryVouchersResponse\x12N\n\x08vouchers\x18\x01 \x03(\x0b\x32,.injective.common.vouchers.v1.AddressVoucherB\x04\xc8\xde\x1f\x00R\x08vouchers\"E\n\x13QueryVoucherRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"|\n\x14QueryVoucherResponse\x12\x64\n\x07voucher\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x07voucher\"\x19\n\x17QueryModuleStateRequest\"]\n\x18QueryModuleStateResponse\x12\x41\n\x05state\x18\x01 \x01(\x0b\x32+.injective.permissions.v1beta1.GenesisStateR\x05state2\xc3\x13\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xc3\x01\n\x0fNamespaceDenoms\x12:.injective.permissions.v1beta1.QueryNamespaceDenomsRequest\x1a;.injective.permissions.v1beta1.QueryNamespaceDenomsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/permissions/v1beta1/namespace_denoms\x12\xae\x01\n\nNamespaces\x12\x35.injective.permissions.v1beta1.QueryNamespacesRequest\x1a\x36.injective.permissions.v1beta1.QueryNamespacesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/permissions/v1beta1/namespaces\x12\xb2\x01\n\tNamespace\x12\x34.injective.permissions.v1beta1.QueryNamespaceRequest\x1a\x35.injective.permissions.v1beta1.QueryNamespaceResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/namespace/{denom}\x12\xc8\x01\n\x0cRolesByActor\x12\x37.injective.permissions.v1beta1.QueryRolesByActorRequest\x1a\x38.injective.permissions.v1beta1.QueryRolesByActorResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}\x12\xc7\x01\n\x0c\x41\x63torsByRole\x12\x37.injective.permissions.v1beta1.QueryActorsByRoleRequest\x1a\x38.injective.permissions.v1beta1.QueryActorsByRoleResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/permissions/v1beta1/policy_statuses/{denom}\x12\xf4\x01\n\x19PolicyManagerCapabilities\x12\x44.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesRequest\x1a\x45.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesResponse\"J\x82\xd3\xe4\x93\x02\x44\x12\x42/injective/permissions/v1beta1/policy_manager_capabilities/{denom}\x12\xa6\x01\n\x08Vouchers\x12\x33.injective.permissions.v1beta1.QueryVouchersRequest\x1a\x34.injective.permissions.v1beta1.QueryVouchersResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/injective/permissions/v1beta1/vouchers\x12\xa2\x01\n\x07Voucher\x12\x32.injective.permissions.v1beta1.QueryVoucherRequest\x1a\x33.injective.permissions.v1beta1.QueryVoucherResponse\".\x82\xd3\xe4\x93\x02(\x12&/injective/permissions/v1beta1/voucher\x12\xbe\x01\n\x16PermissionsModuleState\x12\x36.injective.permissions.v1beta1.QueryModuleStateRequest\x1a\x37.injective.permissions.v1beta1.QueryModuleStateResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/permissions/v1beta1/module_stateB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,44 +32,88 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\nQueryProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._loaded_options = None - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000\352\336\037\022vouchers,omitempty\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_QUERYVOUCHERSRESPONSE'].fields_by_name['vouchers']._loaded_options = None + _globals['_QUERYVOUCHERSRESPONSE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000' + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._loaded_options = None + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin' _globals['_QUERY'].methods_by_name['Params']._loaded_options = None _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\'\022%/injective/permissions/v1beta1/params' - _globals['_QUERY'].methods_by_name['AllNamespaces']._loaded_options = None - _globals['_QUERY'].methods_by_name['AllNamespaces']._serialized_options = b'\202\323\344\223\002/\022-/injective/permissions/v1beta1/all_namespaces' - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._loaded_options = None - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._serialized_options = b'\202\323\344\223\0023\0221/injective/permissions/v1beta1/namespace_by_denom' - _globals['_QUERY'].methods_by_name['AddressRoles']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressRoles']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['AddressesByRole']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressesByRole']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['VouchersForAddress']._loaded_options = None - _globals['_QUERY'].methods_by_name['VouchersForAddress']._serialized_options = b'\202\323\344\223\0025\0223/injective/permissions/v1beta1/vouchers_for_address' - _globals['_QUERYPARAMSREQUEST']._serialized_start=342 - _globals['_QUERYPARAMSREQUEST']._serialized_end=362 - _globals['_QUERYPARAMSRESPONSE']._serialized_start=364 - _globals['_QUERYPARAMSRESPONSE']._serialized_end=454 - _globals['_QUERYALLNAMESPACESREQUEST']._serialized_start=456 - _globals['_QUERYALLNAMESPACESREQUEST']._serialized_end=483 - _globals['_QUERYALLNAMESPACESRESPONSE']._serialized_start=485 - _globals['_QUERYALLNAMESPACESRESPONSE']._serialized_end=587 - _globals['_QUERYNAMESPACEBYDENOMREQUEST']._serialized_start=589 - _globals['_QUERYNAMESPACEBYDENOMREQUEST']._serialized_end=678 - _globals['_QUERYNAMESPACEBYDENOMRESPONSE']._serialized_start=680 - _globals['_QUERYNAMESPACEBYDENOMRESPONSE']._serialized_end=783 - _globals['_QUERYADDRESSESBYROLEREQUEST']._serialized_start=785 - _globals['_QUERYADDRESSESBYROLEREQUEST']._serialized_end=856 - _globals['_QUERYADDRESSESBYROLERESPONSE']._serialized_start=858 - _globals['_QUERYADDRESSESBYROLERESPONSE']._serialized_end=918 - _globals['_QUERYADDRESSROLESREQUEST']._serialized_start=920 - _globals['_QUERYADDRESSROLESREQUEST']._serialized_end=994 - _globals['_QUERYADDRESSROLESRESPONSE']._serialized_start=996 - _globals['_QUERYADDRESSROLESRESPONSE']._serialized_end=1045 - _globals['_QUERYVOUCHERSFORADDRESSREQUEST']._serialized_start=1047 - _globals['_QUERYVOUCHERSFORADDRESSREQUEST']._serialized_end=1105 - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE']._serialized_start=1108 - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE']._serialized_end=1268 - _globals['_QUERY']._serialized_start=1271 - _globals['_QUERY']._serialized_end=2432 + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._loaded_options = None + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._serialized_options = b'\202\323\344\223\0021\022//injective/permissions/v1beta1/namespace_denoms' + _globals['_QUERY'].methods_by_name['Namespaces']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespaces']._serialized_options = b'\202\323\344\223\002+\022)/injective/permissions/v1beta1/namespaces' + _globals['_QUERY'].methods_by_name['Namespace']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespace']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/namespace/{denom}' + _globals['_QUERY'].methods_by_name['RolesByActor']._loaded_options = None + _globals['_QUERY'].methods_by_name['RolesByActor']._serialized_options = b'\202\323\344\223\002?\022=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}' + _globals['_QUERY'].methods_by_name['ActorsByRole']._loaded_options = None + _globals['_QUERY'].methods_by_name['ActorsByRole']._serialized_options = b'\202\323\344\223\002>\022.injective.permissions.v1beta1.MsgUpdateNamespaceRolesResponse\x12\x8e\x01\n\x14RevokeNamespaceRoles\x12\x36.injective.permissions.v1beta1.MsgRevokeNamespaceRoles\x1a>.injective.permissions.v1beta1.MsgRevokeNamespaceRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/permissions/v1beta1/tx.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\x1a\x11\x61mino/amino.proto\"\xbe\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x43\n\x06params\x18\x02 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:.\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x1bpermissions/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xbd\x01\n\x12MsgCreateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12L\n\tnamespace\x18\x02 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\tnamespace:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgCreateNamespace\"\x1c\n\x1aMsgCreateNamespaceResponse\"\xe2\x05\n\x12MsgUpdateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12^\n\twasm_hook\x18\x03 \x01(\x0b\x32\x41.injective.permissions.v1beta1.MsgUpdateNamespace.SetContractHookR\x08wasmHook\x12N\n\x10role_permissions\x18\x04 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\x12\\\n\x08\x65vm_hook\x18\x08 \x01(\x0b\x32\x41.injective.permissions.v1beta1.MsgUpdateNamespace.SetContractHookR\x07\x65vmHook\x1a.\n\x0fSetContractHook\x12\x1b\n\tnew_value\x18\x01 \x01(\tR\x08newValue:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgUpdateNamespace\"\x1c\n\x1aMsgUpdateNamespaceResponse\"\xbd\x02\n\x13MsgUpdateActorRoles\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12V\n\x12role_actors_to_add\x18\x03 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x0froleActorsToAdd\x12\\\n\x15role_actors_to_revoke\x18\x05 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x12roleActorsToRevoke:/\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1fpermissions/MsgUpdateActorRoles\"\x1d\n\x1bMsgUpdateActorRolesResponse\"\x7f\n\x0fMsgClaimVoucher\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1bpermissions/MsgClaimVoucher\"\x19\n\x17MsgClaimVoucherResponse2\x83\x05\n\x03Msg\x12v\n\x0cUpdateParams\x12..injective.permissions.v1beta1.MsgUpdateParams\x1a\x36.injective.permissions.v1beta1.MsgUpdateParamsResponse\x12\x7f\n\x0f\x43reateNamespace\x12\x31.injective.permissions.v1beta1.MsgCreateNamespace\x1a\x39.injective.permissions.v1beta1.MsgCreateNamespaceResponse\x12\x7f\n\x0fUpdateNamespace\x12\x31.injective.permissions.v1beta1.MsgUpdateNamespace\x1a\x39.injective.permissions.v1beta1.MsgUpdateNamespaceResponse\x12\x82\x01\n\x10UpdateActorRoles\x12\x32.injective.permissions.v1beta1.MsgUpdateActorRoles\x1a:.injective.permissions.v1beta1.MsgUpdateActorRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,22 +42,14 @@ _globals['_MSGCREATENAMESPACE'].fields_by_name['namespace']._serialized_options = b'\310\336\037\000' _globals['_MSGCREATENAMESPACE']._loaded_options = None _globals['_MSGCREATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgCreateNamespace' - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._loaded_options = None - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGDELETENAMESPACE']._loaded_options = None - _globals['_MSGDELETENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgDeleteNamespace' _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._loaded_options = None _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGUPDATENAMESPACE']._loaded_options = None _globals['_MSGUPDATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgUpdateNamespace' - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGUPDATENAMESPACEROLES']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgUpdateNamespaceRoles' - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGREVOKENAMESPACEROLES']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgRevokeNamespaceRoles' + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._loaded_options = None + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' + _globals['_MSGUPDATEACTORROLES']._loaded_options = None + _globals['_MSGUPDATEACTORROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*\037permissions/MsgUpdateActorRoles' _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._loaded_options = None _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGCLAIMVOUCHER']._loaded_options = None @@ -72,34 +64,20 @@ _globals['_MSGCREATENAMESPACE']._serialized_end=733 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_start=735 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_end=763 - _globals['_MSGDELETENAMESPACE']._serialized_start=766 - _globals['_MSGDELETENAMESPACE']._serialized_end=918 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_start=920 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_end=948 - _globals['_MSGUPDATENAMESPACE']._serialized_start=951 - _globals['_MSGUPDATENAMESPACE']._serialized_end=1707 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_start=1464 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_end=1509 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_start=1511 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_end=1559 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_start=1561 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_end=1609 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_start=1611 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_end=1659 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1709 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1737 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_start=1740 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_end=2064 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_start=2066 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_end=2099 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_start=2102 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_end=2364 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_start=2366 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_end=2399 - _globals['_MSGCLAIMVOUCHER']._serialized_start=2401 - _globals['_MSGCLAIMVOUCHER']._serialized_end=2528 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=2530 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=2555 - _globals['_MSG']._serialized_start=2558 - _globals['_MSG']._serialized_end=3487 + _globals['_MSGUPDATENAMESPACE']._serialized_start=766 + _globals['_MSGUPDATENAMESPACE']._serialized_end=1504 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_start=1410 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_end=1456 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1506 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1534 + _globals['_MSGUPDATEACTORROLES']._serialized_start=1537 + _globals['_MSGUPDATEACTORROLES']._serialized_end=1854 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_start=1856 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_end=1885 + _globals['_MSGCLAIMVOUCHER']._serialized_start=1887 + _globals['_MSGCLAIMVOUCHER']._serialized_end=2014 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=2016 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=2041 + _globals['_MSG']._serialized_start=2044 + _globals['_MSG']._serialized_end=2687 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py index dbfc052d..3971a305 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py @@ -25,25 +25,15 @@ def __init__(self, channel): request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.FromString, _registered_method=True) - self.DeleteNamespace = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/DeleteNamespace', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - _registered_method=True) self.UpdateNamespace = channel.unary_unary( '/injective.permissions.v1beta1.Msg/UpdateNamespace', request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.FromString, _registered_method=True) - self.UpdateNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - _registered_method=True) - self.RevokeNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + self.UpdateActorRoles = channel.unary_unary( + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, _registered_method=True) self.ClaimVoucher = channel.unary_unary( '/injective.permissions.v1beta1.Msg/ClaimVoucher', @@ -68,25 +58,13 @@ def CreateNamespace(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def DeleteNamespace(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def UpdateNamespace(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def UpdateNamespaceRoles(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RevokeNamespaceRoles(self, request, context): + def UpdateActorRoles(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -111,25 +89,15 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.SerializeToString, ), - 'DeleteNamespace': grpc.unary_unary_rpc_method_handler( - servicer.DeleteNamespace, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.SerializeToString, - ), 'UpdateNamespace': grpc.unary_unary_rpc_method_handler( servicer.UpdateNamespace, request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.SerializeToString, ), - 'UpdateNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.UpdateNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.SerializeToString, - ), - 'RevokeNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.RevokeNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.SerializeToString, + 'UpdateActorRoles': grpc.unary_unary_rpc_method_handler( + servicer.UpdateActorRoles, + request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.FromString, + response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.SerializeToString, ), 'ClaimVoucher': grpc.unary_unary_rpc_method_handler( servicer.ClaimVoucher, @@ -202,33 +170,6 @@ def CreateNamespace(request, metadata, _registered_method=True) - @staticmethod - def DeleteNamespace(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/injective.permissions.v1beta1.Msg/DeleteNamespace', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - @staticmethod def UpdateNamespace(request, target, @@ -257,34 +198,7 @@ def UpdateNamespace(request, _registered_method=True) @staticmethod - def UpdateNamespaceRoles(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RevokeNamespaceRoles(request, + def UpdateActorRoles(request, target, options=(), channel_credentials=None, @@ -297,9 +211,9 @@ def RevokeNamespaceRoles(request, return grpc.experimental.unary_unary( request, target, - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py index 380cce40..12a8073b 100644 --- a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as injective_dot_exchange_dot_v1beta1_dot_exchange__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xc3\x03\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\x84\x04\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12?\n\x08notional\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -74,14 +74,16 @@ _globals['_SPOTTRADE'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_SPOTTRADE'].fields_by_name['fee_recipient_address']._loaded_options = None _globals['_SPOTTRADE'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_SPOTTRADE'].fields_by_name['notional']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_DERIVATIVETRADE'].fields_by_name['payout']._loaded_options = None _globals['_DERIVATIVETRADE'].fields_by_name['payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_DERIVATIVETRADE'].fields_by_name['fee']._loaded_options = None _globals['_DERIVATIVETRADE'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_DERIVATIVETRADE'].fields_by_name['fee_recipient_address']._loaded_options = None _globals['_DERIVATIVETRADE'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' - _globals['_ORDERUPDATESTATUS']._serialized_start=5450 - _globals['_ORDERUPDATESTATUS']._serialized_end=5526 + _globals['_ORDERUPDATESTATUS']._serialized_start=5515 + _globals['_ORDERUPDATESTATUS']._serialized_end=5591 _globals['_STREAMREQUEST']._serialized_start=205 _globals['_STREAMREQUEST']._serialized_end=1243 _globals['_STREAMRESPONSE']._serialized_start=1246 @@ -109,23 +111,23 @@ _globals['_ORACLEPRICE']._serialized_start=3926 _globals['_ORACLEPRICE']._serialized_end=4042 _globals['_SPOTTRADE']._serialized_start=4045 - _globals['_SPOTTRADE']._serialized_end=4496 - _globals['_DERIVATIVETRADE']._serialized_start=4499 - _globals['_DERIVATIVETRADE']._serialized_end=4975 - _globals['_TRADESFILTER']._serialized_start=4977 - _globals['_TRADESFILTER']._serialized_end=5061 - _globals['_POSITIONSFILTER']._serialized_start=5063 - _globals['_POSITIONSFILTER']._serialized_end=5150 - _globals['_ORDERSFILTER']._serialized_start=5152 - _globals['_ORDERSFILTER']._serialized_end=5236 - _globals['_ORDERBOOKFILTER']._serialized_start=5238 - _globals['_ORDERBOOKFILTER']._serialized_end=5286 - _globals['_BANKBALANCESFILTER']._serialized_start=5288 - _globals['_BANKBALANCESFILTER']._serialized_end=5336 - _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_start=5338 - _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_end=5403 - _globals['_ORACLEPRICEFILTER']._serialized_start=5405 - _globals['_ORACLEPRICEFILTER']._serialized_end=5448 - _globals['_STREAM']._serialized_start=5528 - _globals['_STREAM']._serialized_end=5631 + _globals['_SPOTTRADE']._serialized_end=4561 + _globals['_DERIVATIVETRADE']._serialized_start=4564 + _globals['_DERIVATIVETRADE']._serialized_end=5040 + _globals['_TRADESFILTER']._serialized_start=5042 + _globals['_TRADESFILTER']._serialized_end=5126 + _globals['_POSITIONSFILTER']._serialized_start=5128 + _globals['_POSITIONSFILTER']._serialized_end=5215 + _globals['_ORDERSFILTER']._serialized_start=5217 + _globals['_ORDERSFILTER']._serialized_end=5301 + _globals['_ORDERBOOKFILTER']._serialized_start=5303 + _globals['_ORDERBOOKFILTER']._serialized_end=5351 + _globals['_BANKBALANCESFILTER']._serialized_start=5353 + _globals['_BANKBALANCESFILTER']._serialized_end=5401 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_start=5403 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_end=5468 + _globals['_ORACLEPRICEFILTER']._serialized_start=5470 + _globals['_ORACLEPRICEFILTER']._serialized_end=5513 + _globals['_STREAM']._serialized_start=5593 + _globals['_STREAM']._serialized_end=5696 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/stream/v2/query_pb2.py b/pyinjective/proto/injective/stream/v2/query_pb2.py new file mode 100644 index 00000000..0344aa22 --- /dev/null +++ b/pyinjective/proto/injective/stream/v2/query_pb2.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/stream/v2/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.injective.exchange.v2 import events_pb2 as injective_dot_exchange_dot_v2_dot_events__pb2 +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as injective_dot_exchange_dot_v2_dot_exchange__pb2 +from pyinjective.proto.injective.exchange.v2 import order_pb2 as injective_dot_exchange_dot_v2_dot_order__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1finjective/stream/v2/query.proto\x12\x13injective.stream.v2\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\"injective/exchange/v2/events.proto\x1a$injective/exchange/v2/exchange.proto\x1a!injective/exchange/v2/order.proto\"\xdd\t\n\rStreamRequest\x12_\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32\'.injective.stream.v2.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12q\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32-.injective.stream.v2.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12U\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32!.injective.stream.v2.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x61\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32!.injective.stream.v2.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12U\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32!.injective.stream.v2.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x61\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32!.injective.stream.v2.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12`\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32$.injective.stream.v2.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12l\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32$.injective.stream.v2.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12U\n\x10positions_filter\x18\t \x01(\x0b\x32$.injective.stream.v2.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\\\n\x13oracle_price_filter\x18\n \x01(\x0b\x32&.injective.stream.v2.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\x12\x62\n\x15order_failures_filter\x18\x0b \x01(\x0b\x32(.injective.stream.v2.OrderFailuresFilterB\x04\xc8\xde\x1f\x01R\x13orderFailuresFilter\x12\x9a\x01\n)conditional_order_trigger_failures_filter\x18\x0c \x01(\x0b\x32:.injective.stream.v2.ConditionalOrderTriggerFailuresFilterB\x04\xc8\xde\x1f\x01R%conditionalOrderTriggerFailuresFilter\"\xe5\x08\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12\x45\n\rbank_balances\x18\x03 \x03(\x0b\x32 .injective.stream.v2.BankBalanceR\x0c\x62\x61nkBalances\x12X\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32\'.injective.stream.v2.SubaccountDepositsR\x12subaccountDeposits\x12?\n\x0bspot_trades\x18\x05 \x03(\x0b\x32\x1e.injective.stream.v2.SpotTradeR\nspotTrades\x12Q\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32$.injective.stream.v2.DerivativeTradeR\x10\x64\x65rivativeTrades\x12\x45\n\x0bspot_orders\x18\x07 \x03(\x0b\x32$.injective.stream.v2.SpotOrderUpdateR\nspotOrders\x12W\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32*.injective.stream.v2.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12Z\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32$.injective.stream.v2.OrderbookUpdateR\x14spotOrderbookUpdates\x12\x66\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32$.injective.stream.v2.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12;\n\tpositions\x18\x0b \x03(\x0b\x32\x1d.injective.stream.v2.PositionR\tpositions\x12\x45\n\roracle_prices\x18\x0c \x03(\x0b\x32 .injective.stream.v2.OraclePriceR\x0coraclePrices\x12\x1b\n\tgas_price\x18\r \x01(\tR\x08gasPrice\x12N\n\x0eorder_failures\x18\x0e \x03(\x0b\x32\'.injective.stream.v2.OrderFailureUpdateR\rorderFailures\x12\x86\x01\n\"conditional_order_trigger_failures\x18\x0f \x03(\x0b\x32\x39.injective.stream.v2.ConditionalOrderTriggerFailureUpdateR\x1f\x63onditionalOrderTriggerFailures\"a\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12<\n\torderbook\x18\x02 \x01(\x0b\x32\x1e.injective.stream.v2.OrderbookR\torderbook\"\xa4\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12;\n\nbuy_levels\x18\x02 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\tbuyLevels\x12=\n\x0bsell_levels\x18\x03 \x03(\x0b\x32\x1c.injective.exchange.v2.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x83\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12H\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32&.injective.stream.v2.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"i\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12>\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32\x1e.injective.exchange.v2.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xb8\x01\n\x0fSpotOrderUpdate\x12>\n\x06status\x18\x01 \x01(\x0e\x32&.injective.stream.v2.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x34\n\x05order\x18\x04 \x01(\x0b\x32\x1e.injective.stream.v2.SpotOrderR\x05order\"k\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v2.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xc4\x01\n\x15\x44\x65rivativeOrderUpdate\x12>\n\x06status\x18\x01 \x01(\x0e\x32&.injective.stream.v2.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12:\n\x05order\x18\x04 \x01(\x0b\x32$.injective.stream.v2.DerivativeOrderR\x05order\"\x94\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v2.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\x84\x04\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12?\n\x08notional\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08notional\"\xfe\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12K\n\x0eposition_delta\x18\x05 \x01(\x0b\x32$.injective.exchange.v2.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0eis_liquidation\x18\x0c \x01(\x08R\risLiquidation\"~\n\x12OrderFailureUpdate\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x1d\n\nerror_code\x18\x04 \x01(\rR\terrorCode\"\x8a\x02\n$ConditionalOrderTriggerFailureUpdate\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x42\n\nmark_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\x12+\n\x11\x65rror_description\x18\x06 \x01(\tR\x10\x65rrorDescription\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol\"1\n\x13OrderFailuresFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"m\n%ConditionalOrderTriggerFailuresFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32_\n\x06Stream\x12U\n\x08StreamV2\x12\".injective.stream.v2.StreamRequest\x1a#.injective.stream.v2.StreamResponse0\x01\x42\xdc\x01\n\x17\x63om.injective.stream.v2B\nQueryProtoP\x01ZGgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types/v2\xa2\x02\x03ISX\xaa\x02\x13Injective.Stream.V2\xca\x02\x13Injective\\Stream\\V2\xe2\x02\x1fInjective\\Stream\\V2\\GPBMetadata\xea\x02\x15Injective::Stream::V2b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.stream.v2.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.injective.stream.v2B\nQueryProtoP\001ZGgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types/v2\242\002\003ISX\252\002\023Injective.Stream.V2\312\002\023Injective\\Stream\\V2\342\002\037Injective\\Stream\\V2\\GPBMetadata\352\002\025Injective::Stream::V2' + _globals['_STREAMREQUEST'].fields_by_name['bank_balances_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['bank_balances_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['subaccount_deposits_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['subaccount_deposits_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['spot_trades_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['spot_trades_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['derivative_trades_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['derivative_trades_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['spot_orders_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['spot_orders_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['derivative_orders_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['derivative_orders_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['spot_orderbooks_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['spot_orderbooks_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['derivative_orderbooks_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['derivative_orderbooks_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['positions_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['positions_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['oracle_price_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['oracle_price_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['order_failures_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['order_failures_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['conditional_order_trigger_failures_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['conditional_order_trigger_failures_filter']._serialized_options = b'\310\336\037\001' + _globals['_BANKBALANCE'].fields_by_name['balances']._loaded_options = None + _globals['_BANKBALANCE'].fields_by_name['balances']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_SUBACCOUNTDEPOSITS'].fields_by_name['deposits']._loaded_options = None + _globals['_SUBACCOUNTDEPOSITS'].fields_by_name['deposits']._serialized_options = b'\310\336\037\000' + _globals['_SUBACCOUNTDEPOSIT'].fields_by_name['deposit']._loaded_options = None + _globals['_SUBACCOUNTDEPOSIT'].fields_by_name['deposit']._serialized_options = b'\310\336\037\000' + _globals['_SPOTORDER'].fields_by_name['order']._loaded_options = None + _globals['_SPOTORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_DERIVATIVEORDER'].fields_by_name['order']._loaded_options = None + _globals['_DERIVATIVEORDER'].fields_by_name['order']._serialized_options = b'\310\336\037\000' + _globals['_POSITION'].fields_by_name['quantity']._loaded_options = None + _globals['_POSITION'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['entry_price']._loaded_options = None + _globals['_POSITION'].fields_by_name['entry_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['margin']._loaded_options = None + _globals['_POSITION'].fields_by_name['margin']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_POSITION'].fields_by_name['cumulative_funding_entry']._loaded_options = None + _globals['_POSITION'].fields_by_name['cumulative_funding_entry']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_ORACLEPRICE'].fields_by_name['price']._loaded_options = None + _globals['_ORACLEPRICE'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTTRADE'].fields_by_name['quantity']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTTRADE'].fields_by_name['price']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTTRADE'].fields_by_name['fee']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_SPOTTRADE'].fields_by_name['fee_recipient_address']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_SPOTTRADE'].fields_by_name['notional']._loaded_options = None + _globals['_SPOTTRADE'].fields_by_name['notional']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADE'].fields_by_name['payout']._loaded_options = None + _globals['_DERIVATIVETRADE'].fields_by_name['payout']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADE'].fields_by_name['fee']._loaded_options = None + _globals['_DERIVATIVETRADE'].fields_by_name['fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_DERIVATIVETRADE'].fields_by_name['fee_recipient_address']._loaded_options = None + _globals['_DERIVATIVETRADE'].fields_by_name['fee_recipient_address']._serialized_options = b'\310\336\037\001' + _globals['_CONDITIONALORDERTRIGGERFAILUREUPDATE'].fields_by_name['mark_price']._loaded_options = None + _globals['_CONDITIONALORDERTRIGGERFAILUREUPDATE'].fields_by_name['mark_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_ORDERUPDATESTATUS']._serialized_start=6471 + _globals['_ORDERUPDATESTATUS']._serialized_end=6547 + _globals['_STREAMREQUEST']._serialized_start=220 + _globals['_STREAMREQUEST']._serialized_end=1465 + _globals['_STREAMRESPONSE']._serialized_start=1468 + _globals['_STREAMRESPONSE']._serialized_end=2593 + _globals['_ORDERBOOKUPDATE']._serialized_start=2595 + _globals['_ORDERBOOKUPDATE']._serialized_end=2692 + _globals['_ORDERBOOK']._serialized_start=2695 + _globals['_ORDERBOOK']._serialized_end=2859 + _globals['_BANKBALANCE']._serialized_start=2862 + _globals['_BANKBALANCE']._serialized_end=3006 + _globals['_SUBACCOUNTDEPOSITS']._serialized_start=3009 + _globals['_SUBACCOUNTDEPOSITS']._serialized_end=3140 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=3142 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=3247 + _globals['_SPOTORDERUPDATE']._serialized_start=3250 + _globals['_SPOTORDERUPDATE']._serialized_end=3434 + _globals['_SPOTORDER']._serialized_start=3436 + _globals['_SPOTORDER']._serialized_end=3543 + _globals['_DERIVATIVEORDERUPDATE']._serialized_start=3546 + _globals['_DERIVATIVEORDERUPDATE']._serialized_end=3742 + _globals['_DERIVATIVEORDER']._serialized_start=3745 + _globals['_DERIVATIVEORDER']._serialized_end=3893 + _globals['_POSITION']._serialized_start=3896 + _globals['_POSITION']._serialized_end=4287 + _globals['_ORACLEPRICE']._serialized_start=4289 + _globals['_ORACLEPRICE']._serialized_end=4405 + _globals['_SPOTTRADE']._serialized_start=4408 + _globals['_SPOTTRADE']._serialized_end=4924 + _globals['_DERIVATIVETRADE']._serialized_start=4927 + _globals['_DERIVATIVETRADE']._serialized_end=5437 + _globals['_ORDERFAILUREUPDATE']._serialized_start=5439 + _globals['_ORDERFAILUREUPDATE']._serialized_end=5565 + _globals['_CONDITIONALORDERTRIGGERFAILUREUPDATE']._serialized_start=5568 + _globals['_CONDITIONALORDERTRIGGERFAILUREUPDATE']._serialized_end=5834 + _globals['_TRADESFILTER']._serialized_start=5836 + _globals['_TRADESFILTER']._serialized_end=5920 + _globals['_POSITIONSFILTER']._serialized_start=5922 + _globals['_POSITIONSFILTER']._serialized_end=6009 + _globals['_ORDERSFILTER']._serialized_start=6011 + _globals['_ORDERSFILTER']._serialized_end=6095 + _globals['_ORDERBOOKFILTER']._serialized_start=6097 + _globals['_ORDERBOOKFILTER']._serialized_end=6145 + _globals['_BANKBALANCESFILTER']._serialized_start=6147 + _globals['_BANKBALANCESFILTER']._serialized_end=6195 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_start=6197 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_end=6262 + _globals['_ORACLEPRICEFILTER']._serialized_start=6264 + _globals['_ORACLEPRICEFILTER']._serialized_end=6307 + _globals['_ORDERFAILURESFILTER']._serialized_start=6309 + _globals['_ORDERFAILURESFILTER']._serialized_end=6358 + _globals['_CONDITIONALORDERTRIGGERFAILURESFILTER']._serialized_start=6360 + _globals['_CONDITIONALORDERTRIGGERFAILURESFILTER']._serialized_end=6469 + _globals['_STREAM']._serialized_start=6549 + _globals['_STREAM']._serialized_end=6644 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/stream/v2/query_pb2_grpc.py b/pyinjective/proto/injective/stream/v2/query_pb2_grpc.py new file mode 100644 index 00000000..ebb3b134 --- /dev/null +++ b/pyinjective/proto/injective/stream/v2/query_pb2_grpc.py @@ -0,0 +1,80 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.stream.v2 import query_pb2 as injective_dot_stream_dot_v2_dot_query__pb2 + + +class StreamStub(object): + """ChainStream defines the gRPC streaming service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.StreamV2 = channel.unary_stream( + '/injective.stream.v2.Stream/StreamV2', + request_serializer=injective_dot_stream_dot_v2_dot_query__pb2.StreamRequest.SerializeToString, + response_deserializer=injective_dot_stream_dot_v2_dot_query__pb2.StreamResponse.FromString, + _registered_method=True) + + +class StreamServicer(object): + """ChainStream defines the gRPC streaming service. + """ + + def StreamV2(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_StreamServicer_to_server(servicer, server): + rpc_method_handlers = { + 'StreamV2': grpc.unary_stream_rpc_method_handler( + servicer.StreamV2, + request_deserializer=injective_dot_stream_dot_v2_dot_query__pb2.StreamRequest.FromString, + response_serializer=injective_dot_stream_dot_v2_dot_query__pb2.StreamResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.stream.v2.Stream', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.stream.v2.Stream', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Stream(object): + """ChainStream defines the gRPC streaming service. + """ + + @staticmethod + def StreamV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/injective.stream.v2.Stream/StreamV2', + injective_dot_stream_dot_v2_dot_query__pb2.StreamRequest.SerializeToString, + injective_dot_stream_dot_v2_dot_query__pb2.StreamResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py index 00205780..3e40fb08 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py @@ -16,7 +16,7 @@ from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"F\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x93\x01\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min\x12K\n\x12\x61\x64min_burn_allowed\x18\x02 \x01(\x08\x42\x1d\xf2\xde\x1f\x19yaml:\"admin_burn_allowed\"R\x10\x61\x64minBurnAllowed:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,8 +26,10 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\026AuthorityMetadataProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._serialized_options = b'\362\336\037\014yaml:\"admin\"' + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._loaded_options = None + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._serialized_options = b'\362\336\037\031yaml:\"admin_burn_allowed\"' _globals['_DENOMAUTHORITYMETADATA']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA']._serialized_options = b'\350\240\037\001' - _globals['_DENOMAUTHORITYMETADATA']._serialized_start=144 - _globals['_DENOMAUTHORITYMETADATA']._serialized_end=214 + _globals['_DENOMAUTHORITYMETADATA']._serialized_start=145 + _globals['_DENOMAUTHORITYMETADATA']._serialized_end=292 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py index 8ef8bf5c..b963d0e1 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.tokenfactory.v1beta1 import authorityMetadata_pb2 as injective_dot_tokenfactory_dot_v1beta1_dot_authorityMetadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"D\n\x12\x45ventCreateTFDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\x10\x45ventMintTFDenom\x12+\n\x11recipient_address\x18\x01 \x01(\tR\x10recipientAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"p\n\x0e\x45ventBurnDenom\x12%\n\x0e\x62urner_address\x18\x01 \x01(\tR\rburnerAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"V\n\x12\x45ventChangeTFAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"p\n\x17\x45ventSetTFDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"B\n\x10\x45ventCreateDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\tEventMint\x12\x16\n\x06minter\x18\x01 \x01(\tR\x06minter\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1a\n\x08receiver\x18\x03 \x01(\tR\x08receiver\"y\n\tEventBurn\x12\x16\n\x06\x62urner\x18\x01 \x01(\tR\x06\x62urner\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1b\n\tburn_from\x18\x03 \x01(\tR\x08\x62urnFrom\"T\n\x10\x45ventChangeAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"n\n\x15\x45ventSetDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,20 +26,20 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\013EventsProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' - _globals['_EVENTCREATETFDENOM']._serialized_start=221 - _globals['_EVENTCREATETFDENOM']._serialized_end=289 - _globals['_EVENTMINTTFDENOM']._serialized_start=291 - _globals['_EVENTMINTTFDENOM']._serialized_end=411 - _globals['_EVENTBURNDENOM']._serialized_start=413 - _globals['_EVENTBURNDENOM']._serialized_end=525 - _globals['_EVENTCHANGETFADMIN']._serialized_start=527 - _globals['_EVENTCHANGETFADMIN']._serialized_end=613 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_start=615 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_end=727 + _globals['_EVENTMINT'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTBURN'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' + _globals['_EVENTCREATEDENOM']._serialized_start=221 + _globals['_EVENTCREATEDENOM']._serialized_end=287 + _globals['_EVENTMINT']._serialized_start=289 + _globals['_EVENTMINT']._serialized_end=409 + _globals['_EVENTBURN']._serialized_start=411 + _globals['_EVENTBURN']._serialized_end=532 + _globals['_EVENTCHANGEADMIN']._serialized_start=534 + _globals['_EVENTCHANGEADMIN']._serialized_end=618 + _globals['_EVENTSETDENOMMETADATA']._serialized_start=620 + _globals['_EVENTSETDENOMMETADATA']._serialized_end=730 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py index ebcba559..2d643d4f 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xa2\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xab\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xab\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xcf\x01\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xe9\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals\x12\x45\n\x10\x61llow_admin_burn\x18\x06 \x01(\x08\x42\x1b\xf2\xde\x1f\x17yaml:\"allow_admin_burn\"R\x0e\x61llowAdminBurn:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xdc\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12/\n\x08receiver\x18\x03 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"receiver\"R\x08receiver:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xf8\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12K\n\x0f\x62urnFromAddress\x18\x03 \x01(\tB!\xf2\xde\x1f\x18yaml:\"burn_from_address\"\xa8\xe7\xb0*\x01R\x0f\x62urnFromAddress:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xbe\x03\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata\x12\x95\x01\n\x13\x61\x64min_burn_disabled\x18\x03 \x01(\x0b\x32\x45.injective.tokenfactory.v1beta1.MsgSetDenomMetadata.AdminBurnDisabledB\x1e\xf2\xde\x1f\x1ayaml:\"admin_burn_disabled\"R\x11\x61\x64minBurnDisabled\x1aU\n\x11\x41\x64minBurnDisabled\x12@\n\x0eshould_disable\x18\x01 \x01(\x08\x42\x19\xf2\xde\x1f\x15yaml:\"should_disable\"R\rshouldDisable:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -39,6 +39,8 @@ _globals['_MSGCREATEDENOM'].fields_by_name['symbol']._serialized_options = b'\362\336\037\ryaml:\"symbol\"' _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._loaded_options = None _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._serialized_options = b'\362\336\037\017yaml:\"decimals\"' + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._loaded_options = None + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._serialized_options = b'\362\336\037\027yaml:\"allow_admin_burn\"' _globals['_MSGCREATEDENOM']._loaded_options = None _globals['_MSGCREATEDENOM']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/create-denom' _globals['_MSGCREATEDENOMRESPONSE'].fields_by_name['new_token_denom']._loaded_options = None @@ -47,12 +49,16 @@ _globals['_MSGMINT'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGMINT'].fields_by_name['amount']._loaded_options = None _globals['_MSGMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGMINT'].fields_by_name['receiver']._loaded_options = None + _globals['_MSGMINT'].fields_by_name['receiver']._serialized_options = b'\362\336\037\017yaml:\"receiver\"' _globals['_MSGMINT']._loaded_options = None _globals['_MSGMINT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/mint' _globals['_MSGBURN'].fields_by_name['sender']._loaded_options = None _globals['_MSGBURN'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGBURN'].fields_by_name['amount']._loaded_options = None _globals['_MSGBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._loaded_options = None + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._serialized_options = b'\362\336\037\030yaml:\"burn_from_address\"\250\347\260*\001' _globals['_MSGBURN']._loaded_options = None _globals['_MSGBURN']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/burn' _globals['_MSGCHANGEADMIN'].fields_by_name['sender']._loaded_options = None @@ -63,10 +69,14 @@ _globals['_MSGCHANGEADMIN'].fields_by_name['new_admin']._serialized_options = b'\362\336\037\020yaml:\"new_admin\"' _globals['_MSGCHANGEADMIN']._loaded_options = None _globals['_MSGCHANGEADMIN']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/change-admin' + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._loaded_options = None + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._serialized_options = b'\362\336\037\025yaml:\"should_disable\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000\362\336\037\017yaml:\"metadata\"' + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._loaded_options = None + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._serialized_options = b'\362\336\037\032yaml:\"admin_burn_disabled\"' _globals['_MSGSETDENOMMETADATA']._loaded_options = None _globals['_MSGSETDENOMMETADATA']._serialized_options = b'\202\347\260*\006sender\212\347\260*)injective/tokenfactory/set-denom-metadata' _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None @@ -78,29 +88,31 @@ _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSGCREATEDENOM']._serialized_start=278 - _globals['_MSGCREATEDENOM']._serialized_end=568 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=570 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=662 - _globals['_MSGMINT']._serialized_start=665 - _globals['_MSGMINT']._serialized_end=836 - _globals['_MSGMINTRESPONSE']._serialized_start=838 - _globals['_MSGMINTRESPONSE']._serialized_end=855 - _globals['_MSGBURN']._serialized_start=858 - _globals['_MSGBURN']._serialized_end=1029 - _globals['_MSGBURNRESPONSE']._serialized_start=1031 - _globals['_MSGBURNRESPONSE']._serialized_end=1048 - _globals['_MSGCHANGEADMIN']._serialized_start=1051 - _globals['_MSGCHANGEADMIN']._serialized_end=1254 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1256 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1280 - _globals['_MSGSETDENOMMETADATA']._serialized_start=1283 - _globals['_MSGSETDENOMMETADATA']._serialized_end=1490 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1492 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1521 - _globals['_MSGUPDATEPARAMS']._serialized_start=1524 - _globals['_MSGUPDATEPARAMS']._serialized_end=1724 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1726 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1751 - _globals['_MSG']._serialized_start=1754 - _globals['_MSG']._serialized_end=2457 + _globals['_MSGCREATEDENOM']._serialized_end=639 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=641 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=733 + _globals['_MSGMINT']._serialized_start=736 + _globals['_MSGMINT']._serialized_end=956 + _globals['_MSGMINTRESPONSE']._serialized_start=958 + _globals['_MSGMINTRESPONSE']._serialized_end=975 + _globals['_MSGBURN']._serialized_start=978 + _globals['_MSGBURN']._serialized_end=1226 + _globals['_MSGBURNRESPONSE']._serialized_start=1228 + _globals['_MSGBURNRESPONSE']._serialized_end=1245 + _globals['_MSGCHANGEADMIN']._serialized_start=1248 + _globals['_MSGCHANGEADMIN']._serialized_end=1451 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1453 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1477 + _globals['_MSGSETDENOMMETADATA']._serialized_start=1480 + _globals['_MSGSETDENOMMETADATA']._serialized_end=1926 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_start=1782 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_end=1867 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1928 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1957 + _globals['_MSGUPDATEPARAMS']._serialized_start=1960 + _globals['_MSGUPDATEPARAMS']._serialized_end=2160 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2162 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2187 + _globals['_MSG']._serialized_start=2190 + _globals['_MSG']._serialized_end=2893 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py index f96ee560..e7f49962 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py @@ -6,7 +6,7 @@ class MsgStub(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def __init__(self, channel): @@ -48,7 +48,7 @@ def __init__(self, channel): class MsgServicer(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def CreateDenom(self, request, context): @@ -129,7 +129,7 @@ def add_MsgServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Msg(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ @staticmethod diff --git a/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2.py new file mode 100644 index 00000000..843cb633 --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/txfees/v1beta1/genesis.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.injective.txfees.v1beta1 import txfees_pb2 as injective_dot_txfees_dot_v1beta1_dot_txfees__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/txfees/v1beta1/genesis.proto\x12\x18injective.txfees.v1beta1\x1a%injective/txfees/v1beta1/txfees.proto\x1a\x14gogoproto/gogo.proto\"N\n\x0cGenesisState\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.txfees.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06paramsB\xfc\x01\n\x1c\x63om.injective.txfees.v1beta1B\x0cGenesisProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\xa2\x02\x03ITX\xaa\x02\x18Injective.Txfees.V1beta1\xca\x02\x18Injective\\Txfees\\V1beta1\xe2\x02$Injective\\Txfees\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Txfees::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.txfees.v1beta1.genesis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.txfees.v1beta1B\014GenesisProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\242\002\003ITX\252\002\030Injective.Txfees.V1beta1\312\002\030Injective\\Txfees\\V1beta1\342\002$Injective\\Txfees\\V1beta1\\GPBMetadata\352\002\032Injective::Txfees::V1beta1' + _globals['_GENESISSTATE'].fields_by_name['params']._loaded_options = None + _globals['_GENESISSTATE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_GENESISSTATE']._serialized_start=129 + _globals['_GENESISSTATE']._serialized_end=207 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2_grpc.py b/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/genesis_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/txfees/v1beta1/query_pb2.py b/pyinjective/proto/injective/txfees/v1beta1/query_pb2.py new file mode 100644 index 00000000..90e05b1f --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/query_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/txfees/v1beta1/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from pyinjective.proto.injective.txfees.v1beta1 import txfees_pb2 as injective_dot_txfees_dot_v1beta1_dot_txfees__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/txfees/v1beta1/query.proto\x12\x18injective.txfees.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a%injective/txfees/v1beta1/txfees.proto\"_\n\nEipBaseFee\x12Q\n\x08\x62\x61se_fee\x18\x01 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x0fyaml:\"base_fee\"R\x07\x62\x61seFee\"\x14\n\x12QueryParamsRequest\"U\n\x13QueryParamsResponse\x12>\n\x06params\x18\x01 \x01(\x0b\x32 .injective.txfees.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x18\n\x16QueryEipBaseFeeRequest\"Z\n\x17QueryEipBaseFeeResponse\x12?\n\x08\x62\x61se_fee\x18\x01 \x01(\x0b\x32$.injective.txfees.v1beta1.EipBaseFeeR\x07\x62\x61seFee2\xc4\x02\n\x05Query\x12\x8f\x01\n\x06Params\x12,.injective.txfees.v1beta1.QueryParamsRequest\x1a-.injective.txfees.v1beta1.QueryParamsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /injective/txfees/v1beta1/params\x12\xa8\x01\n\rGetEipBaseFee\x12\x30.injective.txfees.v1beta1.QueryEipBaseFeeRequest\x1a\x31.injective.txfees.v1beta1.QueryEipBaseFeeResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/txfees/v1beta1/cur_eip_base_feeB\xfa\x01\n\x1c\x63om.injective.txfees.v1beta1B\nQueryProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\xa2\x02\x03ITX\xaa\x02\x18Injective.Txfees.V1beta1\xca\x02\x18Injective\\Txfees\\V1beta1\xe2\x02$Injective\\Txfees\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Txfees::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.txfees.v1beta1.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.txfees.v1beta1B\nQueryProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\242\002\003ITX\252\002\030Injective.Txfees.V1beta1\312\002\030Injective\\Txfees\\V1beta1\342\002$Injective\\Txfees\\V1beta1\\GPBMetadata\352\002\032Injective::Txfees::V1beta1' + _globals['_EIPBASEFEE'].fields_by_name['base_fee']._loaded_options = None + _globals['_EIPBASEFEE'].fields_by_name['base_fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\017yaml:\"base_fee\"' + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None + _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_QUERY'].methods_by_name['Params']._loaded_options = None + _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\"\022 /injective/txfees/v1beta1/params' + _globals['_QUERY'].methods_by_name['GetEipBaseFee']._loaded_options = None + _globals['_QUERY'].methods_by_name['GetEipBaseFee']._serialized_options = b'\202\323\344\223\002,\022*/injective/txfees/v1beta1/cur_eip_base_fee' + _globals['_EIPBASEFEE']._serialized_start=157 + _globals['_EIPBASEFEE']._serialized_end=252 + _globals['_QUERYPARAMSREQUEST']._serialized_start=254 + _globals['_QUERYPARAMSREQUEST']._serialized_end=274 + _globals['_QUERYPARAMSRESPONSE']._serialized_start=276 + _globals['_QUERYPARAMSRESPONSE']._serialized_end=361 + _globals['_QUERYEIPBASEFEEREQUEST']._serialized_start=363 + _globals['_QUERYEIPBASEFEEREQUEST']._serialized_end=387 + _globals['_QUERYEIPBASEFEERESPONSE']._serialized_start=389 + _globals['_QUERYEIPBASEFEERESPONSE']._serialized_end=479 + _globals['_QUERY']._serialized_start=482 + _globals['_QUERY']._serialized_end=806 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/txfees/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/txfees/v1beta1/query_pb2_grpc.py new file mode 100644 index 00000000..6c7a0eeb --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/query_pb2_grpc.py @@ -0,0 +1,123 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.txfees.v1beta1 import query_pb2 as injective_dot_txfees_dot_v1beta1_dot_query__pb2 + + +class QueryStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Params = channel.unary_unary( + '/injective.txfees.v1beta1.Query/Params', + request_serializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsRequest.SerializeToString, + response_deserializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsResponse.FromString, + _registered_method=True) + self.GetEipBaseFee = channel.unary_unary( + '/injective.txfees.v1beta1.Query/GetEipBaseFee', + request_serializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.SerializeToString, + response_deserializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Params(self, request, context): + """Params defines a gRPC query method that returns the tokenfactory module's + parameters. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetEipBaseFee(self, request, context): + """Returns the current fee market EIP fee. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Params': grpc.unary_unary_rpc_method_handler( + servicer.Params, + request_deserializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsRequest.FromString, + response_serializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsResponse.SerializeToString, + ), + 'GetEipBaseFee': grpc.unary_unary_rpc_method_handler( + servicer.GetEipBaseFee, + request_deserializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.FromString, + response_serializer=injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.txfees.v1beta1.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.txfees.v1beta1.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Params(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.txfees.v1beta1.Query/Params', + injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsRequest.SerializeToString, + injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def GetEipBaseFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.txfees.v1beta1.Query/GetEipBaseFee', + injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.SerializeToString, + injective_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/txfees/v1beta1/tx_pb2.py b/pyinjective/proto/injective/txfees/v1beta1/tx_pb2.py new file mode 100644 index 00000000..6918b8af --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/tx_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/txfees/v1beta1/tx.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.cosmos.msg.v1 import msg_pb2 as cosmos_dot_msg_dot_v1_dot_msg__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.injective.txfees.v1beta1 import txfees_pb2 as injective_dot_txfees_dot_v1beta1_dot_txfees__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!injective/txfees/v1beta1/tx.proto\x12\x18injective.txfees.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a%injective/txfees/v1beta1/txfees.proto\x1a\x11\x61mino/amino.proto\"\xb4\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12>\n\x06params\x18\x02 \x01(\x0b\x32 .injective.txfees.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:)\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x16txfees/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse2z\n\x03Msg\x12l\n\x0cUpdateParams\x12).injective.txfees.v1beta1.MsgUpdateParams\x1a\x31.injective.txfees.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xfb\x01\n\x1c\x63om.injective.txfees.v1beta1B\x07TxProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\xa2\x02\x03ITX\xaa\x02\x18Injective.Txfees.V1beta1\xca\x02\x18Injective\\Txfees\\V1beta1\xe2\x02$Injective\\Txfees\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Txfees::V1beta1\xc0\xe3\x1e\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.txfees.v1beta1.tx_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.txfees.v1beta1B\007TxProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\242\002\003ITX\252\002\030Injective.Txfees.V1beta1\312\002\030Injective\\Txfees\\V1beta1\342\002$Injective\\Txfees\\V1beta1\\GPBMetadata\352\002\032Injective::Txfees::V1beta1\300\343\036\001' + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._serialized_options = b'\322\264-\024cosmos.AddressString' + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._loaded_options = None + _globals['_MSGUPDATEPARAMS'].fields_by_name['params']._serialized_options = b'\310\336\037\000' + _globals['_MSGUPDATEPARAMS']._loaded_options = None + _globals['_MSGUPDATEPARAMS']._serialized_options = b'\202\347\260*\tauthority\212\347\260*\026txfees/MsgUpdateParams' + _globals['_MSG']._loaded_options = None + _globals['_MSG']._serialized_options = b'\200\347\260*\001' + _globals['_MSGUPDATEPARAMS']._serialized_start=196 + _globals['_MSGUPDATEPARAMS']._serialized_end=376 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=378 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=403 + _globals['_MSG']._serialized_start=405 + _globals['_MSG']._serialized_end=527 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/txfees/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/txfees/v1beta1/tx_pb2_grpc.py new file mode 100644 index 00000000..b121e219 --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/tx_pb2_grpc.py @@ -0,0 +1,80 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.injective.txfees.v1beta1 import tx_pb2 as injective_dot_txfees_dot_v1beta1_dot_tx__pb2 + + +class MsgStub(object): + """Msg defines the auction Msg service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.UpdateParams = channel.unary_unary( + '/injective.txfees.v1beta1.Msg/UpdateParams', + request_serializer=injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + response_deserializer=injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + _registered_method=True) + + +class MsgServicer(object): + """Msg defines the auction Msg service. + """ + + def UpdateParams(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_MsgServicer_to_server(servicer, server): + rpc_method_handlers = { + 'UpdateParams': grpc.unary_unary_rpc_method_handler( + servicer.UpdateParams, + request_deserializer=injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.FromString, + response_serializer=injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective.txfees.v1beta1.Msg', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective.txfees.v1beta1.Msg', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Msg(object): + """Msg defines the auction Msg service. + """ + + @staticmethod + def UpdateParams(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.txfees.v1beta1.Msg/UpdateParams', + injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParams.SerializeToString, + injective_dot_txfees_dot_v1beta1_dot_tx__pb2.MsgUpdateParamsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2.py b/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2.py new file mode 100644 index 00000000..e08ce0e6 --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/txfees/v1beta1/txfees.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/txfees/v1beta1/txfees.proto\x12\x18injective.txfees.v1beta1\x1a\x11\x61mino/amino.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19\x63osmos_proto/cosmos.proto\"\x9a\r\n\x06Params\x12R\n\x15max_gas_wanted_per_tx\x18\x01 \x01(\x04\x42 \xf2\xde\x1f\x1cyaml:\"max_gas_wanted_per_tx\"R\x11maxGasWantedPerTx\x12S\n\x15high_gas_tx_threshold\x18\x02 \x01(\x04\x42 \xf2\xde\x1f\x1cyaml:\"high_gas_tx_threshold\"R\x12highGasTxThreshold\x12\x99\x01\n\x1dmin_gas_price_for_high_gas_tx\x18\x03 \x01(\tBY\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f$yaml:\"min_gas_price_for_high_gas_tx\"\xd2\xb4-\ncosmos.DecR\x17minGasPriceForHighGasTx\x12O\n\x13mempool1559_enabled\x18\x04 \x01(\x08\x42\x1e\xf2\xde\x1f\x1ayaml:\"mempool1559_enabled\"R\x12mempool1559Enabled\x12m\n\rmin_gas_price\x18\x05 \x01(\tBI\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x14yaml:\"min_gas_price\"\xd2\xb4-\ncosmos.DecR\x0bminGasPrice\x12\x96\x01\n\x1b\x64\x65\x66\x61ult_base_fee_multiplier\x18\x06 \x01(\tBW\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\"yaml:\"default_base_fee_multiplier\"\xd2\xb4-\ncosmos.DecR\x18\x64\x65\x66\x61ultBaseFeeMultiplier\x12\x8a\x01\n\x17max_base_fee_multiplier\x18\x07 \x01(\tBS\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x1eyaml:\"max_base_fee_multiplier\"\xd2\xb4-\ncosmos.DecR\x14maxBaseFeeMultiplier\x12@\n\x0ereset_interval\x18\x08 \x01(\x03\x42\x19\xf2\xde\x1f\x15yaml:\"reset_interval\"R\rresetInterval\x12\x84\x01\n\x15max_block_change_rate\x18\t \x01(\tBQ\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x1cyaml:\"max_block_change_rate\"\xd2\xb4-\ncosmos.DecR\x12maxBlockChangeRate\x12\xa1\x01\n\x1ftarget_block_space_percent_rate\x18\n \x01(\tB[\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f&yaml:\"target_block_space_percent_rate\"\xd2\xb4-\ncosmos.DecR\x1btargetBlockSpacePercentRate\x12\x8c\x01\n\x18recheck_fee_low_base_fee\x18\x0b \x01(\tBT\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x1fyaml:\"recheck_fee_low_base_fee\"\xd2\xb4-\ncosmos.DecR\x14recheckFeeLowBaseFee\x12\x8f\x01\n\x19recheck_fee_high_base_fee\x18\x0c \x01(\tBU\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f yaml:\"recheck_fee_high_base_fee\"\xd2\xb4-\ncosmos.DecR\x15recheckFeeHighBaseFee\x12\xbe\x01\n)recheck_fee_base_fee_threshold_multiplier\x18\r \x01(\tBe\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x30yaml:\"recheck_fee_base_fee_threshold_multiplier\"\xd2\xb4-\ncosmos.DecR$recheckFeeBaseFeeThresholdMultiplier:\x16\xe8\xa0\x1f\x01\x8a\xe7\xb0*\rtxfees/ParamsB\xff\x01\n\x1c\x63om.injective.txfees.v1beta1B\x0bTxfeesProtoP\x01ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\xa2\x02\x03ITX\xaa\x02\x18Injective.Txfees.V1beta1\xca\x02\x18Injective\\Txfees\\V1beta1\xe2\x02$Injective\\Txfees\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Txfees::V1beta1\xc0\xe3\x1e\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.txfees.v1beta1.txfees_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\034com.injective.txfees.v1beta1B\013TxfeesProtoP\001ZLgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/types\242\002\003ITX\252\002\030Injective.Txfees.V1beta1\312\002\030Injective\\Txfees\\V1beta1\342\002$Injective\\Txfees\\V1beta1\\GPBMetadata\352\002\032Injective::Txfees::V1beta1\300\343\036\001' + _globals['_PARAMS'].fields_by_name['max_gas_wanted_per_tx']._loaded_options = None + _globals['_PARAMS'].fields_by_name['max_gas_wanted_per_tx']._serialized_options = b'\362\336\037\034yaml:\"max_gas_wanted_per_tx\"' + _globals['_PARAMS'].fields_by_name['high_gas_tx_threshold']._loaded_options = None + _globals['_PARAMS'].fields_by_name['high_gas_tx_threshold']._serialized_options = b'\362\336\037\034yaml:\"high_gas_tx_threshold\"' + _globals['_PARAMS'].fields_by_name['min_gas_price_for_high_gas_tx']._loaded_options = None + _globals['_PARAMS'].fields_by_name['min_gas_price_for_high_gas_tx']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037$yaml:\"min_gas_price_for_high_gas_tx\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['mempool1559_enabled']._loaded_options = None + _globals['_PARAMS'].fields_by_name['mempool1559_enabled']._serialized_options = b'\362\336\037\032yaml:\"mempool1559_enabled\"' + _globals['_PARAMS'].fields_by_name['min_gas_price']._loaded_options = None + _globals['_PARAMS'].fields_by_name['min_gas_price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\024yaml:\"min_gas_price\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['default_base_fee_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['default_base_fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\"yaml:\"default_base_fee_multiplier\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['max_base_fee_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['max_base_fee_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\036yaml:\"max_base_fee_multiplier\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['reset_interval']._loaded_options = None + _globals['_PARAMS'].fields_by_name['reset_interval']._serialized_options = b'\362\336\037\025yaml:\"reset_interval\"' + _globals['_PARAMS'].fields_by_name['max_block_change_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['max_block_change_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\034yaml:\"max_block_change_rate\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['target_block_space_percent_rate']._loaded_options = None + _globals['_PARAMS'].fields_by_name['target_block_space_percent_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037&yaml:\"target_block_space_percent_rate\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['recheck_fee_low_base_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['recheck_fee_low_base_fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\037yaml:\"recheck_fee_low_base_fee\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['recheck_fee_high_base_fee']._loaded_options = None + _globals['_PARAMS'].fields_by_name['recheck_fee_high_base_fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037 yaml:\"recheck_fee_high_base_fee\"\322\264-\ncosmos.Dec' + _globals['_PARAMS'].fields_by_name['recheck_fee_base_fee_threshold_multiplier']._loaded_options = None + _globals['_PARAMS'].fields_by_name['recheck_fee_base_fee_threshold_multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\0370yaml:\"recheck_fee_base_fee_threshold_multiplier\"\322\264-\ncosmos.Dec' + _globals['_PARAMS']._loaded_options = None + _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\rtxfees/Params' + _globals['_PARAMS']._serialized_start=166 + _globals['_PARAMS']._serialized_end=1856 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2_grpc.py b/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/txfees/v1beta1/txfees_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/types/v1beta1/indexer_pb2.py b/pyinjective/proto/injective/types/v1beta1/indexer_pb2.py new file mode 100644 index 00000000..ae517930 --- /dev/null +++ b/pyinjective/proto/injective/types/v1beta1/indexer_pb2.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/types/v1beta1/indexer.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%injective/types/v1beta1/indexer.proto\x12\x17injective.types.v1beta1\x1a\x14gogoproto/gogo.proto\"\xe5\x01\n\x08TxResult\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x19\n\x08tx_index\x18\x02 \x01(\rR\x07txIndex\x12\x1b\n\tmsg_index\x18\x03 \x01(\rR\x08msgIndex\x12 \n\x0c\x65th_tx_index\x18\x04 \x01(\x05R\nethTxIndex\x12\x16\n\x06\x66\x61iled\x18\x05 \x01(\x08R\x06\x66\x61iled\x12\x19\n\x08gas_used\x18\x06 \x01(\x04R\x07gasUsed\x12.\n\x13\x63umulative_gas_used\x18\x07 \x01(\x04R\x11\x63umulativeGasUsed:\x04\x88\xa0\x1f\x00\x42\xe8\x01\n\x1b\x63om.injective.types.v1beta1B\x0cIndexerProtoP\x01Z=github.com/InjectiveLabs/injective-core/injective-chain/types\xa2\x02\x03ITX\xaa\x02\x17Injective.Types.V1beta1\xca\x02\x17Injective\\Types\\V1beta1\xe2\x02#Injective\\Types\\V1beta1\\GPBMetadata\xea\x02\x19Injective::Types::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.types.v1beta1.indexer_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective.types.v1beta1B\014IndexerProtoP\001Z=github.com/InjectiveLabs/injective-core/injective-chain/types\242\002\003ITX\252\002\027Injective.Types.V1beta1\312\002\027Injective\\Types\\V1beta1\342\002#Injective\\Types\\V1beta1\\GPBMetadata\352\002\031Injective::Types::V1beta1' + _globals['_TXRESULT']._loaded_options = None + _globals['_TXRESULT']._serialized_options = b'\210\240\037\000' + _globals['_TXRESULT']._serialized_start=89 + _globals['_TXRESULT']._serialized_end=318 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/types/v1beta1/indexer_pb2_grpc.py b/pyinjective/proto/injective/types/v1beta1/indexer_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/types/v1beta1/indexer_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/wasmx/v1/authz_pb2.py b/pyinjective/proto/injective/wasmx/v1/authz_pb2.py new file mode 100644 index 00000000..75c600ac --- /dev/null +++ b/pyinjective/proto/injective/wasmx/v1/authz_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: injective/wasmx/v1/authz.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.cosmwasm.wasm.v1 import authz_pb2 as cosmwasm_dot_wasm_dot_v1_dot_authz__pb2 +from pyinjective.proto.cosmos_proto import cosmos_pb2 as cosmos__proto_dot_cosmos__pb2 +from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1einjective/wasmx/v1/authz.proto\x12\x12injective.wasmx.v1\x1a\x1c\x63osmwasm/wasm/v1/authz.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x11\x61mino/amino.proto\x1a\x14gogoproto/gogo.proto\"\xc1\x01\n$ContractExecutionCompatAuthorization\x12\x42\n\x06grants\x18\x01 \x03(\x0b\x32\x1f.cosmwasm.wasm.v1.ContractGrantB\t\xc8\xde\x1f\x00\xa8\xe7\xb0*\x01R\x06grants:U\xca\xb4-\"cosmos.authz.v1beta1.Authorization\x8a\xe7\xb0**wasmx/ContractExecutionCompatAuthorizationB\xdb\x01\n\x16\x63om.injective.wasmx.v1B\nAuthzProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\xa2\x02\x03IWX\xaa\x02\x12Injective.Wasmx.V1\xca\x02\x12Injective\\Wasmx\\V1\xe2\x02\x1eInjective\\Wasmx\\V1\\GPBMetadata\xea\x02\x14Injective::Wasmx::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.wasmx.v1.authz_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.wasmx.v1B\nAuthzProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\242\002\003IWX\252\002\022Injective.Wasmx.V1\312\002\022Injective\\Wasmx\\V1\342\002\036Injective\\Wasmx\\V1\\GPBMetadata\352\002\024Injective::Wasmx::V1' + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION'].fields_by_name['grants']._loaded_options = None + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION'].fields_by_name['grants']._serialized_options = b'\310\336\037\000\250\347\260*\001' + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION']._loaded_options = None + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION']._serialized_options = b'\312\264-\"cosmos.authz.v1beta1.Authorization\212\347\260**wasmx/ContractExecutionCompatAuthorization' + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION']._serialized_start=153 + _globals['_CONTRACTEXECUTIONCOMPATAUTHORIZATION']._serialized_end=346 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/wasmx/v1/authz_pb2_grpc.py b/pyinjective/proto/injective/wasmx/v1/authz_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/pyinjective/proto/injective/wasmx/v1/authz_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/pyinjective/proto/injective/wasmx/v1/tx_pb2.py b/pyinjective/proto/injective/wasmx/v1/tx_pb2.py index 84f38d96..8d1bf8da 100644 --- a/pyinjective/proto/injective/wasmx/v1/tx_pb2.py +++ b/pyinjective/proto/injective/wasmx/v1/tx_pb2.py @@ -21,14 +21,14 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1binjective/wasmx/v1/tx.proto\x12\x12injective.wasmx.v1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x1einjective/wasmx/v1/wasmx.proto\x1a!injective/wasmx/v1/proposal.proto\x1a\x11\x61mino/amino.proto\"\xa6\x01\n\x18MsgExecuteContractCompat\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08\x63ontract\x18\x02 \x01(\tR\x08\x63ontract\x12\x10\n\x03msg\x18\x03 \x01(\tR\x03msg\x12\x14\n\x05\x66unds\x18\x04 \x01(\tR\x05\x66unds:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1ewasmx/MsgExecuteContractCompat\"6\n MsgExecuteContractCompatResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\xe4\x01\n\x11MsgUpdateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tgas_limit\x18\x03 \x01(\x04R\x08gasLimit\x12\x1b\n\tgas_price\x18\x04 \x01(\x04R\x08gasPrice\x12)\n\radmin_address\x18\x05 \x01(\tB\x04\xc8\xde\x1f\x01R\x0c\x61\x64minAddress:\'\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17wasmx/MsgUpdateContract\"\x1b\n\x19MsgUpdateContractResponse\"\x83\x01\n\x13MsgActivateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress:)\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19wasmx/MsgActivateContract\"\x1d\n\x1bMsgActivateContractResponse\"\x87\x01\n\x15MsgDeactivateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1bwasmx/MsgDeactivateContract\"\x1f\n\x1dMsgDeactivateContractResponse\"\xad\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32\x1a.injective.wasmx.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:(\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x15wasmx/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xd3\x01\n\x13MsgRegisterContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12y\n\x1d\x63ontract_registration_request\x18\x02 \x01(\x0b\x32/.injective.wasmx.v1.ContractRegistrationRequestB\x04\xc8\xde\x1f\x00R\x1b\x63ontractRegistrationRequest:)\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19wasmx/MsgRegisterContract\"\x1d\n\x1bMsgRegisterContractResponse2\xc1\x05\n\x03Msg\x12t\n\x1cUpdateRegistryContractParams\x12%.injective.wasmx.v1.MsgUpdateContract\x1a-.injective.wasmx.v1.MsgUpdateContractResponse\x12t\n\x18\x41\x63tivateRegistryContract\x12\'.injective.wasmx.v1.MsgActivateContract\x1a/.injective.wasmx.v1.MsgActivateContractResponse\x12z\n\x1a\x44\x65\x61\x63tivateRegistryContract\x12).injective.wasmx.v1.MsgDeactivateContract\x1a\x31.injective.wasmx.v1.MsgDeactivateContractResponse\x12{\n\x15\x45xecuteContractCompat\x12,.injective.wasmx.v1.MsgExecuteContractCompat\x1a\x34.injective.wasmx.v1.MsgExecuteContractCompatResponse\x12`\n\x0cUpdateParams\x12#.injective.wasmx.v1.MsgUpdateParams\x1a+.injective.wasmx.v1.MsgUpdateParamsResponse\x12l\n\x10RegisterContract\x12\'.injective.wasmx.v1.MsgRegisterContract\x1a/.injective.wasmx.v1.MsgRegisterContractResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xd8\x01\n\x16\x63om.injective.wasmx.v1B\x07TxProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\xa2\x02\x03IWX\xaa\x02\x12Injective.Wasmx.V1\xca\x02\x12Injective\\Wasmx\\V1\xe2\x02\x1eInjective\\Wasmx\\V1\\GPBMetadata\xea\x02\x14Injective::Wasmx::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1binjective/wasmx/v1/tx.proto\x12\x12injective.wasmx.v1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x1einjective/wasmx/v1/wasmx.proto\x1a!injective/wasmx/v1/proposal.proto\x1a\x11\x61mino/amino.proto\"\xa6\x01\n\x18MsgExecuteContractCompat\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1a\n\x08\x63ontract\x18\x02 \x01(\tR\x08\x63ontract\x12\x10\n\x03msg\x18\x03 \x01(\tR\x03msg\x12\x14\n\x05\x66unds\x18\x04 \x01(\tR\x05\x66unds:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1ewasmx/MsgExecuteContractCompat\"6\n MsgExecuteContractCompatResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\"\xe4\x01\n\x11MsgUpdateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tgas_limit\x18\x03 \x01(\x04R\x08gasLimit\x12\x1b\n\tgas_price\x18\x04 \x01(\x04R\x08gasPrice\x12)\n\radmin_address\x18\x05 \x01(\tB\x04\xc8\xde\x1f\x01R\x0c\x61\x64minAddress:\'\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x17wasmx/MsgUpdateContract\"\x1b\n\x19MsgUpdateContractResponse\"\x83\x01\n\x13MsgActivateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress:)\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19wasmx/MsgActivateContract\"\x1d\n\x1bMsgActivateContractResponse\"\x87\x01\n\x15MsgDeactivateContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1bwasmx/MsgDeactivateContract\"\x1f\n\x1dMsgDeactivateContractResponse\"\xad\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x38\n\x06params\x18\x02 \x01(\x0b\x32\x1a.injective.wasmx.v1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:(\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x15wasmx/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xd3\x01\n\x13MsgRegisterContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12y\n\x1d\x63ontract_registration_request\x18\x02 \x01(\x0b\x32/.injective.wasmx.v1.ContractRegistrationRequestB\x04\xc8\xde\x1f\x00R\x1b\x63ontractRegistrationRequest:)\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19wasmx/MsgRegisterContract\"\x1d\n\x1bMsgRegisterContractResponse2\xc1\x05\n\x03Msg\x12t\n\x1cUpdateRegistryContractParams\x12%.injective.wasmx.v1.MsgUpdateContract\x1a-.injective.wasmx.v1.MsgUpdateContractResponse\x12t\n\x18\x41\x63tivateRegistryContract\x12\'.injective.wasmx.v1.MsgActivateContract\x1a/.injective.wasmx.v1.MsgActivateContractResponse\x12z\n\x1a\x44\x65\x61\x63tivateRegistryContract\x12).injective.wasmx.v1.MsgDeactivateContract\x1a\x31.injective.wasmx.v1.MsgDeactivateContractResponse\x12{\n\x15\x45xecuteContractCompat\x12,.injective.wasmx.v1.MsgExecuteContractCompat\x1a\x34.injective.wasmx.v1.MsgExecuteContractCompatResponse\x12`\n\x0cUpdateParams\x12#.injective.wasmx.v1.MsgUpdateParams\x1a+.injective.wasmx.v1.MsgUpdateParamsResponse\x12l\n\x10RegisterContract\x12\'.injective.wasmx.v1.MsgRegisterContract\x1a/.injective.wasmx.v1.MsgRegisterContractResponse\x1a\x05\x80\xe7\xb0*\x01\x42\xdc\x01\n\x16\x63om.injective.wasmx.v1B\x07TxProtoP\x01ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\xa2\x02\x03IWX\xaa\x02\x12Injective.Wasmx.V1\xca\x02\x12Injective\\Wasmx\\V1\xe2\x02\x1eInjective\\Wasmx\\V1\\GPBMetadata\xea\x02\x14Injective::Wasmx::V1\xc0\xe3\x1e\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'injective.wasmx.v1.tx_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.wasmx.v1B\007TxProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\242\002\003IWX\252\002\022Injective.Wasmx.V1\312\002\022Injective\\Wasmx\\V1\342\002\036Injective\\Wasmx\\V1\\GPBMetadata\352\002\024Injective::Wasmx::V1' + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective.wasmx.v1B\007TxProtoP\001ZKgithub.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types\242\002\003IWX\252\002\022Injective.Wasmx.V1\312\002\022Injective\\Wasmx\\V1\342\002\036Injective\\Wasmx\\V1\\GPBMetadata\352\002\024Injective::Wasmx::V1\300\343\036\001' _globals['_MSGEXECUTECONTRACTCOMPAT']._loaded_options = None _globals['_MSGEXECUTECONTRACTCOMPAT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036wasmx/MsgExecuteContractCompat' _globals['_MSGUPDATECONTRACT'].fields_by_name['admin_address']._loaded_options = None diff --git a/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2.py b/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2.py new file mode 100644 index 00000000..26b8e89f --- /dev/null +++ b/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osmosis/txfees/v1beta1/query.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 +from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"osmosis/txfees/v1beta1/query.proto\x12\x16osmosis.txfees.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\"\x18\n\x16QueryEipBaseFeeRequest\"l\n\x17QueryEipBaseFeeResponse\x12Q\n\x08\x62\x61se_fee\x18\x01 \x01(\tB6\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDec\xf2\xde\x1f\x0fyaml:\"base_fee\"R\x07\x62\x61seFee2\xac\x01\n\x05Query\x12\xa2\x01\n\rGetEipBaseFee\x12..osmosis.txfees.v1beta1.QueryEipBaseFeeRequest\x1a/.osmosis.txfees.v1beta1.QueryEipBaseFeeResponse\"0\x82\xd3\xe4\x93\x02*\x12(/osmosis/txfees/v1beta1/cur_eip_base_feeB\xf8\x01\n\x1a\x63om.osmosis.txfees.v1beta1B\nQueryProtoP\x01ZTgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/osmosis/types\xa2\x02\x03OTX\xaa\x02\x16Osmosis.Txfees.V1beta1\xca\x02\x16Osmosis\\Txfees\\V1beta1\xe2\x02\"Osmosis\\Txfees\\V1beta1\\GPBMetadata\xea\x02\x18Osmosis::Txfees::V1beta1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osmosis.txfees.v1beta1.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.osmosis.txfees.v1beta1B\nQueryProtoP\001ZTgithub.com/InjectiveLabs/injective-core/injective-chain/modules/txfees/osmosis/types\242\002\003OTX\252\002\026Osmosis.Txfees.V1beta1\312\002\026Osmosis\\Txfees\\V1beta1\342\002\"Osmosis\\Txfees\\V1beta1\\GPBMetadata\352\002\030Osmosis::Txfees::V1beta1' + _globals['_QUERYEIPBASEFEERESPONSE'].fields_by_name['base_fee']._loaded_options = None + _globals['_QUERYEIPBASEFEERESPONSE'].fields_by_name['base_fee']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec\362\336\037\017yaml:\"base_fee\"' + _globals['_QUERY'].methods_by_name['GetEipBaseFee']._loaded_options = None + _globals['_QUERY'].methods_by_name['GetEipBaseFee']._serialized_options = b'\202\323\344\223\002*\022(/osmosis/txfees/v1beta1/cur_eip_base_fee' + _globals['_QUERYEIPBASEFEEREQUEST']._serialized_start=146 + _globals['_QUERYEIPBASEFEEREQUEST']._serialized_end=170 + _globals['_QUERYEIPBASEFEERESPONSE']._serialized_start=172 + _globals['_QUERYEIPBASEFEERESPONSE']._serialized_end=280 + _globals['_QUERY']._serialized_start=283 + _globals['_QUERY']._serialized_end=455 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2_grpc.py b/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2_grpc.py new file mode 100644 index 00000000..7c8cdd9b --- /dev/null +++ b/pyinjective/proto/osmosis/txfees/v1beta1/query_pb2_grpc.py @@ -0,0 +1,78 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from osmosis.txfees.v1beta1 import query_pb2 as osmosis_dot_txfees_dot_v1beta1_dot_query__pb2 + + +class QueryStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetEipBaseFee = channel.unary_unary( + '/osmosis.txfees.v1beta1.Query/GetEipBaseFee', + request_serializer=osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.SerializeToString, + response_deserializer=osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.FromString, + _registered_method=True) + + +class QueryServicer(object): + """Missing associated documentation comment in .proto file.""" + + def GetEipBaseFee(self, request, context): + """Returns the current fee market EIP fee. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_QueryServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetEipBaseFee': grpc.unary_unary_rpc_method_handler( + servicer.GetEipBaseFee, + request_deserializer=osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.FromString, + response_serializer=osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'osmosis.txfees.v1beta1.Query', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('osmosis.txfees.v1beta1.Query', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Query(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def GetEipBaseFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/osmosis.txfees.v1beta1.Query/GetEipBaseFee', + osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeRequest.SerializeToString, + osmosis_dot_txfees_dot_v1beta1_dot_query__pb2.QueryEipBaseFeeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/tendermint/abci/types_pb2.py b/pyinjective/proto/tendermint/abci/types_pb2.py deleted file mode 100644 index f097f91e..00000000 --- a/pyinjective/proto/tendermint/abci/types_pb2.py +++ /dev/null @@ -1,199 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/abci/types.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.tendermint.crypto import proof_pb2 as tendermint_dot_crypto_dot_proof__pb2 -from pyinjective.proto.tendermint.crypto import keys_pb2 as tendermint_dot_crypto_dot_keys__pb2 -from pyinjective.proto.tendermint.types import params_pb2 as tendermint_dot_types_dot_params__pb2 -from pyinjective.proto.tendermint.types import validator_pb2 as tendermint_dot_types_dot_validator__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1btendermint/abci/types.proto\x12\x0ftendermint.abci\x1a\x1dtendermint/crypto/proof.proto\x1a\x1ctendermint/crypto/keys.proto\x1a\x1dtendermint/types/params.proto\x1a tendermint/types/validator.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14gogoproto/gogo.proto\"\xbf\t\n\x07Request\x12\x32\n\x04\x65\x63ho\x18\x01 \x01(\x0b\x32\x1c.tendermint.abci.RequestEchoH\x00R\x04\x65\x63ho\x12\x35\n\x05\x66lush\x18\x02 \x01(\x0b\x32\x1d.tendermint.abci.RequestFlushH\x00R\x05\x66lush\x12\x32\n\x04info\x18\x03 \x01(\x0b\x32\x1c.tendermint.abci.RequestInfoH\x00R\x04info\x12\x42\n\ninit_chain\x18\x05 \x01(\x0b\x32!.tendermint.abci.RequestInitChainH\x00R\tinitChain\x12\x35\n\x05query\x18\x06 \x01(\x0b\x32\x1d.tendermint.abci.RequestQueryH\x00R\x05query\x12<\n\x08\x63heck_tx\x18\x08 \x01(\x0b\x32\x1f.tendermint.abci.RequestCheckTxH\x00R\x07\x63heckTx\x12\x38\n\x06\x63ommit\x18\x0b \x01(\x0b\x32\x1e.tendermint.abci.RequestCommitH\x00R\x06\x63ommit\x12N\n\x0elist_snapshots\x18\x0c \x01(\x0b\x32%.tendermint.abci.RequestListSnapshotsH\x00R\rlistSnapshots\x12N\n\x0eoffer_snapshot\x18\r \x01(\x0b\x32%.tendermint.abci.RequestOfferSnapshotH\x00R\rofferSnapshot\x12[\n\x13load_snapshot_chunk\x18\x0e \x01(\x0b\x32).tendermint.abci.RequestLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12^\n\x14\x61pply_snapshot_chunk\x18\x0f \x01(\x0b\x32*.tendermint.abci.RequestApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12T\n\x10prepare_proposal\x18\x10 \x01(\x0b\x32\'.tendermint.abci.RequestPrepareProposalH\x00R\x0fprepareProposal\x12T\n\x10process_proposal\x18\x11 \x01(\x0b\x32\'.tendermint.abci.RequestProcessProposalH\x00R\x0fprocessProposal\x12\x45\n\x0b\x65xtend_vote\x18\x12 \x01(\x0b\x32\".tendermint.abci.RequestExtendVoteH\x00R\nextendVote\x12\x61\n\x15verify_vote_extension\x18\x13 \x01(\x0b\x32+.tendermint.abci.RequestVerifyVoteExtensionH\x00R\x13verifyVoteExtension\x12N\n\x0e\x66inalize_block\x18\x14 \x01(\x0b\x32%.tendermint.abci.RequestFinalizeBlockH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x04\x10\x05J\x04\x08\x07\x10\x08J\x04\x08\t\x10\nJ\x04\x08\n\x10\x0b\"\'\n\x0bRequestEcho\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0e\n\x0cRequestFlush\"\x90\x01\n\x0bRequestInfo\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12#\n\rblock_version\x18\x02 \x01(\x04R\x0c\x62lockVersion\x12\x1f\n\x0bp2p_version\x18\x03 \x01(\x04R\np2pVersion\x12!\n\x0c\x61\x62\x63i_version\x18\x04 \x01(\tR\x0b\x61\x62\x63iVersion\"\xcc\x02\n\x10RequestInitChain\x12\x38\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12L\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32!.tendermint.types.ConsensusParamsR\x0f\x63onsensusParams\x12\x46\n\nvalidators\x18\x04 \x03(\x0b\x32 .tendermint.abci.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12&\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0cR\rappStateBytes\x12%\n\x0einitial_height\x18\x06 \x01(\x03R\rinitialHeight\"d\n\x0cRequestQuery\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"R\n\x0eRequestCheckTx\x12\x0e\n\x02tx\x18\x01 \x01(\x0cR\x02tx\x12\x30\n\x04type\x18\x02 \x01(\x0e\x32\x1c.tendermint.abci.CheckTxTypeR\x04type\"\x0f\n\rRequestCommit\"\x16\n\x14RequestListSnapshots\"h\n\x14RequestOfferSnapshot\x12\x35\n\x08snapshot\x18\x01 \x01(\x0b\x32\x19.tendermint.abci.SnapshotR\x08snapshot\x12\x19\n\x08\x61pp_hash\x18\x02 \x01(\x0cR\x07\x61ppHash\"`\n\x18RequestLoadSnapshotChunk\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x14\n\x05\x63hunk\x18\x03 \x01(\rR\x05\x63hunk\"_\n\x19RequestApplySnapshotChunk\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x63hunk\x18\x02 \x01(\x0cR\x05\x63hunk\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender\"\x98\x03\n\x16RequestPrepareProposal\x12 \n\x0cmax_tx_bytes\x18\x01 \x01(\x03R\nmaxTxBytes\x12\x10\n\x03txs\x18\x02 \x03(\x0cR\x03txs\x12U\n\x11local_last_commit\x18\x03 \x01(\x0b\x32#.tendermint.abci.ExtendedCommitInfoB\x04\xc8\xde\x1f\x00R\x0flocalLastCommit\x12\x44\n\x0bmisbehavior\x18\x04 \x03(\x0b\x32\x1c.tendermint.abci.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x88\x03\n\x16RequestProcessProposal\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12S\n\x14proposed_last_commit\x18\x02 \x01(\x0b\x32\x1b.tendermint.abci.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12\x44\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\x1c.tendermint.abci.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x83\x03\n\x11RequestExtendVote\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x10\n\x03txs\x18\x04 \x03(\x0cR\x03txs\x12S\n\x14proposed_last_commit\x18\x05 \x01(\x0b\x32\x1b.tendermint.abci.CommitInfoB\x04\xc8\xde\x1f\x00R\x12proposedLastCommit\x12\x44\n\x0bmisbehavior\x18\x06 \x03(\x0b\x32\x1c.tendermint.abci.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x9c\x01\n\x1aRequestVerifyVoteExtension\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12%\n\x0evote_extension\x18\x04 \x01(\x0cR\rvoteExtension\"\x84\x03\n\x14RequestFinalizeBlock\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\x12Q\n\x13\x64\x65\x63ided_last_commit\x18\x02 \x01(\x0b\x32\x1b.tendermint.abci.CommitInfoB\x04\xc8\xde\x1f\x00R\x11\x64\x65\x63idedLastCommit\x12\x44\n\x0bmisbehavior\x18\x03 \x03(\x0b\x32\x1c.tendermint.abci.MisbehaviorB\x04\xc8\xde\x1f\x00R\x0bmisbehavior\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x05 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x30\n\x14next_validators_hash\x18\x07 \x01(\x0cR\x12nextValidatorsHash\x12)\n\x10proposer_address\x18\x08 \x01(\x0cR\x0fproposerAddress\"\x94\n\n\x08Response\x12\x42\n\texception\x18\x01 \x01(\x0b\x32\".tendermint.abci.ResponseExceptionH\x00R\texception\x12\x33\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32\x1d.tendermint.abci.ResponseEchoH\x00R\x04\x65\x63ho\x12\x36\n\x05\x66lush\x18\x03 \x01(\x0b\x32\x1e.tendermint.abci.ResponseFlushH\x00R\x05\x66lush\x12\x33\n\x04info\x18\x04 \x01(\x0b\x32\x1d.tendermint.abci.ResponseInfoH\x00R\x04info\x12\x43\n\ninit_chain\x18\x06 \x01(\x0b\x32\".tendermint.abci.ResponseInitChainH\x00R\tinitChain\x12\x36\n\x05query\x18\x07 \x01(\x0b\x32\x1e.tendermint.abci.ResponseQueryH\x00R\x05query\x12=\n\x08\x63heck_tx\x18\t \x01(\x0b\x32 .tendermint.abci.ResponseCheckTxH\x00R\x07\x63heckTx\x12\x39\n\x06\x63ommit\x18\x0c \x01(\x0b\x32\x1f.tendermint.abci.ResponseCommitH\x00R\x06\x63ommit\x12O\n\x0elist_snapshots\x18\r \x01(\x0b\x32&.tendermint.abci.ResponseListSnapshotsH\x00R\rlistSnapshots\x12O\n\x0eoffer_snapshot\x18\x0e \x01(\x0b\x32&.tendermint.abci.ResponseOfferSnapshotH\x00R\rofferSnapshot\x12\\\n\x13load_snapshot_chunk\x18\x0f \x01(\x0b\x32*.tendermint.abci.ResponseLoadSnapshotChunkH\x00R\x11loadSnapshotChunk\x12_\n\x14\x61pply_snapshot_chunk\x18\x10 \x01(\x0b\x32+.tendermint.abci.ResponseApplySnapshotChunkH\x00R\x12\x61pplySnapshotChunk\x12U\n\x10prepare_proposal\x18\x11 \x01(\x0b\x32(.tendermint.abci.ResponsePrepareProposalH\x00R\x0fprepareProposal\x12U\n\x10process_proposal\x18\x12 \x01(\x0b\x32(.tendermint.abci.ResponseProcessProposalH\x00R\x0fprocessProposal\x12\x46\n\x0b\x65xtend_vote\x18\x13 \x01(\x0b\x32#.tendermint.abci.ResponseExtendVoteH\x00R\nextendVote\x12\x62\n\x15verify_vote_extension\x18\x14 \x01(\x0b\x32,.tendermint.abci.ResponseVerifyVoteExtensionH\x00R\x13verifyVoteExtension\x12O\n\x0e\x66inalize_block\x18\x15 \x01(\x0b\x32&.tendermint.abci.ResponseFinalizeBlockH\x00R\rfinalizeBlockB\x07\n\x05valueJ\x04\x08\x05\x10\x06J\x04\x08\x08\x10\tJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0c\")\n\x11ResponseException\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\"(\n\x0cResponseEcho\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\"\x0f\n\rResponseFlush\"\xb8\x01\n\x0cResponseInfo\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\tR\x04\x64\x61ta\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1f\n\x0b\x61pp_version\x18\x03 \x01(\x04R\nappVersion\x12*\n\x11last_block_height\x18\x04 \x01(\x03R\x0flastBlockHeight\x12-\n\x13last_block_app_hash\x18\x05 \x01(\x0cR\x10lastBlockAppHash\"\xc4\x01\n\x11ResponseInitChain\x12L\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32!.tendermint.types.ConsensusParamsR\x0f\x63onsensusParams\x12\x46\n\nvalidators\x18\x02 \x03(\x0b\x32 .tendermint.abci.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\nvalidators\x12\x19\n\x08\x61pp_hash\x18\x03 \x01(\x0cR\x07\x61ppHash\"\xf7\x01\n\rResponseQuery\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x12\x38\n\tproof_ops\x18\x08 \x01(\x0b\x32\x1b.tendermint.crypto.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespace\"\xaa\x02\n\x0fResponseCheckTx\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12H\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x16.tendermint.abci.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespaceJ\x04\x08\t\x10\x0cR\x06senderR\x08priorityR\rmempool_error\"A\n\x0eResponseCommit\x12#\n\rretain_height\x18\x03 \x01(\x03R\x0cretainHeightJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"P\n\x15ResponseListSnapshots\x12\x37\n\tsnapshots\x18\x01 \x03(\x0b\x32\x19.tendermint.abci.SnapshotR\tsnapshots\"\xbe\x01\n\x15ResponseOfferSnapshot\x12\x45\n\x06result\x18\x01 \x01(\x0e\x32-.tendermint.abci.ResponseOfferSnapshot.ResultR\x06result\"^\n\x06Result\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\t\n\x05\x41\x42ORT\x10\x02\x12\n\n\x06REJECT\x10\x03\x12\x11\n\rREJECT_FORMAT\x10\x04\x12\x11\n\rREJECT_SENDER\x10\x05\"1\n\x19ResponseLoadSnapshotChunk\x12\x14\n\x05\x63hunk\x18\x01 \x01(\x0cR\x05\x63hunk\"\x98\x02\n\x1aResponseApplySnapshotChunk\x12J\n\x06result\x18\x01 \x01(\x0e\x32\x32.tendermint.abci.ResponseApplySnapshotChunk.ResultR\x06result\x12%\n\x0erefetch_chunks\x18\x02 \x03(\rR\rrefetchChunks\x12%\n\x0ereject_senders\x18\x03 \x03(\tR\rrejectSenders\"`\n\x06Result\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\t\n\x05\x41\x42ORT\x10\x02\x12\t\n\x05RETRY\x10\x03\x12\x12\n\x0eRETRY_SNAPSHOT\x10\x04\x12\x13\n\x0fREJECT_SNAPSHOT\x10\x05\"+\n\x17ResponsePrepareProposal\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xa1\x01\n\x17ResponseProcessProposal\x12O\n\x06status\x18\x01 \x01(\x0e\x32\x37.tendermint.abci.ResponseProcessProposal.ProposalStatusR\x06status\"5\n\x0eProposalStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\n\n\x06REJECT\x10\x02\";\n\x12ResponseExtendVote\x12%\n\x0evote_extension\x18\x01 \x01(\x0cR\rvoteExtension\"\xa5\x01\n\x1bResponseVerifyVoteExtension\x12Q\n\x06status\x18\x01 \x01(\x0e\x32\x39.tendermint.abci.ResponseVerifyVoteExtension.VerifyStatusR\x06status\"3\n\x0cVerifyStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\n\n\x06REJECT\x10\x02\"\xea\x02\n\x15ResponseFinalizeBlock\x12H\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.tendermint.abci.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12<\n\ntx_results\x18\x02 \x03(\x0b\x32\x1d.tendermint.abci.ExecTxResultR\ttxResults\x12S\n\x11validator_updates\x18\x03 \x03(\x0b\x32 .tendermint.abci.ValidatorUpdateB\x04\xc8\xde\x1f\x00R\x10validatorUpdates\x12Y\n\x17\x63onsensus_param_updates\x18\x04 \x01(\x0b\x32!.tendermint.types.ConsensusParamsR\x15\x63onsensusParamUpdates\x12\x19\n\x08\x61pp_hash\x18\x05 \x01(\x0cR\x07\x61ppHash\"Y\n\nCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12\x35\n\x05votes\x18\x02 \x03(\x0b\x32\x19.tendermint.abci.VoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"i\n\x12\x45xtendedCommitInfo\x12\x14\n\x05round\x18\x01 \x01(\x05R\x05round\x12=\n\x05votes\x18\x02 \x03(\x0b\x32!.tendermint.abci.ExtendedVoteInfoB\x04\xc8\xde\x1f\x00R\x05votes\"z\n\x05\x45vent\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12]\n\nattributes\x18\x02 \x03(\x0b\x32\x1f.tendermint.abci.EventAttributeB\x1c\xc8\xde\x1f\x00\xea\xde\x1f\x14\x61ttributes,omitemptyR\nattributes\"N\n\x0e\x45ventAttribute\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x12\x14\n\x05index\x18\x03 \x01(\x08R\x05index\"\x80\x02\n\x0c\x45xecTxResult\x12\x12\n\x04\x63ode\x18\x01 \x01(\rR\x04\x63ode\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x1e\n\ngas_wanted\x18\x05 \x01(\x03R\ngas_wanted\x12\x1a\n\x08gas_used\x18\x06 \x01(\x03R\x08gas_used\x12H\n\x06\x65vents\x18\x07 \x03(\x0b\x32\x16.tendermint.abci.EventB\x18\xc8\xde\x1f\x00\xea\xde\x1f\x10\x65vents,omitemptyR\x06\x65vents\x12\x1c\n\tcodespace\x18\x08 \x01(\tR\tcodespace\"\x85\x01\n\x08TxResult\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05index\x18\x02 \x01(\rR\x05index\x12\x0e\n\x02tx\x18\x03 \x01(\x0cR\x02tx\x12;\n\x06result\x18\x04 \x01(\x0b\x32\x1d.tendermint.abci.ExecTxResultB\x04\xc8\xde\x1f\x00R\x06result\";\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12\x14\n\x05power\x18\x03 \x01(\x03R\x05power\"d\n\x0fValidatorUpdate\x12;\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1c.tendermint.crypto.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12\x14\n\x05power\x18\x02 \x01(\x03R\x05power\"\x93\x01\n\x08VoteInfo\x12>\n\tvalidator\x18\x01 \x01(\x0b\x32\x1a.tendermint.abci.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x41\n\rblock_id_flag\x18\x03 \x01(\x0e\x32\x1d.tendermint.types.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"\xf3\x01\n\x10\x45xtendedVoteInfo\x12>\n\tvalidator\x18\x01 \x01(\x0b\x32\x1a.tendermint.abci.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12%\n\x0evote_extension\x18\x03 \x01(\x0cR\rvoteExtension\x12/\n\x13\x65xtension_signature\x18\x04 \x01(\x0cR\x12\x65xtensionSignature\x12\x41\n\rblock_id_flag\x18\x05 \x01(\x0e\x32\x1d.tendermint.types.BlockIDFlagR\x0b\x62lockIdFlagJ\x04\x08\x02\x10\x03\"\x83\x02\n\x0bMisbehavior\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32 .tendermint.abci.MisbehaviorTypeR\x04type\x12>\n\tvalidator\x18\x02 \x01(\x0b\x32\x1a.tendermint.abci.ValidatorB\x04\xc8\xde\x1f\x00R\tvalidator\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12,\n\x12total_voting_power\x18\x05 \x01(\x03R\x10totalVotingPower\"\x82\x01\n\x08Snapshot\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x16\n\x06\x66ormat\x18\x02 \x01(\rR\x06\x66ormat\x12\x16\n\x06\x63hunks\x18\x03 \x01(\rR\x06\x63hunks\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\x12\x1a\n\x08metadata\x18\x05 \x01(\x0cR\x08metadata*9\n\x0b\x43heckTxType\x12\x10\n\x03NEW\x10\x00\x1a\x07\x8a\x9d \x03New\x12\x18\n\x07RECHECK\x10\x01\x1a\x0b\x8a\x9d \x07Recheck*K\n\x0fMisbehaviorType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0e\x44UPLICATE_VOTE\x10\x01\x12\x17\n\x13LIGHT_CLIENT_ATTACK\x10\x02\x32\x9d\x0b\n\x04\x41\x42\x43I\x12\x43\n\x04\x45\x63ho\x12\x1c.tendermint.abci.RequestEcho\x1a\x1d.tendermint.abci.ResponseEcho\x12\x46\n\x05\x46lush\x12\x1d.tendermint.abci.RequestFlush\x1a\x1e.tendermint.abci.ResponseFlush\x12\x43\n\x04Info\x12\x1c.tendermint.abci.RequestInfo\x1a\x1d.tendermint.abci.ResponseInfo\x12L\n\x07\x43heckTx\x12\x1f.tendermint.abci.RequestCheckTx\x1a .tendermint.abci.ResponseCheckTx\x12\x46\n\x05Query\x12\x1d.tendermint.abci.RequestQuery\x1a\x1e.tendermint.abci.ResponseQuery\x12I\n\x06\x43ommit\x12\x1e.tendermint.abci.RequestCommit\x1a\x1f.tendermint.abci.ResponseCommit\x12R\n\tInitChain\x12!.tendermint.abci.RequestInitChain\x1a\".tendermint.abci.ResponseInitChain\x12^\n\rListSnapshots\x12%.tendermint.abci.RequestListSnapshots\x1a&.tendermint.abci.ResponseListSnapshots\x12^\n\rOfferSnapshot\x12%.tendermint.abci.RequestOfferSnapshot\x1a&.tendermint.abci.ResponseOfferSnapshot\x12j\n\x11LoadSnapshotChunk\x12).tendermint.abci.RequestLoadSnapshotChunk\x1a*.tendermint.abci.ResponseLoadSnapshotChunk\x12m\n\x12\x41pplySnapshotChunk\x12*.tendermint.abci.RequestApplySnapshotChunk\x1a+.tendermint.abci.ResponseApplySnapshotChunk\x12\x64\n\x0fPrepareProposal\x12\'.tendermint.abci.RequestPrepareProposal\x1a(.tendermint.abci.ResponsePrepareProposal\x12\x64\n\x0fProcessProposal\x12\'.tendermint.abci.RequestProcessProposal\x1a(.tendermint.abci.ResponseProcessProposal\x12U\n\nExtendVote\x12\".tendermint.abci.RequestExtendVote\x1a#.tendermint.abci.ResponseExtendVote\x12p\n\x13VerifyVoteExtension\x12+.tendermint.abci.RequestVerifyVoteExtension\x1a,.tendermint.abci.ResponseVerifyVoteExtension\x12^\n\rFinalizeBlock\x12%.tendermint.abci.RequestFinalizeBlock\x1a&.tendermint.abci.ResponseFinalizeBlockB\xa7\x01\n\x13\x63om.tendermint.abciB\nTypesProtoP\x01Z\'github.com/cometbft/cometbft/abci/types\xa2\x02\x03TAX\xaa\x02\x0fTendermint.Abci\xca\x02\x0fTendermint\\Abci\xe2\x02\x1bTendermint\\Abci\\GPBMetadata\xea\x02\x10Tendermint::Abcib\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.abci.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\023com.tendermint.abciB\nTypesProtoP\001Z\'github.com/cometbft/cometbft/abci/types\242\002\003TAX\252\002\017Tendermint.Abci\312\002\017Tendermint\\Abci\342\002\033Tendermint\\Abci\\GPBMetadata\352\002\020Tendermint::Abci' - _globals['_CHECKTXTYPE'].values_by_name["NEW"]._loaded_options = None - _globals['_CHECKTXTYPE'].values_by_name["NEW"]._serialized_options = b'\212\235 \003New' - _globals['_CHECKTXTYPE'].values_by_name["RECHECK"]._loaded_options = None - _globals['_CHECKTXTYPE'].values_by_name["RECHECK"]._serialized_options = b'\212\235 \007Recheck' - _globals['_REQUESTINITCHAIN'].fields_by_name['time']._loaded_options = None - _globals['_REQUESTINITCHAIN'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._loaded_options = None - _globals['_REQUESTINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._loaded_options = None - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['local_last_commit']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._loaded_options = None - _globals['_REQUESTPREPAREPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._loaded_options = None - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._loaded_options = None - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._loaded_options = None - _globals['_REQUESTPROCESSPROPOSAL'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_REQUESTEXTENDVOTE'].fields_by_name['time']._loaded_options = None - _globals['_REQUESTEXTENDVOTE'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_REQUESTEXTENDVOTE'].fields_by_name['proposed_last_commit']._loaded_options = None - _globals['_REQUESTEXTENDVOTE'].fields_by_name['proposed_last_commit']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTEXTENDVOTE'].fields_by_name['misbehavior']._loaded_options = None - _globals['_REQUESTEXTENDVOTE'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['decided_last_commit']._loaded_options = None - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['decided_last_commit']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['misbehavior']._loaded_options = None - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['misbehavior']._serialized_options = b'\310\336\037\000' - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['time']._loaded_options = None - _globals['_REQUESTFINALIZEBLOCK'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._loaded_options = None - _globals['_RESPONSEINITCHAIN'].fields_by_name['validators']._serialized_options = b'\310\336\037\000' - _globals['_RESPONSECHECKTX'].fields_by_name['events']._loaded_options = None - _globals['_RESPONSECHECKTX'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' - _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['events']._loaded_options = None - _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' - _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['validator_updates']._loaded_options = None - _globals['_RESPONSEFINALIZEBLOCK'].fields_by_name['validator_updates']._serialized_options = b'\310\336\037\000' - _globals['_COMMITINFO'].fields_by_name['votes']._loaded_options = None - _globals['_COMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' - _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._loaded_options = None - _globals['_EXTENDEDCOMMITINFO'].fields_by_name['votes']._serialized_options = b'\310\336\037\000' - _globals['_EVENT'].fields_by_name['attributes']._loaded_options = None - _globals['_EVENT'].fields_by_name['attributes']._serialized_options = b'\310\336\037\000\352\336\037\024attributes,omitempty' - _globals['_EXECTXRESULT'].fields_by_name['events']._loaded_options = None - _globals['_EXECTXRESULT'].fields_by_name['events']._serialized_options = b'\310\336\037\000\352\336\037\020events,omitempty' - _globals['_TXRESULT'].fields_by_name['result']._loaded_options = None - _globals['_TXRESULT'].fields_by_name['result']._serialized_options = b'\310\336\037\000' - _globals['_VALIDATORUPDATE'].fields_by_name['pub_key']._loaded_options = None - _globals['_VALIDATORUPDATE'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' - _globals['_VOTEINFO'].fields_by_name['validator']._loaded_options = None - _globals['_VOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' - _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._loaded_options = None - _globals['_EXTENDEDVOTEINFO'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' - _globals['_MISBEHAVIOR'].fields_by_name['validator']._loaded_options = None - _globals['_MISBEHAVIOR'].fields_by_name['validator']._serialized_options = b'\310\336\037\000' - _globals['_MISBEHAVIOR'].fields_by_name['time']._loaded_options = None - _globals['_MISBEHAVIOR'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_CHECKTXTYPE']._serialized_start=9832 - _globals['_CHECKTXTYPE']._serialized_end=9889 - _globals['_MISBEHAVIORTYPE']._serialized_start=9891 - _globals['_MISBEHAVIORTYPE']._serialized_end=9966 - _globals['_REQUEST']._serialized_start=230 - _globals['_REQUEST']._serialized_end=1445 - _globals['_REQUESTECHO']._serialized_start=1447 - _globals['_REQUESTECHO']._serialized_end=1486 - _globals['_REQUESTFLUSH']._serialized_start=1488 - _globals['_REQUESTFLUSH']._serialized_end=1502 - _globals['_REQUESTINFO']._serialized_start=1505 - _globals['_REQUESTINFO']._serialized_end=1649 - _globals['_REQUESTINITCHAIN']._serialized_start=1652 - _globals['_REQUESTINITCHAIN']._serialized_end=1984 - _globals['_REQUESTQUERY']._serialized_start=1986 - _globals['_REQUESTQUERY']._serialized_end=2086 - _globals['_REQUESTCHECKTX']._serialized_start=2088 - _globals['_REQUESTCHECKTX']._serialized_end=2170 - _globals['_REQUESTCOMMIT']._serialized_start=2172 - _globals['_REQUESTCOMMIT']._serialized_end=2187 - _globals['_REQUESTLISTSNAPSHOTS']._serialized_start=2189 - _globals['_REQUESTLISTSNAPSHOTS']._serialized_end=2211 - _globals['_REQUESTOFFERSNAPSHOT']._serialized_start=2213 - _globals['_REQUESTOFFERSNAPSHOT']._serialized_end=2317 - _globals['_REQUESTLOADSNAPSHOTCHUNK']._serialized_start=2319 - _globals['_REQUESTLOADSNAPSHOTCHUNK']._serialized_end=2415 - _globals['_REQUESTAPPLYSNAPSHOTCHUNK']._serialized_start=2417 - _globals['_REQUESTAPPLYSNAPSHOTCHUNK']._serialized_end=2512 - _globals['_REQUESTPREPAREPROPOSAL']._serialized_start=2515 - _globals['_REQUESTPREPAREPROPOSAL']._serialized_end=2923 - _globals['_REQUESTPROCESSPROPOSAL']._serialized_start=2926 - _globals['_REQUESTPROCESSPROPOSAL']._serialized_end=3318 - _globals['_REQUESTEXTENDVOTE']._serialized_start=3321 - _globals['_REQUESTEXTENDVOTE']._serialized_end=3708 - _globals['_REQUESTVERIFYVOTEEXTENSION']._serialized_start=3711 - _globals['_REQUESTVERIFYVOTEEXTENSION']._serialized_end=3867 - _globals['_REQUESTFINALIZEBLOCK']._serialized_start=3870 - _globals['_REQUESTFINALIZEBLOCK']._serialized_end=4258 - _globals['_RESPONSE']._serialized_start=4261 - _globals['_RESPONSE']._serialized_end=5561 - _globals['_RESPONSEEXCEPTION']._serialized_start=5563 - _globals['_RESPONSEEXCEPTION']._serialized_end=5604 - _globals['_RESPONSEECHO']._serialized_start=5606 - _globals['_RESPONSEECHO']._serialized_end=5646 - _globals['_RESPONSEFLUSH']._serialized_start=5648 - _globals['_RESPONSEFLUSH']._serialized_end=5663 - _globals['_RESPONSEINFO']._serialized_start=5666 - _globals['_RESPONSEINFO']._serialized_end=5850 - _globals['_RESPONSEINITCHAIN']._serialized_start=5853 - _globals['_RESPONSEINITCHAIN']._serialized_end=6049 - _globals['_RESPONSEQUERY']._serialized_start=6052 - _globals['_RESPONSEQUERY']._serialized_end=6299 - _globals['_RESPONSECHECKTX']._serialized_start=6302 - _globals['_RESPONSECHECKTX']._serialized_end=6600 - _globals['_RESPONSECOMMIT']._serialized_start=6602 - _globals['_RESPONSECOMMIT']._serialized_end=6667 - _globals['_RESPONSELISTSNAPSHOTS']._serialized_start=6669 - _globals['_RESPONSELISTSNAPSHOTS']._serialized_end=6749 - _globals['_RESPONSEOFFERSNAPSHOT']._serialized_start=6752 - _globals['_RESPONSEOFFERSNAPSHOT']._serialized_end=6942 - _globals['_RESPONSEOFFERSNAPSHOT_RESULT']._serialized_start=6848 - _globals['_RESPONSEOFFERSNAPSHOT_RESULT']._serialized_end=6942 - _globals['_RESPONSELOADSNAPSHOTCHUNK']._serialized_start=6944 - _globals['_RESPONSELOADSNAPSHOTCHUNK']._serialized_end=6993 - _globals['_RESPONSEAPPLYSNAPSHOTCHUNK']._serialized_start=6996 - _globals['_RESPONSEAPPLYSNAPSHOTCHUNK']._serialized_end=7276 - _globals['_RESPONSEAPPLYSNAPSHOTCHUNK_RESULT']._serialized_start=7180 - _globals['_RESPONSEAPPLYSNAPSHOTCHUNK_RESULT']._serialized_end=7276 - _globals['_RESPONSEPREPAREPROPOSAL']._serialized_start=7278 - _globals['_RESPONSEPREPAREPROPOSAL']._serialized_end=7321 - _globals['_RESPONSEPROCESSPROPOSAL']._serialized_start=7324 - _globals['_RESPONSEPROCESSPROPOSAL']._serialized_end=7485 - _globals['_RESPONSEPROCESSPROPOSAL_PROPOSALSTATUS']._serialized_start=7432 - _globals['_RESPONSEPROCESSPROPOSAL_PROPOSALSTATUS']._serialized_end=7485 - _globals['_RESPONSEEXTENDVOTE']._serialized_start=7487 - _globals['_RESPONSEEXTENDVOTE']._serialized_end=7546 - _globals['_RESPONSEVERIFYVOTEEXTENSION']._serialized_start=7549 - _globals['_RESPONSEVERIFYVOTEEXTENSION']._serialized_end=7714 - _globals['_RESPONSEVERIFYVOTEEXTENSION_VERIFYSTATUS']._serialized_start=7663 - _globals['_RESPONSEVERIFYVOTEEXTENSION_VERIFYSTATUS']._serialized_end=7714 - _globals['_RESPONSEFINALIZEBLOCK']._serialized_start=7717 - _globals['_RESPONSEFINALIZEBLOCK']._serialized_end=8079 - _globals['_COMMITINFO']._serialized_start=8081 - _globals['_COMMITINFO']._serialized_end=8170 - _globals['_EXTENDEDCOMMITINFO']._serialized_start=8172 - _globals['_EXTENDEDCOMMITINFO']._serialized_end=8277 - _globals['_EVENT']._serialized_start=8279 - _globals['_EVENT']._serialized_end=8401 - _globals['_EVENTATTRIBUTE']._serialized_start=8403 - _globals['_EVENTATTRIBUTE']._serialized_end=8481 - _globals['_EXECTXRESULT']._serialized_start=8484 - _globals['_EXECTXRESULT']._serialized_end=8740 - _globals['_TXRESULT']._serialized_start=8743 - _globals['_TXRESULT']._serialized_end=8876 - _globals['_VALIDATOR']._serialized_start=8878 - _globals['_VALIDATOR']._serialized_end=8937 - _globals['_VALIDATORUPDATE']._serialized_start=8939 - _globals['_VALIDATORUPDATE']._serialized_end=9039 - _globals['_VOTEINFO']._serialized_start=9042 - _globals['_VOTEINFO']._serialized_end=9189 - _globals['_EXTENDEDVOTEINFO']._serialized_start=9192 - _globals['_EXTENDEDVOTEINFO']._serialized_end=9435 - _globals['_MISBEHAVIOR']._serialized_start=9438 - _globals['_MISBEHAVIOR']._serialized_end=9697 - _globals['_SNAPSHOT']._serialized_start=9700 - _globals['_SNAPSHOT']._serialized_end=9830 - _globals['_ABCI']._serialized_start=9969 - _globals['_ABCI']._serialized_end=11406 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/crypto/keys_pb2.py b/pyinjective/proto/tendermint/crypto/keys_pb2.py deleted file mode 100644 index 6d1762da..00000000 --- a/pyinjective/proto/tendermint/crypto/keys_pb2.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/crypto/keys.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ctendermint/crypto/keys.proto\x12\x11tendermint.crypto\x1a\x14gogoproto/gogo.proto\"X\n\tPublicKey\x12\x1a\n\x07\x65\x64\x32\x35\x35\x31\x39\x18\x01 \x01(\x0cH\x00R\x07\x65\x64\x32\x35\x35\x31\x39\x12\x1e\n\tsecp256k1\x18\x02 \x01(\x0cH\x00R\tsecp256k1:\x08\xe8\xa0\x1f\x01\xe8\xa1\x1f\x01\x42\x05\n\x03sumB\xbd\x01\n\x15\x63om.tendermint.cryptoB\tKeysProtoP\x01Z4github.com/cometbft/cometbft/proto/tendermint/crypto\xa2\x02\x03TCX\xaa\x02\x11Tendermint.Crypto\xca\x02\x11Tendermint\\Crypto\xe2\x02\x1dTendermint\\Crypto\\GPBMetadata\xea\x02\x12Tendermint::Cryptob\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.crypto.keys_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\025com.tendermint.cryptoB\tKeysProtoP\001Z4github.com/cometbft/cometbft/proto/tendermint/crypto\242\002\003TCX\252\002\021Tendermint.Crypto\312\002\021Tendermint\\Crypto\342\002\035Tendermint\\Crypto\\GPBMetadata\352\002\022Tendermint::Crypto' - _globals['_PUBLICKEY']._loaded_options = None - _globals['_PUBLICKEY']._serialized_options = b'\350\240\037\001\350\241\037\001' - _globals['_PUBLICKEY']._serialized_start=73 - _globals['_PUBLICKEY']._serialized_end=161 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/crypto/proof_pb2.py b/pyinjective/proto/tendermint/crypto/proof_pb2.py deleted file mode 100644 index 5681a5e2..00000000 --- a/pyinjective/proto/tendermint/crypto/proof_pb2.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/crypto/proof.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtendermint/crypto/proof.proto\x12\x11tendermint.crypto\x1a\x14gogoproto/gogo.proto\"f\n\x05Proof\x12\x14\n\x05total\x18\x01 \x01(\x03R\x05total\x12\x14\n\x05index\x18\x02 \x01(\x03R\x05index\x12\x1b\n\tleaf_hash\x18\x03 \x01(\x0cR\x08leafHash\x12\x14\n\x05\x61unts\x18\x04 \x03(\x0cR\x05\x61unts\"K\n\x07ValueOp\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12.\n\x05proof\x18\x02 \x01(\x0b\x32\x18.tendermint.crypto.ProofR\x05proof\"J\n\x08\x44ominoOp\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05input\x18\x02 \x01(\tR\x05input\x12\x16\n\x06output\x18\x03 \x01(\tR\x06output\"C\n\x07ProofOp\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\x12\x12\n\x04\x64\x61ta\x18\x03 \x01(\x0cR\x04\x64\x61ta\">\n\x08ProofOps\x12\x32\n\x03ops\x18\x01 \x03(\x0b\x32\x1a.tendermint.crypto.ProofOpB\x04\xc8\xde\x1f\x00R\x03opsB\xbe\x01\n\x15\x63om.tendermint.cryptoB\nProofProtoP\x01Z4github.com/cometbft/cometbft/proto/tendermint/crypto\xa2\x02\x03TCX\xaa\x02\x11Tendermint.Crypto\xca\x02\x11Tendermint\\Crypto\xe2\x02\x1dTendermint\\Crypto\\GPBMetadata\xea\x02\x12Tendermint::Cryptob\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.crypto.proof_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\025com.tendermint.cryptoB\nProofProtoP\001Z4github.com/cometbft/cometbft/proto/tendermint/crypto\242\002\003TCX\252\002\021Tendermint.Crypto\312\002\021Tendermint\\Crypto\342\002\035Tendermint\\Crypto\\GPBMetadata\352\002\022Tendermint::Crypto' - _globals['_PROOFOPS'].fields_by_name['ops']._loaded_options = None - _globals['_PROOFOPS'].fields_by_name['ops']._serialized_options = b'\310\336\037\000' - _globals['_PROOF']._serialized_start=74 - _globals['_PROOF']._serialized_end=176 - _globals['_VALUEOP']._serialized_start=178 - _globals['_VALUEOP']._serialized_end=253 - _globals['_DOMINOOP']._serialized_start=255 - _globals['_DOMINOOP']._serialized_end=329 - _globals['_PROOFOP']._serialized_start=331 - _globals['_PROOFOP']._serialized_end=398 - _globals['_PROOFOPS']._serialized_start=400 - _globals['_PROOFOPS']._serialized_end=462 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/libs/bits/types_pb2.py b/pyinjective/proto/tendermint/libs/bits/types_pb2.py deleted file mode 100644 index 207b36a4..00000000 --- a/pyinjective/proto/tendermint/libs/bits/types_pb2.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/libs/bits/types.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n tendermint/libs/bits/types.proto\x12\x14tendermint.libs.bits\"4\n\x08\x42itArray\x12\x12\n\x04\x62its\x18\x01 \x01(\x03R\x04\x62its\x12\x14\n\x05\x65lems\x18\x02 \x03(\x04R\x05\x65lemsB\xd1\x01\n\x18\x63om.tendermint.libs.bitsB\nTypesProtoP\x01Z7github.com/cometbft/cometbft/proto/tendermint/libs/bits\xa2\x02\x03TLB\xaa\x02\x14Tendermint.Libs.Bits\xca\x02\x14Tendermint\\Libs\\Bits\xe2\x02 Tendermint\\Libs\\Bits\\GPBMetadata\xea\x02\x16Tendermint::Libs::Bitsb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.libs.bits.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\030com.tendermint.libs.bitsB\nTypesProtoP\001Z7github.com/cometbft/cometbft/proto/tendermint/libs/bits\242\002\003TLB\252\002\024Tendermint.Libs.Bits\312\002\024Tendermint\\Libs\\Bits\342\002 Tendermint\\Libs\\Bits\\GPBMetadata\352\002\026Tendermint::Libs::Bits' - _globals['_BITARRAY']._serialized_start=58 - _globals['_BITARRAY']._serialized_end=110 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/p2p/types_pb2.py b/pyinjective/proto/tendermint/p2p/types_pb2.py deleted file mode 100644 index 585eff1d..00000000 --- a/pyinjective/proto/tendermint/p2p/types_pb2.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/p2p/types.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1atendermint/p2p/types.proto\x12\x0etendermint.p2p\x1a\x14gogoproto/gogo.proto\"P\n\nNetAddress\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02IDR\x02id\x12\x16\n\x02ip\x18\x02 \x01(\tB\x06\xe2\xde\x1f\x02IPR\x02ip\x12\x12\n\x04port\x18\x03 \x01(\rR\x04port\"T\n\x0fProtocolVersion\x12\x19\n\x03p2p\x18\x01 \x01(\x04\x42\x07\xe2\xde\x1f\x03P2PR\x03p2p\x12\x14\n\x05\x62lock\x18\x02 \x01(\x04R\x05\x62lock\x12\x10\n\x03\x61pp\x18\x03 \x01(\x04R\x03\x61pp\"\xeb\x02\n\x0f\x44\x65\x66\x61ultNodeInfo\x12P\n\x10protocol_version\x18\x01 \x01(\x0b\x32\x1f.tendermint.p2p.ProtocolVersionB\x04\xc8\xde\x1f\x00R\x0fprotocolVersion\x12\x39\n\x0f\x64\x65\x66\x61ult_node_id\x18\x02 \x01(\tB\x11\xe2\xde\x1f\rDefaultNodeIDR\rdefaultNodeId\x12\x1f\n\x0blisten_addr\x18\x03 \x01(\tR\nlistenAddr\x12\x18\n\x07network\x18\x04 \x01(\tR\x07network\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\x12\x1a\n\x08\x63hannels\x18\x06 \x01(\x0cR\x08\x63hannels\x12\x18\n\x07moniker\x18\x07 \x01(\tR\x07moniker\x12@\n\x05other\x18\x08 \x01(\x0b\x32$.tendermint.p2p.DefaultNodeInfoOtherB\x04\xc8\xde\x1f\x00R\x05other\"b\n\x14\x44\x65\x66\x61ultNodeInfoOther\x12\x19\n\x08tx_index\x18\x01 \x01(\tR\x07txIndex\x12/\n\x0brpc_address\x18\x02 \x01(\tB\x0e\xe2\xde\x1f\nRPCAddressR\nrpcAddressB\xac\x01\n\x12\x63om.tendermint.p2pB\nTypesProtoP\x01Z1github.com/cometbft/cometbft/proto/tendermint/p2p\xa2\x02\x03TPX\xaa\x02\x0eTendermint.P2p\xca\x02\x0eTendermint\\P2p\xe2\x02\x1aTendermint\\P2p\\GPBMetadata\xea\x02\x0fTendermint::P2pb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.p2p.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\022com.tendermint.p2pB\nTypesProtoP\001Z1github.com/cometbft/cometbft/proto/tendermint/p2p\242\002\003TPX\252\002\016Tendermint.P2p\312\002\016Tendermint\\P2p\342\002\032Tendermint\\P2p\\GPBMetadata\352\002\017Tendermint::P2p' - _globals['_NETADDRESS'].fields_by_name['id']._loaded_options = None - _globals['_NETADDRESS'].fields_by_name['id']._serialized_options = b'\342\336\037\002ID' - _globals['_NETADDRESS'].fields_by_name['ip']._loaded_options = None - _globals['_NETADDRESS'].fields_by_name['ip']._serialized_options = b'\342\336\037\002IP' - _globals['_PROTOCOLVERSION'].fields_by_name['p2p']._loaded_options = None - _globals['_PROTOCOLVERSION'].fields_by_name['p2p']._serialized_options = b'\342\336\037\003P2P' - _globals['_DEFAULTNODEINFO'].fields_by_name['protocol_version']._loaded_options = None - _globals['_DEFAULTNODEINFO'].fields_by_name['protocol_version']._serialized_options = b'\310\336\037\000' - _globals['_DEFAULTNODEINFO'].fields_by_name['default_node_id']._loaded_options = None - _globals['_DEFAULTNODEINFO'].fields_by_name['default_node_id']._serialized_options = b'\342\336\037\rDefaultNodeID' - _globals['_DEFAULTNODEINFO'].fields_by_name['other']._loaded_options = None - _globals['_DEFAULTNODEINFO'].fields_by_name['other']._serialized_options = b'\310\336\037\000' - _globals['_DEFAULTNODEINFOOTHER'].fields_by_name['rpc_address']._loaded_options = None - _globals['_DEFAULTNODEINFOOTHER'].fields_by_name['rpc_address']._serialized_options = b'\342\336\037\nRPCAddress' - _globals['_NETADDRESS']._serialized_start=68 - _globals['_NETADDRESS']._serialized_end=148 - _globals['_PROTOCOLVERSION']._serialized_start=150 - _globals['_PROTOCOLVERSION']._serialized_end=234 - _globals['_DEFAULTNODEINFO']._serialized_start=237 - _globals['_DEFAULTNODEINFO']._serialized_end=600 - _globals['_DEFAULTNODEINFOOTHER']._serialized_start=602 - _globals['_DEFAULTNODEINFOOTHER']._serialized_end=700 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/block_pb2.py b/pyinjective/proto/tendermint/types/block_pb2.py deleted file mode 100644 index fcbd42d0..00000000 --- a/pyinjective/proto/tendermint/types/block_pb2.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/types/block.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 -from pyinjective.proto.tendermint.types import evidence_pb2 as tendermint_dot_types_dot_evidence__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ctendermint/types/block.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1ctendermint/types/types.proto\x1a\x1ftendermint/types/evidence.proto\"\xee\x01\n\x05\x42lock\x12\x36\n\x06header\x18\x01 \x01(\x0b\x32\x18.tendermint.types.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.tendermint.types.DataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta\x12@\n\x08\x65vidence\x18\x03 \x01(\x0b\x32\x1e.tendermint.types.EvidenceListB\x04\xc8\xde\x1f\x00R\x08\x65vidence\x12\x39\n\x0blast_commit\x18\x04 \x01(\x0b\x32\x18.tendermint.types.CommitR\nlastCommitB\xb8\x01\n\x14\x63om.tendermint.typesB\nBlockProtoP\x01Z3github.com/cometbft/cometbft/proto/tendermint/types\xa2\x02\x03TTX\xaa\x02\x10Tendermint.Types\xca\x02\x10Tendermint\\Types\xe2\x02\x1cTendermint\\Types\\GPBMetadata\xea\x02\x11Tendermint::Typesb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.types.block_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tendermint.typesB\nBlockProtoP\001Z3github.com/cometbft/cometbft/proto/tendermint/types\242\002\003TTX\252\002\020Tendermint.Types\312\002\020Tendermint\\Types\342\002\034Tendermint\\Types\\GPBMetadata\352\002\021Tendermint::Types' - _globals['_BLOCK'].fields_by_name['header']._loaded_options = None - _globals['_BLOCK'].fields_by_name['header']._serialized_options = b'\310\336\037\000' - _globals['_BLOCK'].fields_by_name['data']._loaded_options = None - _globals['_BLOCK'].fields_by_name['data']._serialized_options = b'\310\336\037\000' - _globals['_BLOCK'].fields_by_name['evidence']._loaded_options = None - _globals['_BLOCK'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' - _globals['_BLOCK']._serialized_start=136 - _globals['_BLOCK']._serialized_end=374 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/evidence_pb2.py b/pyinjective/proto/tendermint/types/evidence_pb2.py deleted file mode 100644 index d7f5ae43..00000000 --- a/pyinjective/proto/tendermint/types/evidence_pb2.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/types/evidence.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_dot_types_dot_types__pb2 -from pyinjective.proto.tendermint.types import validator_pb2 as tendermint_dot_types_dot_validator__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ftendermint/types/evidence.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ctendermint/types/types.proto\x1a tendermint/types/validator.proto\"\xe4\x01\n\x08\x45vidence\x12\x61\n\x17\x64uplicate_vote_evidence\x18\x01 \x01(\x0b\x32\'.tendermint.types.DuplicateVoteEvidenceH\x00R\x15\x64uplicateVoteEvidence\x12n\n\x1clight_client_attack_evidence\x18\x02 \x01(\x0b\x32+.tendermint.types.LightClientAttackEvidenceH\x00R\x19lightClientAttackEvidenceB\x05\n\x03sum\"\x90\x02\n\x15\x44uplicateVoteEvidence\x12-\n\x06vote_a\x18\x01 \x01(\x0b\x32\x16.tendermint.types.VoteR\x05voteA\x12-\n\x06vote_b\x18\x02 \x01(\x0b\x32\x16.tendermint.types.VoteR\x05voteB\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\x12\'\n\x0fvalidator_power\x18\x04 \x01(\x03R\x0evalidatorPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"\xcd\x02\n\x19LightClientAttackEvidence\x12I\n\x11\x63onflicting_block\x18\x01 \x01(\x0b\x32\x1c.tendermint.types.LightBlockR\x10\x63onflictingBlock\x12#\n\rcommon_height\x18\x02 \x01(\x03R\x0c\x63ommonHeight\x12N\n\x14\x62yzantine_validators\x18\x03 \x03(\x0b\x32\x1b.tendermint.types.ValidatorR\x13\x62yzantineValidators\x12,\n\x12total_voting_power\x18\x04 \x01(\x03R\x10totalVotingPower\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"L\n\x0c\x45videnceList\x12<\n\x08\x65vidence\x18\x01 \x03(\x0b\x32\x1a.tendermint.types.EvidenceB\x04\xc8\xde\x1f\x00R\x08\x65videnceB\xbb\x01\n\x14\x63om.tendermint.typesB\rEvidenceProtoP\x01Z3github.com/cometbft/cometbft/proto/tendermint/types\xa2\x02\x03TTX\xaa\x02\x10Tendermint.Types\xca\x02\x10Tendermint\\Types\xe2\x02\x1cTendermint\\Types\\GPBMetadata\xea\x02\x11Tendermint::Typesb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.types.evidence_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tendermint.typesB\rEvidenceProtoP\001Z3github.com/cometbft/cometbft/proto/tendermint/types\242\002\003TTX\252\002\020Tendermint.Types\312\002\020Tendermint\\Types\342\002\034Tendermint\\Types\\GPBMetadata\352\002\021Tendermint::Types' - _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._loaded_options = None - _globals['_DUPLICATEVOTEEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._loaded_options = None - _globals['_LIGHTCLIENTATTACKEVIDENCE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_EVIDENCELIST'].fields_by_name['evidence']._loaded_options = None - _globals['_EVIDENCELIST'].fields_by_name['evidence']._serialized_options = b'\310\336\037\000' - _globals['_EVIDENCE']._serialized_start=173 - _globals['_EVIDENCE']._serialized_end=401 - _globals['_DUPLICATEVOTEEVIDENCE']._serialized_start=404 - _globals['_DUPLICATEVOTEEVIDENCE']._serialized_end=676 - _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_start=679 - _globals['_LIGHTCLIENTATTACKEVIDENCE']._serialized_end=1012 - _globals['_EVIDENCELIST']._serialized_start=1014 - _globals['_EVIDENCELIST']._serialized_end=1090 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/params_pb2.py b/pyinjective/proto/tendermint/types/params_pb2.py deleted file mode 100644 index 1f8df4df..00000000 --- a/pyinjective/proto/tendermint/types/params_pb2.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/types/params.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtendermint/types/params.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\"\xb2\x02\n\x0f\x43onsensusParams\x12\x33\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x1d.tendermint.types.BlockParamsR\x05\x62lock\x12<\n\x08\x65vidence\x18\x02 \x01(\x0b\x32 .tendermint.types.EvidenceParamsR\x08\x65vidence\x12?\n\tvalidator\x18\x03 \x01(\x0b\x32!.tendermint.types.ValidatorParamsR\tvalidator\x12\x39\n\x07version\x18\x04 \x01(\x0b\x32\x1f.tendermint.types.VersionParamsR\x07version\x12\x30\n\x04\x61\x62\x63i\x18\x05 \x01(\x0b\x32\x1c.tendermint.types.ABCIParamsR\x04\x61\x62\x63i\"I\n\x0b\x42lockParams\x12\x1b\n\tmax_bytes\x18\x01 \x01(\x03R\x08maxBytes\x12\x17\n\x07max_gas\x18\x02 \x01(\x03R\x06maxGasJ\x04\x08\x03\x10\x04\"\xa9\x01\n\x0e\x45videnceParams\x12+\n\x12max_age_num_blocks\x18\x01 \x01(\x03R\x0fmaxAgeNumBlocks\x12M\n\x10max_age_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01R\x0emaxAgeDuration\x12\x1b\n\tmax_bytes\x18\x03 \x01(\x03R\x08maxBytes\"?\n\x0fValidatorParams\x12\"\n\rpub_key_types\x18\x01 \x03(\tR\x0bpubKeyTypes:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"+\n\rVersionParams\x12\x10\n\x03\x61pp\x18\x01 \x01(\x04R\x03\x61pp:\x08\xb8\xa0\x1f\x01\xe8\xa0\x1f\x01\"Z\n\x0cHashedParams\x12&\n\x0f\x62lock_max_bytes\x18\x01 \x01(\x03R\rblockMaxBytes\x12\"\n\rblock_max_gas\x18\x02 \x01(\x03R\x0b\x62lockMaxGas\"O\n\nABCIParams\x12\x41\n\x1dvote_extensions_enable_height\x18\x01 \x01(\x03R\x1avoteExtensionsEnableHeightB\xbd\x01\n\x14\x63om.tendermint.typesB\x0bParamsProtoP\x01Z3github.com/cometbft/cometbft/proto/tendermint/types\xa2\x02\x03TTX\xaa\x02\x10Tendermint.Types\xca\x02\x10Tendermint\\Types\xe2\x02\x1cTendermint\\Types\\GPBMetadata\xea\x02\x11Tendermint::Types\xa8\xe2\x1e\x01\x62\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.types.params_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tendermint.typesB\013ParamsProtoP\001Z3github.com/cometbft/cometbft/proto/tendermint/types\242\002\003TTX\252\002\020Tendermint.Types\312\002\020Tendermint\\Types\342\002\034Tendermint\\Types\\GPBMetadata\352\002\021Tendermint::Types\250\342\036\001' - _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._loaded_options = None - _globals['_EVIDENCEPARAMS'].fields_by_name['max_age_duration']._serialized_options = b'\310\336\037\000\230\337\037\001' - _globals['_VALIDATORPARAMS']._loaded_options = None - _globals['_VALIDATORPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' - _globals['_VERSIONPARAMS']._loaded_options = None - _globals['_VERSIONPARAMS']._serialized_options = b'\270\240\037\001\350\240\037\001' - _globals['_CONSENSUSPARAMS']._serialized_start=106 - _globals['_CONSENSUSPARAMS']._serialized_end=412 - _globals['_BLOCKPARAMS']._serialized_start=414 - _globals['_BLOCKPARAMS']._serialized_end=487 - _globals['_EVIDENCEPARAMS']._serialized_start=490 - _globals['_EVIDENCEPARAMS']._serialized_end=659 - _globals['_VALIDATORPARAMS']._serialized_start=661 - _globals['_VALIDATORPARAMS']._serialized_end=724 - _globals['_VERSIONPARAMS']._serialized_start=726 - _globals['_VERSIONPARAMS']._serialized_end=769 - _globals['_HASHEDPARAMS']._serialized_start=771 - _globals['_HASHEDPARAMS']._serialized_end=861 - _globals['_ABCIPARAMS']._serialized_start=863 - _globals['_ABCIPARAMS']._serialized_end=942 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/types_pb2.py b/pyinjective/proto/tendermint/types/types_pb2.py deleted file mode 100644 index 8d569a24..00000000 --- a/pyinjective/proto/tendermint/types/types_pb2.py +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/types/types.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from pyinjective.proto.tendermint.crypto import proof_pb2 as tendermint_dot_crypto_dot_proof__pb2 -from pyinjective.proto.tendermint.version import types_pb2 as tendermint_dot_version_dot_types__pb2 -from pyinjective.proto.tendermint.types import validator_pb2 as tendermint_dot_types_dot_validator__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ctendermint/types/types.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dtendermint/crypto/proof.proto\x1a\x1etendermint/version/types.proto\x1a tendermint/types/validator.proto\"9\n\rPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"h\n\x04Part\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05\x62ytes\x18\x02 \x01(\x0cR\x05\x62ytes\x12\x34\n\x05proof\x18\x03 \x01(\x0b\x32\x18.tendermint.crypto.ProofB\x04\xc8\xde\x1f\x00R\x05proof\"l\n\x07\x42lockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12M\n\x0fpart_set_header\x18\x02 \x01(\x0b\x32\x1f.tendermint.types.PartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"\xe6\x04\n\x06Header\x12=\n\x07version\x18\x01 \x01(\x0b\x32\x1d.tendermint.version.ConsensusB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainIDR\x07\x63hainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x38\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12\x43\n\rlast_block_id\x18\x05 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x04\xc8\xde\x1f\x00R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08\x64\x61taHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x12\x30\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0e\x63onsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08\x61pp_hash\x18\x0b \x01(\x0cR\x07\x61ppHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0c\x65videnceHash\x12)\n\x10proposer_address\x18\x0e \x01(\x0cR\x0fproposerAddress\"\x18\n\x04\x44\x61ta\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xb7\x03\n\x04Vote\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32\x1f.tendermint.types.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x45\n\x08\x62lock_id\x18\x04 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12+\n\x11validator_address\x18\x06 \x01(\x0cR\x10validatorAddress\x12\'\n\x0fvalidator_index\x18\x07 \x01(\x05R\x0evalidatorIndex\x12\x1c\n\tsignature\x18\x08 \x01(\x0cR\tsignature\x12\x1c\n\textension\x18\t \x01(\x0cR\textension\x12/\n\x13\x65xtension_signature\x18\n \x01(\x0cR\x12\x65xtensionSignature\"\xc0\x01\n\x06\x43ommit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x45\n\x08\x62lock_id\x18\x03 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x41\n\nsignatures\x18\x04 \x03(\x0b\x32\x1b.tendermint.types.CommitSigB\x04\xc8\xde\x1f\x00R\nsignatures\"\xdd\x01\n\tCommitSig\x12\x41\n\rblock_id_flag\x18\x01 \x01(\x0e\x32\x1d.tendermint.types.BlockIDFlagR\x0b\x62lockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x42\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\"\xe1\x01\n\x0e\x45xtendedCommit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12\x45\n\x08\x62lock_id\x18\x03 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12Z\n\x13\x65xtended_signatures\x18\x04 \x03(\x0b\x32#.tendermint.types.ExtendedCommitSigB\x04\xc8\xde\x1f\x00R\x12\x65xtendedSignatures\"\xb4\x02\n\x11\x45xtendedCommitSig\x12\x41\n\rblock_id_flag\x18\x01 \x01(\x0e\x32\x1d.tendermint.types.BlockIDFlagR\x0b\x62lockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12\x42\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\x12\x1c\n\textension\x18\x05 \x01(\x0cR\textension\x12/\n\x13\x65xtension_signature\x18\x06 \x01(\x0cR\x12\x65xtensionSignature\"\xb3\x02\n\x08Proposal\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32\x1f.tendermint.types.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x1b\n\tpol_round\x18\x04 \x01(\x05R\x08polRound\x12\x45\n\x08\x62lock_id\x18\x05 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x42\n\ttimestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x07 \x01(\x0cR\tsignature\"r\n\x0cSignedHeader\x12\x30\n\x06header\x18\x01 \x01(\x0b\x32\x18.tendermint.types.HeaderR\x06header\x12\x30\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x18.tendermint.types.CommitR\x06\x63ommit\"\x96\x01\n\nLightBlock\x12\x43\n\rsigned_header\x18\x01 \x01(\x0b\x32\x1e.tendermint.types.SignedHeaderR\x0csignedHeader\x12\x43\n\rvalidator_set\x18\x02 \x01(\x0b\x32\x1e.tendermint.types.ValidatorSetR\x0cvalidatorSet\"\xc2\x01\n\tBlockMeta\x12\x45\n\x08\x62lock_id\x18\x01 \x01(\x0b\x32\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07\x42lockIDR\x07\x62lockId\x12\x1d\n\nblock_size\x18\x02 \x01(\x03R\tblockSize\x12\x36\n\x06header\x18\x03 \x01(\x0b\x32\x18.tendermint.types.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x17\n\x07num_txs\x18\x04 \x01(\x03R\x06numTxs\"j\n\x07TxProof\x12\x1b\n\troot_hash\x18\x01 \x01(\x0cR\x08rootHash\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12.\n\x05proof\x18\x03 \x01(\x0b\x32\x18.tendermint.crypto.ProofR\x05proof*\xd7\x01\n\rSignedMsgType\x12,\n\x17SIGNED_MSG_TYPE_UNKNOWN\x10\x00\x1a\x0f\x8a\x9d \x0bUnknownType\x12,\n\x17SIGNED_MSG_TYPE_PREVOTE\x10\x01\x1a\x0f\x8a\x9d \x0bPrevoteType\x12\x30\n\x19SIGNED_MSG_TYPE_PRECOMMIT\x10\x02\x1a\x11\x8a\x9d \rPrecommitType\x12.\n\x18SIGNED_MSG_TYPE_PROPOSAL\x10 \x1a\x10\x8a\x9d \x0cProposalType\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xb8\x01\n\x14\x63om.tendermint.typesB\nTypesProtoP\x01Z3github.com/cometbft/cometbft/proto/tendermint/types\xa2\x02\x03TTX\xaa\x02\x10Tendermint.Types\xca\x02\x10Tendermint\\Types\xe2\x02\x1cTendermint\\Types\\GPBMetadata\xea\x02\x11Tendermint::Typesb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.types.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tendermint.typesB\nTypesProtoP\001Z3github.com/cometbft/cometbft/proto/tendermint/types\242\002\003TTX\252\002\020Tendermint.Types\312\002\020Tendermint\\Types\342\002\034Tendermint\\Types\\GPBMetadata\352\002\021Tendermint::Types' - _globals['_SIGNEDMSGTYPE']._loaded_options = None - _globals['_SIGNEDMSGTYPE']._serialized_options = b'\210\243\036\000\250\244\036\001' - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._loaded_options = None - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_UNKNOWN"]._serialized_options = b'\212\235 \013UnknownType' - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._loaded_options = None - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PREVOTE"]._serialized_options = b'\212\235 \013PrevoteType' - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._loaded_options = None - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PRECOMMIT"]._serialized_options = b'\212\235 \rPrecommitType' - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._loaded_options = None - _globals['_SIGNEDMSGTYPE'].values_by_name["SIGNED_MSG_TYPE_PROPOSAL"]._serialized_options = b'\212\235 \014ProposalType' - _globals['_PART'].fields_by_name['proof']._loaded_options = None - _globals['_PART'].fields_by_name['proof']._serialized_options = b'\310\336\037\000' - _globals['_BLOCKID'].fields_by_name['part_set_header']._loaded_options = None - _globals['_BLOCKID'].fields_by_name['part_set_header']._serialized_options = b'\310\336\037\000' - _globals['_HEADER'].fields_by_name['version']._loaded_options = None - _globals['_HEADER'].fields_by_name['version']._serialized_options = b'\310\336\037\000' - _globals['_HEADER'].fields_by_name['chain_id']._loaded_options = None - _globals['_HEADER'].fields_by_name['chain_id']._serialized_options = b'\342\336\037\007ChainID' - _globals['_HEADER'].fields_by_name['time']._loaded_options = None - _globals['_HEADER'].fields_by_name['time']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_HEADER'].fields_by_name['last_block_id']._loaded_options = None - _globals['_HEADER'].fields_by_name['last_block_id']._serialized_options = b'\310\336\037\000' - _globals['_VOTE'].fields_by_name['block_id']._loaded_options = None - _globals['_VOTE'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' - _globals['_VOTE'].fields_by_name['timestamp']._loaded_options = None - _globals['_VOTE'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_COMMIT'].fields_by_name['block_id']._loaded_options = None - _globals['_COMMIT'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' - _globals['_COMMIT'].fields_by_name['signatures']._loaded_options = None - _globals['_COMMIT'].fields_by_name['signatures']._serialized_options = b'\310\336\037\000' - _globals['_COMMITSIG'].fields_by_name['timestamp']._loaded_options = None - _globals['_COMMITSIG'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_EXTENDEDCOMMIT'].fields_by_name['block_id']._loaded_options = None - _globals['_EXTENDEDCOMMIT'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' - _globals['_EXTENDEDCOMMIT'].fields_by_name['extended_signatures']._loaded_options = None - _globals['_EXTENDEDCOMMIT'].fields_by_name['extended_signatures']._serialized_options = b'\310\336\037\000' - _globals['_EXTENDEDCOMMITSIG'].fields_by_name['timestamp']._loaded_options = None - _globals['_EXTENDEDCOMMITSIG'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_PROPOSAL'].fields_by_name['block_id']._loaded_options = None - _globals['_PROPOSAL'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' - _globals['_PROPOSAL'].fields_by_name['timestamp']._loaded_options = None - _globals['_PROPOSAL'].fields_by_name['timestamp']._serialized_options = b'\310\336\037\000\220\337\037\001' - _globals['_BLOCKMETA'].fields_by_name['block_id']._loaded_options = None - _globals['_BLOCKMETA'].fields_by_name['block_id']._serialized_options = b'\310\336\037\000\342\336\037\007BlockID' - _globals['_BLOCKMETA'].fields_by_name['header']._loaded_options = None - _globals['_BLOCKMETA'].fields_by_name['header']._serialized_options = b'\310\336\037\000' - _globals['_SIGNEDMSGTYPE']._serialized_start=3405 - _globals['_SIGNEDMSGTYPE']._serialized_end=3620 - _globals['_PARTSETHEADER']._serialized_start=202 - _globals['_PARTSETHEADER']._serialized_end=259 - _globals['_PART']._serialized_start=261 - _globals['_PART']._serialized_end=365 - _globals['_BLOCKID']._serialized_start=367 - _globals['_BLOCKID']._serialized_end=475 - _globals['_HEADER']._serialized_start=478 - _globals['_HEADER']._serialized_end=1092 - _globals['_DATA']._serialized_start=1094 - _globals['_DATA']._serialized_end=1118 - _globals['_VOTE']._serialized_start=1121 - _globals['_VOTE']._serialized_end=1560 - _globals['_COMMIT']._serialized_start=1563 - _globals['_COMMIT']._serialized_end=1755 - _globals['_COMMITSIG']._serialized_start=1758 - _globals['_COMMITSIG']._serialized_end=1979 - _globals['_EXTENDEDCOMMIT']._serialized_start=1982 - _globals['_EXTENDEDCOMMIT']._serialized_end=2207 - _globals['_EXTENDEDCOMMITSIG']._serialized_start=2210 - _globals['_EXTENDEDCOMMITSIG']._serialized_end=2518 - _globals['_PROPOSAL']._serialized_start=2521 - _globals['_PROPOSAL']._serialized_end=2828 - _globals['_SIGNEDHEADER']._serialized_start=2830 - _globals['_SIGNEDHEADER']._serialized_end=2944 - _globals['_LIGHTBLOCK']._serialized_start=2947 - _globals['_LIGHTBLOCK']._serialized_end=3097 - _globals['_BLOCKMETA']._serialized_start=3100 - _globals['_BLOCKMETA']._serialized_end=3294 - _globals['_TXPROOF']._serialized_start=3296 - _globals['_TXPROOF']._serialized_end=3402 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/types/validator_pb2.py b/pyinjective/proto/tendermint/types/validator_pb2.py deleted file mode 100644 index 74283b73..00000000 --- a/pyinjective/proto/tendermint/types/validator_pb2.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/types/validator.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -from pyinjective.proto.tendermint.crypto import keys_pb2 as tendermint_dot_crypto_dot_keys__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n tendermint/types/validator.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1ctendermint/crypto/keys.proto\"\xb2\x01\n\x0cValidatorSet\x12;\n\nvalidators\x18\x01 \x03(\x0b\x32\x1b.tendermint.types.ValidatorR\nvalidators\x12\x37\n\x08proposer\x18\x02 \x01(\x0b\x32\x1b.tendermint.types.ValidatorR\x08proposer\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\"\xb2\x01\n\tValidator\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0cR\x07\x61\x64\x64ress\x12;\n\x07pub_key\x18\x02 \x01(\x0b\x32\x1c.tendermint.crypto.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\"k\n\x0fSimpleValidator\x12\x35\n\x07pub_key\x18\x01 \x01(\x0b\x32\x1c.tendermint.crypto.PublicKeyR\x06pubKey\x12!\n\x0cvoting_power\x18\x02 \x01(\x03R\x0bvotingPower*\xd7\x01\n\x0b\x42lockIDFlag\x12\x31\n\x15\x42LOCK_ID_FLAG_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12\x42lockIDFlagUnknown\x12/\n\x14\x42LOCK_ID_FLAG_ABSENT\x10\x01\x1a\x15\x8a\x9d \x11\x42lockIDFlagAbsent\x12/\n\x14\x42LOCK_ID_FLAG_COMMIT\x10\x02\x1a\x15\x8a\x9d \x11\x42lockIDFlagCommit\x12)\n\x11\x42LOCK_ID_FLAG_NIL\x10\x03\x1a\x12\x8a\x9d \x0e\x42lockIDFlagNil\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01\x42\xbc\x01\n\x14\x63om.tendermint.typesB\x0eValidatorProtoP\x01Z3github.com/cometbft/cometbft/proto/tendermint/types\xa2\x02\x03TTX\xaa\x02\x10Tendermint.Types\xca\x02\x10Tendermint\\Types\xe2\x02\x1cTendermint\\Types\\GPBMetadata\xea\x02\x11Tendermint::Typesb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.types.validator_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tendermint.typesB\016ValidatorProtoP\001Z3github.com/cometbft/cometbft/proto/tendermint/types\242\002\003TTX\252\002\020Tendermint.Types\312\002\020Tendermint\\Types\342\002\034Tendermint\\Types\\GPBMetadata\352\002\021Tendermint::Types' - _globals['_BLOCKIDFLAG']._loaded_options = None - _globals['_BLOCKIDFLAG']._serialized_options = b'\210\243\036\000\250\244\036\001' - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._loaded_options = None - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_UNKNOWN"]._serialized_options = b'\212\235 \022BlockIDFlagUnknown' - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._loaded_options = None - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_ABSENT"]._serialized_options = b'\212\235 \021BlockIDFlagAbsent' - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._loaded_options = None - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_COMMIT"]._serialized_options = b'\212\235 \021BlockIDFlagCommit' - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._loaded_options = None - _globals['_BLOCKIDFLAG'].values_by_name["BLOCK_ID_FLAG_NIL"]._serialized_options = b'\212\235 \016BlockIDFlagNil' - _globals['_VALIDATOR'].fields_by_name['pub_key']._loaded_options = None - _globals['_VALIDATOR'].fields_by_name['pub_key']._serialized_options = b'\310\336\037\000' - _globals['_BLOCKIDFLAG']._serialized_start=578 - _globals['_BLOCKIDFLAG']._serialized_end=793 - _globals['_VALIDATORSET']._serialized_start=107 - _globals['_VALIDATORSET']._serialized_end=285 - _globals['_VALIDATOR']._serialized_start=288 - _globals['_VALIDATOR']._serialized_end=466 - _globals['_SIMPLEVALIDATOR']._serialized_start=468 - _globals['_SIMPLEVALIDATOR']._serialized_end=575 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/tendermint/version/types_pb2.py b/pyinjective/proto/tendermint/version/types_pb2.py deleted file mode 100644 index e93791f7..00000000 --- a/pyinjective/proto/tendermint/version/types_pb2.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tendermint/version/types.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1etendermint/version/types.proto\x12\x12tendermint.version\x1a\x14gogoproto/gogo.proto\"=\n\x03\x41pp\x12\x1a\n\x08protocol\x18\x01 \x01(\x04R\x08protocol\x12\x1a\n\x08software\x18\x02 \x01(\tR\x08software\"9\n\tConsensus\x12\x14\n\x05\x62lock\x18\x01 \x01(\x04R\x05\x62lock\x12\x10\n\x03\x61pp\x18\x02 \x01(\x04R\x03\x61pp:\x04\xe8\xa0\x1f\x01\x42\xc4\x01\n\x16\x63om.tendermint.versionB\nTypesProtoP\x01Z5github.com/cometbft/cometbft/proto/tendermint/version\xa2\x02\x03TVX\xaa\x02\x12Tendermint.Version\xca\x02\x12Tendermint\\Version\xe2\x02\x1eTendermint\\Version\\GPBMetadata\xea\x02\x13Tendermint::Versionb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tendermint.version.types_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.tendermint.versionB\nTypesProtoP\001Z5github.com/cometbft/cometbft/proto/tendermint/version\242\002\003TVX\252\002\022Tendermint.Version\312\002\022Tendermint\\Version\342\002\036Tendermint\\Version\\GPBMetadata\352\002\023Tendermint::Version' - _globals['_CONSENSUS']._loaded_options = None - _globals['_CONSENSUS']._serialized_options = b'\350\240\037\001' - _globals['_APP']._serialized_start=76 - _globals['_APP']._serialized_end=137 - _globals['_CONSENSUS']._serialized_start=139 - _globals['_CONSENSUS']._serialized_end=196 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/wallet.py b/pyinjective/wallet.py index b142e7df..0e321859 100644 --- a/pyinjective/wallet.py +++ b/pyinjective/wallet.py @@ -232,6 +232,13 @@ def from_cons_bech32(cls, bech: str) -> "Address": """Create an address instance from a bech32-encoded consensus address""" return cls._from_bech32(bech, BECH32_ADDR_CONS_PREFIX) + @classmethod + def from_eth_address(cls, eth_address: str) -> "Address": + """Create an address instance from a hex-encoded Ethereum address""" + eth_address_without_prefix = eth_address[2:] if eth_address.startswith("0x") else eth_address + bytes_representation = bytes.fromhex(eth_address_without_prefix) + return cls(bytes_representation) + def _to_bech32(self, prefix: str) -> str: five_bit_r = convertbits(self.addr, 8, 5) assert five_bit_r is not None, "Unsuccessful bech32.convertbits call" diff --git a/pyproject.toml b/pyproject.toml index a81d5acb..cf31a431 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.8.2" +version = "1.16.1" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" @@ -20,13 +20,17 @@ include = [ { path = "*.ini" }, ] +[tool.poetry.build-constraints] +coincurve = { scikit-build-core = ">=0.9,<0.10" } + [tool.poetry.dependencies] -python = "^3.9" +python = ">=3.10,<3.15" 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 = "*" @@ -35,53 +39,41 @@ protobuf = "^5.26.1" requests = "*" safe-pysha3 = "*" websockets = "*" -web3 = "^6.0" +web3 = "^7.0.0" [tool.poetry.group.test.dependencies] -pytest = "*" +pytest = "^8.0.0" pytest-asyncio = "*" pytest-grpc = "*" requests-mock = "*" -pytest-cov = "^4.1.0" -pytest-aioresponses = "^0.2.0" +pytest-cov = ">=4.1.0" +pytest-aioresponses = ">=0.2.0" [tool.poetry.group.dev.dependencies] -pre-commit = "^3.4.0" -flakeheaven = "^3.3.0" -isort = "^5.12.0" -black = "^23.9.1" -python-dotenv = "^1.0.1" -importlib-metadata = "<5.0" +pre-commit = ">=3.4.0" +ruff = ">=0.4.0" +black = ">=23.9.1" +python-dotenv = ">=1.0.1" -[tool.flakeheaven] +[tool.ruff] +line-length = 120 exclude = ["pyinjective/proto/*", ".idea/*"] -max_line_length = 120 - - -# list of plugins and rules for them -[tool.flakeheaven.plugins] -pycodestyle = ["+*", "-W503", "-E731"] -pyflakes = ["+*"] -[tool.flakeheaven.exceptions."tests/"] -pyflakes = ["-F811"] # disable a plugin +[tool.ruff.lint] +select = ["E", "W", "F", "I"] +ignore = ["E731"] +[tool.ruff.lint.isort] +combine-as-imports = true -[tool.isort] -line_length = 120 -multi_line_output = 3 -combine_as_imports = true -include_trailing_comma = true -force_grid_wrap = 0 -use_parentheses = true -ensure_newline_before_comments = true -skip_glob = ["pyinjective/proto/*", ".idea/*"] +[tool.ruff.lint.per-file-ignores] +"tests/**" = ["F811"] [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 = ''' diff --git a/tests/client/chain/grpc/configurable_auction_query_servicer.py b/tests/client/chain/grpc/configurable_auction_query_servicer.py index 66d3269b..099f8027 100644 --- a/tests/client/chain/grpc/configurable_auction_query_servicer.py +++ b/tests/client/chain/grpc/configurable_auction_query_servicer.py @@ -12,6 +12,9 @@ def __init__(self): self.auction_params = deque() self.module_states = deque() self.current_baskets = deque() + self.vouchers_responses = deque() + self.voucher_responses = deque() + self.last_auction_results = deque() async def AuctionParams(self, request: auction_query_pb.QueryAuctionParamsRequest, context=None, metadata=None): return self.auction_params.pop() @@ -23,3 +26,14 @@ async def CurrentAuctionBasket( self, request: auction_query_pb.QueryCurrentAuctionBasketRequest, context=None, metadata=None ): return self.current_baskets.pop() + + async def LastAuctionResult( + self, request: auction_query_pb.QueryLastAuctionResultRequest, context=None, metadata=None + ): + return self.last_auction_results.pop() + + async def Vouchers(self, request: auction_query_pb.QueryVouchersRequest, context=None, metadata=None): + return self.vouchers_responses.pop() + + async def Voucher(self, request: auction_query_pb.QueryVoucherRequest, context=None, metadata=None): + return self.voucher_responses.pop() diff --git a/tests/client/chain/grpc/configurable_erc20_query_servicer.py b/tests/client/chain/grpc/configurable_erc20_query_servicer.py new file mode 100644 index 00000000..1452e1af --- /dev/null +++ b/tests/client/chain/grpc/configurable_erc20_query_servicer.py @@ -0,0 +1,26 @@ +from collections import deque + +from pyinjective.proto.injective.erc20.v1beta1 import query_pb2 as erc20_query_pb, query_pb2_grpc as erc20_query_grpc + + +class ConfigurableERC20QueryServicer(erc20_query_grpc.QueryServicer): + def __init__(self): + super().__init__() + self.erc20_params_responses = deque() + self.all_token_pairs_responses = deque() + self.token_pair_by_denom_responses = deque() + self.token_pair_by_erc20_address_responses = deque() + + async def Params(self, request: erc20_query_pb.QueryParamsRequest, context=None, metadata=None): + return self.erc20_params_responses.pop() + + async def AllTokenPairs(self, request: erc20_query_pb.QueryAllTokenPairsRequest, context=None, metadata=None): + return self.all_token_pairs_responses.pop() + + async def TokenPairByDenom(self, request: erc20_query_pb.QueryTokenPairByDenomRequest, context=None, metadata=None): + return self.token_pair_by_denom_responses.pop() + + async def TokenPairByERC20Address( + self, request: erc20_query_pb.QueryTokenPairByERC20AddressRequest, context=None, metadata=None + ): + return self.token_pair_by_erc20_address_responses.pop() diff --git a/tests/client/chain/grpc/configurable_evm_query_servicer.py b/tests/client/chain/grpc/configurable_evm_query_servicer.py new file mode 100644 index 00000000..ee3e9b25 --- /dev/null +++ b/tests/client/chain/grpc/configurable_evm_query_servicer.py @@ -0,0 +1,40 @@ +from collections import deque + +from pyinjective.proto.injective.evm.v1 import query_pb2 as evm_query_pb, query_pb2_grpc as evm_query_grpc + + +class ConfigurableEVMQueryServicer(evm_query_grpc.QueryServicer): + def __init__(self): + super().__init__() + self.params_responses = deque() + self.account_responses = deque() + self.cosmos_account_responses = deque() + self.validator_account_responses = deque() + self.balance_responses = deque() + self.storage_responses = deque() + self.code_responses = deque() + self.base_fee_responses = deque() + + async def Params(self, request: evm_query_pb.QueryParamsRequest, context=None, metadata=None): + return self.params_responses.pop() + + async def Account(self, request: evm_query_pb.QueryAccountRequest, context=None, metadata=None): + return self.account_responses.pop() + + async def CosmosAccount(self, request: evm_query_pb.QueryCosmosAccountRequest, context=None, metadata=None): + return self.cosmos_account_responses.pop() + + async def ValidatorAccount(self, request: evm_query_pb.QueryValidatorAccountRequest, context=None, metadata=None): + return self.validator_account_responses.pop() + + async def Balance(self, request: evm_query_pb.QueryBalanceRequest, context=None, metadata=None): + return self.balance_responses.pop() + + async def Storage(self, request: evm_query_pb.QueryStorageRequest, context=None, metadata=None): + return self.storage_responses.pop() + + async def Code(self, request: evm_query_pb.QueryCodeRequest, context=None, metadata=None): + return self.code_responses.pop() + + async def BaseFee(self, request: evm_query_pb.QueryBaseFeeRequest, context=None, metadata=None): + return self.base_fee_responses.pop() diff --git a/tests/client/chain/grpc/configurable_exchange_query_servicer.py b/tests/client/chain/grpc/configurable_exchange_v2_query_servicer.py similarity index 80% rename from tests/client/chain/grpc/configurable_exchange_query_servicer.py rename to tests/client/chain/grpc/configurable_exchange_v2_query_servicer.py index 23ded1de..8fb81744 100644 --- a/tests/client/chain/grpc/configurable_exchange_query_servicer.py +++ b/tests/client/chain/grpc/configurable_exchange_v2_query_servicer.py @@ -1,12 +1,12 @@ from collections import deque -from pyinjective.proto.injective.exchange.v1beta1 import ( +from pyinjective.proto.injective.exchange.v2 import ( query_pb2 as exchange_query_pb, query_pb2_grpc as exchange_query_grpc, ) -class ConfigurableExchangeQueryServicer(exchange_query_grpc.QueryServicer): +class ConfigurableExchangeV2QueryServicer(exchange_query_grpc.QueryServicer): def __init__(self): super().__init__() self.exchange_params = deque() @@ -17,8 +17,8 @@ def __init__(self): self.aggregate_volumes_responses = deque() self.aggregate_market_volume_responses = deque() self.aggregate_market_volumes_responses = deque() - self.denom_decimal_responses = deque() - self.denom_decimals_responses = deque() + self.auction_exchange_transfer_denom_decimal_responses = deque() + self.auction_exchange_transfer_denom_decimals_responses = deque() self.spot_markets_responses = deque() self.spot_market_responses = deque() self.full_spot_markets_responses = deque() @@ -41,6 +41,7 @@ def __init__(self): self.derivative_market_address_responses = deque() self.subaccount_trade_nonce_responses = deque() self.positions_responses = deque() + self.positions_in_market_responses = deque() self.subaccount_positions_responses = deque() self.subaccount_position_in_market_responses = deque() self.subaccount_effective_position_in_market_responses = deque() @@ -65,6 +66,16 @@ def __init__(self): self.binary_options_markets_responses = deque() self.trader_derivative_conditional_orders_responses = deque() self.market_atomic_execution_fee_multiplier_responses = deque() + self.active_stake_grant_responses = deque() + self.grant_authorization_responses = deque() + self.grant_authorizations_responses = deque() + self.l3_derivative_orderbook_responses = deque() + self.l3_spot_orderbook_responses = deque() + self.market_balance_responses = deque() + self.market_balances_responses = deque() + self.denom_min_notional_responses = deque() + self.denom_min_notionals_responses = deque() + self.open_interest_responses = deque() async def QueryExchangeParams( self, request: exchange_query_pb.QueryExchangeParamsRequest, context=None, metadata=None @@ -106,11 +117,15 @@ async def AggregateMarketVolumes( ): return self.aggregate_market_volumes_responses.pop() - async def DenomDecimal(self, request: exchange_query_pb.QueryDenomDecimalRequest, context=None, metadata=None): - return self.denom_decimal_responses.pop() + async def AuctionExchangeTransferDenomDecimal( + self, request: exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalRequest, context=None, metadata=None + ): + return self.auction_exchange_transfer_denom_decimal_responses.pop() - async def DenomDecimals(self, request: exchange_query_pb.QueryDenomDecimalsRequest, context=None, metadata=None): - return self.denom_decimals_responses.pop() + async def AuctionExchangeTransferDenomDecimals( + self, request: exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalsRequest, context=None, metadata=None + ): + return self.auction_exchange_transfer_denom_decimals_responses.pop() async def SpotMarkets(self, request: exchange_query_pb.QuerySpotMarketsRequest, context=None, metadata=None): return self.spot_markets_responses.pop() @@ -212,6 +227,11 @@ async def SubaccountTradeNonce( async def Positions(self, request: exchange_query_pb.QueryPositionsRequest, context=None, metadata=None): return self.positions_responses.pop() + async def PositionsInMarket( + self, request: exchange_query_pb.QueryPositionsInMarketRequest, context=None, metadata=None + ): + return self.positions_in_market_responses.pop() + async def SubaccountPositions( self, request: exchange_query_pb.QuerySubaccountPositionsRequest, context=None, metadata=None ): @@ -329,3 +349,47 @@ async def MarketAtomicExecutionFeeMultiplier( self, request: exchange_query_pb.QueryMarketAtomicExecutionFeeMultiplierRequest, context=None, metadata=None ): return self.market_atomic_execution_fee_multiplier_responses.pop() + + async def ActiveStakeGrant( + self, request: exchange_query_pb.QueryActiveStakeGrantRequest, context=None, metadata=None + ): + return self.active_stake_grant_responses.pop() + + async def GrantAuthorization( + self, request: exchange_query_pb.QueryGrantAuthorizationRequest, context=None, metadata=None + ): + return self.grant_authorization_responses.pop() + + async def GrantAuthorizations( + self, request: exchange_query_pb.QueryGrantAuthorizationsRequest, context=None, metadata=None + ): + return self.grant_authorizations_responses.pop() + + async def L3DerivativeOrderBook( + self, request: exchange_query_pb.QueryFullDerivativeOrderbookRequest, context=None, metadata=None + ): + return self.l3_derivative_orderbook_responses.pop() + + async def L3SpotOrderBook( + self, request: exchange_query_pb.QueryFullSpotOrderbookRequest, context=None, metadata=None + ): + return self.l3_spot_orderbook_responses.pop() + + async def MarketBalance(self, request: exchange_query_pb.QueryMarketBalanceRequest, context=None, metadata=None): + return self.market_balance_responses.pop() + + async def MarketBalances(self, request: exchange_query_pb.QueryMarketBalancesRequest, context=None, metadata=None): + return self.market_balances_responses.pop() + + async def DenomMinNotional( + self, request: exchange_query_pb.QueryDenomMinNotionalRequest, context=None, metadata=None + ): + return self.denom_min_notional_responses.pop() + + async def DenomMinNotionals( + self, request: exchange_query_pb.QueryDenomMinNotionalsRequest, context=None, metadata=None + ): + return self.denom_min_notionals_responses.pop() + + async def OpenInterest(self, request: exchange_query_pb.QueryOpenInterestRequest, context=None, metadata=None): + return self.open_interest_responses.pop() diff --git a/tests/client/chain/grpc/configurable_insurance_query_servicer.py b/tests/client/chain/grpc/configurable_insurance_query_servicer.py new file mode 100644 index 00000000..1b70882b --- /dev/null +++ b/tests/client/chain/grpc/configurable_insurance_query_servicer.py @@ -0,0 +1,57 @@ +from collections import deque + +from pyinjective.proto.injective.insurance.v1beta1 import ( + query_pb2 as insurance_query_pb, + query_pb2_grpc as insurance_query_grpc, +) + + +class ConfigurableInsuranceQueryServicer(insurance_query_grpc.QueryServicer): + def __init__(self): + super().__init__() + self.insurance_params = deque() + self.insurance_fund_responses = deque() + self.insurance_funds_responses = deque() + self.estimated_redemptions_responses = deque() + self.pending_redemptions_responses = deque() + self.module_states = deque() + self.failed_redemptions_responses = deque() + self.vouchers_responses = deque() + self.voucher_responses = deque() + + async def InsuranceParams( + self, request: insurance_query_pb.QueryInsuranceParamsRequest, context=None, metadata=None + ): + return self.insurance_params.pop() + + async def InsuranceFund(self, request: insurance_query_pb.QueryInsuranceFundRequest, context=None, metadata=None): + return self.insurance_fund_responses.pop() + + async def InsuranceFunds(self, request: insurance_query_pb.QueryInsuranceFundsRequest, context=None, metadata=None): + return self.insurance_funds_responses.pop() + + async def EstimatedRedemptions( + self, request: insurance_query_pb.QueryEstimatedRedemptionsRequest, context=None, metadata=None + ): + return self.estimated_redemptions_responses.pop() + + async def PendingRedemptions( + self, request: insurance_query_pb.QueryPendingRedemptionsRequest, context=None, metadata=None + ): + return self.pending_redemptions_responses.pop() + + async def InsuranceModuleState( + self, request: insurance_query_pb.QueryModuleStateRequest, context=None, metadata=None + ): + return self.module_states.pop() + + async def FailedRedemptions( + self, request: insurance_query_pb.QueryFailedRedemptionsRequest, context=None, metadata=None + ): + return self.failed_redemptions_responses.pop() + + async def Vouchers(self, request: insurance_query_pb.QueryVouchersRequest, context=None, metadata=None): + return self.vouchers_responses.pop() + + async def Voucher(self, request: insurance_query_pb.QueryVoucherRequest, context=None, metadata=None): + return self.voucher_responses.pop() diff --git a/tests/client/chain/grpc/configurable_permissions_query_servicer.py b/tests/client/chain/grpc/configurable_permissions_query_servicer.py index 54a54274..ba191fb7 100644 --- a/tests/client/chain/grpc/configurable_permissions_query_servicer.py +++ b/tests/client/chain/grpc/configurable_permissions_query_servicer.py @@ -10,32 +10,62 @@ class ConfigurablePermissionsQueryServicer(permissions_query_grpc.QueryServicer) def __init__(self): super().__init__() self.permissions_params = deque() - self.all_namespaces_responses = deque() - self.namespace_by_denom_responses = deque() - self.address_roles_responses = deque() - self.addresses_by_role_responses = deque() - self.vouchers_for_address_responses = deque() + self.namespace_denoms_responses = deque() + self.namespaces_responses = deque() + self.namespace_responses = deque() + self.roles_by_actor_responses = deque() + self.actors_by_role_responses = deque() + self.role_managers_responses = deque() + self.role_manager_responses = deque() + self.policy_statuses_responses = deque() + self.policy_manager_capabilities_responses = deque() + self.vouchers_responses = deque() + self.voucher_responses = deque() + self.module_state_responses = deque() async def Params(self, request: permissions_query_pb.QueryParamsRequest, context=None, metadata=None): return self.permissions_params.pop() - async def AllNamespaces(self, request: permissions_query_pb.QueryAllNamespacesRequest, context=None, metadata=None): - return self.all_namespaces_responses.pop() - - async def NamespaceByDenom( - self, request: permissions_query_pb.QueryNamespaceByDenomRequest, context=None, metadata=None + async def NamespaceDenoms( + self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None ): - return self.namespace_by_denom_responses.pop() + return self.namespace_denoms_responses.pop() + + async def Namespaces(self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None): + return self.namespaces_responses.pop() + + async def Namespace(self, request: permissions_query_pb.QueryNamespaceRequest, context=None, metadata=None): + return self.namespace_responses.pop() + + async def RolesByActor(self, request: permissions_query_pb.QueryRolesByActorRequest, context=None, metadata=None): + return self.roles_by_actor_responses.pop() + + async def ActorsByRole(self, request: permissions_query_pb.QueryActorsByRoleRequest, context=None, metadata=None): + return self.actors_by_role_responses.pop() - async def AddressRoles(self, request: permissions_query_pb.QueryAddressRolesRequest, context=None, metadata=None): - return self.address_roles_responses.pop() + async def RoleManagers(self, request: permissions_query_pb.QueryRoleManagersRequest, context=None, metadata=None): + return self.role_managers_responses.pop() - async def AddressesByRole( - self, request: permissions_query_pb.QueryAddressesByRoleRequest, context=None, metadata=None + async def RoleManager(self, request: permissions_query_pb.QueryRoleManagerRequest, context=None, metadata=None): + return self.role_manager_responses.pop() + + async def PolicyStatuses( + self, request: permissions_query_pb.QueryPolicyStatusesRequest, context=None, metadata=None + ): + return self.policy_statuses_responses.pop() + + async def PolicyManagerCapabilities( + self, request: permissions_query_pb.QueryPolicyManagerCapabilitiesRequest, context=None, metadata=None ): - return self.addresses_by_role_responses.pop() + return self.policy_manager_capabilities_responses.pop() + + async def Vouchers(self, request: permissions_query_pb.QueryVouchersRequest, context=None, metadata=None): + return self.vouchers_responses.pop() + + async def Voucher(self, request: permissions_query_pb.QueryVoucherRequest, context=None, metadata=None): + return self.voucher_responses.pop() - async def VouchersForAddress( - self, request: permissions_query_pb.QueryVouchersForAddressRequest, context=None, metadata=None + async def PermissionsModuleState( + self, request: permissions_query_pb.QueryModuleStateRequest, context=None, metadata=None ): - return self.vouchers_for_address_responses.pop() + return self.module_state_responses.pop() diff --git a/tests/client/chain/grpc/configurable_txfees_query_servicer.py b/tests/client/chain/grpc/configurable_txfees_query_servicer.py new file mode 100644 index 00000000..ef288a72 --- /dev/null +++ b/tests/client/chain/grpc/configurable_txfees_query_servicer.py @@ -0,0 +1,16 @@ +from collections import deque + +from pyinjective.proto.injective.txfees.v1beta1 import query_pb2 as txfees_query_pb, query_pb2_grpc as txfees_query_grpc + + +class ConfigurableTxfeesQueryServicer(txfees_query_grpc.QueryServicer): + def __init__(self): + super().__init__() + self.params_responses = deque() + self.eip_base_fee_responses = deque() + + async def Params(self, request: txfees_query_pb.QueryParamsRequest, context=None, metadata=None): + return self.params_responses.pop() + + async def GetEipBaseFee(self, request: txfees_query_pb.QueryEipBaseFeeRequest, context=None, metadata=None): + return self.eip_base_fee_responses.pop() diff --git a/tests/client/chain/grpc/test_chain_grpc_auction_api.py b/tests/client/chain/grpc/test_chain_grpc_auction_api.py index 9de9c63a..2939c9fa 100644 --- a/tests/client/chain/grpc/test_chain_grpc_auction_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_auction_api.py @@ -9,6 +9,7 @@ genesis_pb2 as genesis_pb, query_pb2 as auction_query_pb, ) +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as vouchers_pb from tests.client.chain.grpc.configurable_auction_query_servicer import ConfigurableAuctionQueryServicer @@ -23,13 +24,25 @@ async def test_fetch_module_params( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="100000", + bidders_whitelist=["inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5"], + ) auction_servicer.auction_params.append(auction_query_pb.QueryAuctionParamsResponse(params=params)) api = self._api_instance(servicer=auction_servicer) module_params = await api.fetch_module_params() - expected_params = {"params": {"auctionPeriod": "604800", "minNextBidIncrementRate": "2500000000000000"}} + expected_params = { + "params": { + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": str(params.inj_basket_max_cap), + "biddersWhitelist": params.bidders_whitelist, + } + } assert expected_params == module_params @@ -38,16 +51,33 @@ async def test_fetch_module_state( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="100000", + bidders_whitelist=["inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5"], + ) + coin = coin_pb.Coin(denom="inj", amount="988987297011197594664") highest_bid = auction_pb.Bid( bidder="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", - amount="\n\003inj\022\0232347518723906280000", + amount=coin, + ) + last_auction_result = auction_pb.LastAuctionResult( + winner="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", + amount=coin, + round=3, + ) + voucher = vouchers_pb.AddressVoucher( + address="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", + voucher=coin, ) state = genesis_pb.GenesisState( params=params, auction_round=50, highest_bid=highest_bid, auction_ending_timestamp=1687504387, + last_auction_result=last_auction_result, + vouchers=[voucher], ) auction_servicer.module_states.append(auction_query_pb.QueryModuleStateResponse(state=state)) @@ -59,13 +89,35 @@ async def test_fetch_module_state( "auctionEndingTimestamp": "1687504387", "auctionRound": "50", "highestBid": { - "amount": "\n\x03inj\x12\x132347518723906280000", + "amount": { + "denom": coin.denom, + "amount": coin.amount, + }, "bidder": "inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", }, "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": str(params.inj_basket_max_cap), + "biddersWhitelist": params.bidders_whitelist, + }, + "lastAuctionResult": { + "winner": last_auction_result.winner, + "amount": { + "denom": coin.denom, + "amount": coin.amount, + }, + "round": str(last_auction_result.round), }, + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], } } @@ -76,11 +128,22 @@ async def test_fetch_module_state_when_no_highest_bid_present( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="100000", + bidders_whitelist=["inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5"], + ) + coin = coin_pb.Coin(denom="inj", amount="988987297011197594664") + voucher = vouchers_pb.AddressVoucher( + address="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", + voucher=coin, + ) state = genesis_pb.GenesisState( params=params, auction_round=50, auction_ending_timestamp=1687504387, + vouchers=[voucher], ) auction_servicer.module_states.append(auction_query_pb.QueryModuleStateResponse(state=state)) @@ -89,12 +152,23 @@ async def test_fetch_module_state_when_no_highest_bid_present( module_state = await api.fetch_module_state() expected_state = { "state": { - "auctionEndingTimestamp": "1687504387", - "auctionRound": "50", + "auctionEndingTimestamp": str(state.auction_ending_timestamp), + "auctionRound": str(state.auction_round), "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": str(params.inj_basket_max_cap), + "biddersWhitelist": params.bidders_whitelist, }, + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], } } @@ -146,6 +220,57 @@ async def test_fetch_current_basket( assert expected_basket == current_basket + @pytest.mark.asyncio + async def test_fetch_vouchers( + self, + auction_servicer, + ): + voucher = vouchers_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + auction_servicer.vouchers_responses.append(auction_query_pb.QueryVouchersResponse(vouchers=[voucher])) + + api = self._api_instance(servicer=auction_servicer) + + all_vouchers = await api.fetch_vouchers(denom="inj") + expected_vouchers = { + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } + + assert all_vouchers == expected_vouchers + + @pytest.mark.asyncio + async def test_fetch_voucher( + self, + auction_servicer, + ): + voucher = coin_pb.Coin(denom="inj", amount="1000000000") + auction_servicer.voucher_responses.append(auction_query_pb.QueryVoucherResponse(voucher=voucher)) + + api = self._api_instance(servicer=auction_servicer) + + fetched_voucher = await api.fetch_voucher( + denom="inj", + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + ) + expected_voucher = { + "voucher": { + "denom": voucher.denom, + "amount": voucher.amount, + }, + } + + assert fetched_voucher == expected_voucher + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) diff --git a/tests/client/chain/grpc/test_chain_grpc_authz_api.py b/tests/client/chain/grpc/test_chain_grpc_authz_api.py index 315f051f..552b593b 100644 --- a/tests/client/chain/grpc/test_chain_grpc_authz_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_authz_api.py @@ -7,6 +7,7 @@ from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.authz.v1beta1 import authz_pb2, query_pb2 as authz_query from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb +from pyinjective.proto.injective.exchange.v2 import authz_pb2 as exchange_authz_pb from tests.client.chain.grpc.configurable_authz_query_servicer import ConfigurableAuthZQueryServicer @@ -21,13 +22,12 @@ async def test_fetch_grants( self, authz_servicer, ): - authorization = any_pb2.Any( - type_url="/injective.exchange.v1beta1.CreateSpotMarketOrderAuthz", - value=( - "\nB0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000\022" - "B0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - ).encode(), + authz_msg = exchange_authz_pb.CreateSpotMarketOrderAuthz( + subaccount_id="0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000", + market_ids=["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"], ) + authorization = any_pb2.Any() + authorization.Pack(authz_msg) grant = authz_pb2.Grant(authorization=authorization) @@ -75,13 +75,12 @@ async def test_fetch_granter_grants( self, authz_servicer, ): - authorization = any_pb2.Any( - type_url="/injective.exchange.v1beta1.CreateSpotMarketOrderAuthz", - value=( - "\nB0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000\022" - "B0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - ).encode(), + authz_msg = exchange_authz_pb.CreateSpotMarketOrderAuthz( + subaccount_id="0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000", + market_ids=["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"], ) + authorization = any_pb2.Any() + authorization.Pack(authz_msg) grant_authorization = authz_pb2.GrantAuthorization( granter="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", @@ -133,13 +132,12 @@ async def test_fetch_grantee_grants( self, authz_servicer, ): - authorization = any_pb2.Any( - type_url="/injective.exchange.v1beta1.CreateSpotMarketOrderAuthz", - value=( - "\nB0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000\022" - "B0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - ).encode(), + authz_msg = exchange_authz_pb.CreateSpotMarketOrderAuthz( + subaccount_id="0xf5099d25e6e7e8c6584b67826127b04c9de3e554000000000000000000000000", + market_ids=["0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe"], ) + authorization = any_pb2.Any() + authorization.Pack(authz_msg) grant_authorization = authz_pb2.GrantAuthorization( granter="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", diff --git a/tests/client/chain/grpc/test_chain_grpc_erc20_api.py b/tests/client/chain/grpc/test_chain_grpc_erc20_api.py new file mode 100644 index 00000000..e1c3ae89 --- /dev/null +++ b/tests/client/chain/grpc/test_chain_grpc_erc20_api.py @@ -0,0 +1,137 @@ +import base64 + +import grpc +import pytest + +from pyinjective.client.chain.grpc.chain_grpc_erc20_api import ChainGrpcERC20Api +from pyinjective.client.model.pagination import PaginationOption +from pyinjective.core.network import DisabledCookieAssistant, Network +from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb +from pyinjective.proto.injective.erc20.v1beta1 import ( + erc20_pb2 as erc20_pb, + params_pb2 as erc20_params_pb, + query_pb2 as erc20_query_pb, +) +from tests.client.chain.grpc.configurable_erc20_query_servicer import ConfigurableERC20QueryServicer + + +@pytest.fixture +def erc20_servicer(): + return ConfigurableERC20QueryServicer() + + +class TestChainGrpcERC20Api: + @pytest.mark.asyncio + async def test_fetch_erc20_params( + self, + erc20_servicer, + ): + params = erc20_params_pb.Params() + + erc20_servicer.erc20_params_responses.append( + erc20_query_pb.QueryParamsResponse( + params=params, + ) + ) + + api = self._api_instance(erc20_servicer) + response = await api.fetch_erc20_params() + + expected_params = {"params": {}} + + assert response == expected_params + + @pytest.mark.asyncio + async def test_fetch_all_token_pairs(self, erc20_servicer): + token_pair = erc20_pb.TokenPair( + bank_denom="denom", + erc20_address="0xd2C6753F6B1783EF0a3857275e16e79D91b539a3", + ) + result_pagination = pagination_pb.PageResponse( + next_key=b"\001\032\264\007Z\224$]\377s8\343\004-\265\267\314?B\341", + total=16036, + ) + + erc20_servicer.all_token_pairs_responses.append( + erc20_query_pb.QueryAllTokenPairsResponse( + token_pairs=[token_pair], + pagination=result_pagination, + ) + ) + + api = self._api_instance(erc20_servicer) + response = await api.fetch_all_token_pairs( + pagination=PaginationOption( + skip=0, + limit=100, + ), + ) + + expected_token_pairs = { + "tokenPairs": [ + { + "bankDenom": token_pair.bank_denom, + "erc20Address": token_pair.erc20_address, + } + ], + "pagination": { + "nextKey": base64.b64encode(result_pagination.next_key).decode(), + "total": str(result_pagination.total), + }, + } + + assert response == expected_token_pairs + + @pytest.mark.asyncio + async def test_fetch_token_pair_by_denom(self, erc20_servicer): + token_pair = erc20_pb.TokenPair( + bank_denom="denom", + erc20_address="0xd2C6753F6B1783EF0a3857275e16e79D91b539a3", + ) + erc20_servicer.token_pair_by_denom_responses.append( + erc20_query_pb.QueryTokenPairByDenomResponse(token_pair=token_pair) + ) + + api = self._api_instance(erc20_servicer) + response = await api.fetch_token_pair_by_denom(bank_denom=token_pair.bank_denom) + + expected_token_pair = { + "tokenPair": { + "bankDenom": token_pair.bank_denom, + "erc20Address": token_pair.erc20_address, + } + } + + assert response == expected_token_pair + + @pytest.mark.asyncio + async def test_fetch_token_pair_by_erc20_address(self, erc20_servicer): + token_pair = erc20_pb.TokenPair( + bank_denom="denom", + erc20_address="0xd2C6753F6B1783EF0a3857275e16e79D91b539a3", + ) + erc20_servicer.token_pair_by_erc20_address_responses.append( + erc20_query_pb.QueryTokenPairByERC20AddressResponse(token_pair=token_pair) + ) + + api = self._api_instance(erc20_servicer) + response = await api.fetch_token_pair_by_erc20_address(erc20_address=token_pair.erc20_address) + + expected_token_pair = { + "tokenPair": { + "bankDenom": token_pair.bank_denom, + "erc20Address": token_pair.erc20_address, + } + } + + assert response == expected_token_pair + + def _api_instance(self, servicer): + network = Network.devnet() + channel = grpc.aio.insecure_channel(network.grpc_endpoint) + cookie_assistant = DisabledCookieAssistant() + + api = ChainGrpcERC20Api(channel=channel, cookie_assistant=cookie_assistant) + api._stub = servicer + + return api diff --git a/tests/client/chain/grpc/test_chain_grpc_evm_api.py b/tests/client/chain/grpc/test_chain_grpc_evm_api.py new file mode 100644 index 00000000..551953ca --- /dev/null +++ b/tests/client/chain/grpc/test_chain_grpc_evm_api.py @@ -0,0 +1,250 @@ +import base64 + +import grpc +import pytest + +from pyinjective.client.chain.grpc.chain_grpc_evm_api import ChainGrpcEVMApi +from pyinjective.core.network import DisabledCookieAssistant, Network +from pyinjective.proto.injective.evm.v1 import ( + chain_config_pb2 as evm_chain_config_pb, + params_pb2 as evm_params_pb, + query_pb2 as evm_query_pb, +) +from tests.client.chain.grpc.configurable_evm_query_servicer import ConfigurableEVMQueryServicer + + +@pytest.fixture +def evm_servicer(): + return ConfigurableEVMQueryServicer() + + +class TestChainGrpcEVMApi: + @pytest.mark.asyncio + async def test_fetch_evm_params( + self, + evm_servicer, + ): + # Create a chain_config with different values for each variable + chain_config = evm_chain_config_pb.ChainConfig( + homestead_block="1000000", + dao_fork_block="1500000", + dao_fork_support=True, + eip150_block="2000000", + eip150_hash="0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0", + eip155_block="2500000", + eip158_block="3000000", + byzantium_block="4000000", + constantinople_block="5000000", + petersburg_block="6000000", + istanbul_block="7000000", + muir_glacier_block="8000000", + berlin_block="9000000", + london_block="10000000", + arrow_glacier_block="11000000", + gray_glacier_block="12000000", + merge_netsplit_block="13000000", + shanghai_time="14000000", + cancun_time="15000000", + prague_time="16000000", + eip155_chain_id="1337", # Common test chain ID + ) + + params = evm_params_pb.Params( + evm_denom="inj", + enable_create=True, + enable_call=False, + extra_eips=[11, 12], + chain_config=chain_config, + allow_unprotected_txs=True, + authorized_deployers=["inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"], + permissioned=False, + ) + + evm_servicer.params_responses.append( + evm_query_pb.QueryParamsResponse( + params=params, + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_params() + + expected_params = { + "params": { + "evmDenom": "inj", + "enableCreate": True, + "enableCall": False, + "extraEips": ["11", "12"], + "chainConfig": { + "homesteadBlock": "1000000", + "daoForkBlock": "1500000", + "daoForkSupport": True, + "eip150Block": "2000000", + "eip150Hash": "0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0", + "eip155Block": "2500000", + "eip158Block": "3000000", + "byzantiumBlock": "4000000", + "constantinopleBlock": "5000000", + "petersburgBlock": "6000000", + "istanbulBlock": "7000000", + "muirGlacierBlock": "8000000", + "berlinBlock": "9000000", + "londonBlock": "10000000", + "arrowGlacierBlock": "11000000", + "grayGlacierBlock": "12000000", + "mergeNetsplitBlock": "13000000", + "shanghaiTime": "14000000", + "cancunTime": "15000000", + "pragueTime": "16000000", + "eip155ChainId": "1337", + }, + "allowUnprotectedTxs": True, + "authorizedDeployers": ["inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"], + "permissioned": False, + } + } + + assert response == expected_params + + @pytest.mark.asyncio + async def test_fetch_account(self, evm_servicer): + evm_servicer.account_responses.append( + evm_query_pb.QueryAccountResponse( + balance="1500.123", + code_hash="0x0000000000000000000000000000000000000000000000000000000000000000", + nonce=1234567890, + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_account(address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30") + + expected_response = { + "balance": "1500.123", + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "1234567890", + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_cosmos_account(self, evm_servicer): + evm_servicer.cosmos_account_responses.append( + evm_query_pb.QueryCosmosAccountResponse( + cosmos_address="inj1234567890abcdefghijklmnopqrstuvwxyz", + sequence=1234567890, + account_number=12344321, + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_cosmos_account(address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30") + + expected_response = { + "cosmosAddress": "inj1234567890abcdefghijklmnopqrstuvwxyz", + "sequence": "1234567890", + "accountNumber": "12344321", + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_validator_account(self, evm_servicer): + evm_servicer.validator_account_responses.append( + evm_query_pb.QueryValidatorAccountResponse( + account_address="inj1234567890abcdefghijklmnopqrstuvwxyz", + sequence=1234567890, + account_number=12344321, + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_validator_account(cons_address="injvalcons1h5u937etuat5hnr2s34yaaalfpkkscl5ndadqm") + + expected_response = { + "accountAddress": "inj1234567890abcdefghijklmnopqrstuvwxyz", + "sequence": "1234567890", + "accountNumber": "12344321", + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_balance(self, evm_servicer): + evm_servicer.balance_responses.append( + evm_query_pb.QueryBalanceResponse( + balance="1500.123", + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_balance(address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30") + + expected_response = { + "balance": "1500.123", + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_storage(self, evm_servicer): + evm_servicer.storage_responses.append( + evm_query_pb.QueryStorageResponse( + value="0x0000000000000000000000000000000000000000000000000000000000000000", + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_storage( + address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", + key="0x0000000000000000000000000000000000000000000000000000000000000000", + ) + + expected_response = { + "value": "0x0000000000000000000000000000000000000000000000000000000000000000", + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_code(self, evm_servicer): + code_response = evm_query_pb.QueryCodeResponse( + code=b"\305\322F\001\206\367#<\222~}\262\334\307\003\300\345\000\266S\312\202';{\372\330\004]\205\244p", + ) + evm_servicer.code_responses.append(code_response) + + api = self._api_instance(evm_servicer) + response = await api.fetch_code(address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30") + + expected_response = { + "code": base64.b64encode(code_response.code).decode(), + } + + assert response == expected_response + + @pytest.mark.asyncio + async def test_fetch_base_fee(self, evm_servicer): + evm_servicer.base_fee_responses.append( + evm_query_pb.QueryBaseFeeResponse( + base_fee="160000000", + ) + ) + + api = self._api_instance(evm_servicer) + response = await api.fetch_base_fee() + + expected_response = { + "baseFee": "160000000", + } + + assert response == expected_response + + def _api_instance(self, servicer): + network = Network.devnet() + channel = grpc.aio.insecure_channel(network.grpc_endpoint) + cookie_assistant = DisabledCookieAssistant() + + api = ChainGrpcEVMApi(channel=channel, cookie_assistant=cookie_assistant) + api._stub = servicer + + return api diff --git a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py b/tests/client/chain/grpc/test_chain_grpc_exchange_v2_api.py similarity index 80% rename from tests/client/chain/grpc/test_chain_grpc_exchange_api.py rename to tests/client/chain/grpc/test_chain_grpc_exchange_v2_api.py index 7ec81981..3ccedde6 100644 --- a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_exchange_v2_api.py @@ -3,25 +3,27 @@ import grpc import pytest -from pyinjective.client.chain.grpc.chain_grpc_exchange_api import ChainGrpcExchangeApi +from pyinjective.client.chain.grpc.chain_grpc_exchange_v2_api import ChainGrpcExchangeV2Api from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb -from pyinjective.proto.injective.exchange.v1beta1 import ( +from pyinjective.proto.injective.exchange.v2 import ( exchange_pb2 as exchange_pb, - genesis_pb2 as genesis_pb, + market_pb2 as market_pb, + order_pb2 as order_pb, + orderbook_pb2 as orderbook_pb, query_pb2 as exchange_query_pb, ) from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as oracle_pb -from tests.client.chain.grpc.configurable_exchange_query_servicer import ConfigurableExchangeQueryServicer +from tests.client.chain.grpc.configurable_exchange_v2_query_servicer import ConfigurableExchangeV2QueryServicer @pytest.fixture def exchange_servicer(): - return ConfigurableExchangeQueryServicer() + return ConfigurableExchangeV2QueryServicer() -class TestChainGrpcBankApi: +class TestChainGrpcExchangeV2Api: @pytest.mark.asyncio async def test_fetch_exchange_params( self, @@ -31,6 +33,7 @@ async def test_fetch_exchange_params( derivative_market_instant_listing_fee = coin_pb.Coin(denom="inj", amount="2000000000000000000000") binary_options_market_instant_listing_fee = coin_pb.Coin(denom="inj", amount="30000000000000000000") admin = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" + white_knight_liquidators = ["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr2"] params = exchange_pb.Params( spot_market_instant_listing_fee=spot_market_instant_listing_fee, derivative_market_instant_listing_fee=derivative_market_instant_listing_fee, @@ -60,6 +63,15 @@ async def test_fetch_exchange_params( margin_decrease_price_timestamp_threshold_seconds=10, exchange_admins=[admin], inj_auction_max_cap="1000000000000000000000", + fixed_gas_enabled=False, + emit_legacy_version_events=True, + default_reduce_margin_ratio="3", + post_only_mode_blocks_amount=2000, + min_post_only_mode_downtime_duration="DURATION_10M", + post_only_mode_blocks_amount_after_downtime=3000, + deprecated_enforced_restrictions_contracts=[], + white_knight_liquidators=white_knight_liquidators, + white_knight_liquidator_reward_share_rate="0.050000000000000000", ) exchange_servicer.exchange_params.append(exchange_query_pb.QueryExchangeParamsResponse(params=params)) @@ -95,7 +107,7 @@ async def test_fetch_exchange_params( "amount": binary_options_market_instant_listing_fee.amount, "denom": binary_options_market_instant_listing_fee.denom, }, - "atomicMarketOrderAccessLevel": exchange_pb.AtomicMarketOrderAccessLevel.Name( + "atomicMarketOrderAccessLevel": order_pb.AtomicMarketOrderAccessLevel.Name( params.atomic_market_order_access_level ), "spotAtomicMarketOrderFeeMultiplier": params.spot_atomic_market_order_fee_multiplier, @@ -109,6 +121,15 @@ async def test_fetch_exchange_params( ), "exchangeAdmins": [admin], "injAuctionMaxCap": params.inj_auction_max_cap, + "fixedGasEnabled": params.fixed_gas_enabled, + "emitLegacyVersionEvents": params.emit_legacy_version_events, + "defaultReduceMarginRatio": params.default_reduce_margin_ratio, + "postOnlyModeBlocksAmount": str(params.post_only_mode_blocks_amount), + "minPostOnlyModeDowntimeDuration": params.min_post_only_mode_downtime_duration, + "postOnlyModeBlocksAmountAfterDowntime": str(params.post_only_mode_blocks_amount_after_downtime), + "deprecatedEnforcedRestrictionsContracts": params.deprecated_enforced_restrictions_contracts, + "whiteKnightLiquidators": params.white_knight_liquidators, + "whiteKnightLiquidatorRewardShareRate": params.white_knight_liquidator_reward_share_rate, } } @@ -183,7 +204,7 @@ async def test_fetch_exchange_balances( available_balance="1000000000000000000", total_balance="2000000000000000000", ) - balance = genesis_pb.Balance( + balance = exchange_pb.Balance( subaccount_id="0x5303d92e49a619bb29de8fb6f59c0e7589213cc8000000000000000000000001", denom="inj", deposits=deposit, @@ -215,11 +236,11 @@ async def test_fetch_aggregate_volume( self, exchange_servicer, ): - volume = exchange_pb.VolumeRecord( + volume = market_pb.VolumeRecord( maker_volume="1000000000000000000", taker_volume="2000000000000000000", ) - market_volume = exchange_pb.MarketVolume( + market_volume = market_pb.MarketVolume( market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", volume=volume, ) @@ -251,11 +272,11 @@ async def test_fetch_aggregate_volumes( self, exchange_servicer, ): - acc_volume = exchange_pb.VolumeRecord( + acc_volume = market_pb.VolumeRecord( maker_volume="1000000000000000000", taker_volume="2000000000000000000", ) - account_market_volume = exchange_pb.MarketVolume( + account_market_volume = market_pb.MarketVolume( market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", volume=acc_volume, ) @@ -263,11 +284,11 @@ async def test_fetch_aggregate_volumes( account="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", market_volumes=[account_market_volume], ) - volume = exchange_pb.VolumeRecord( + volume = market_pb.VolumeRecord( maker_volume="3000000000000000000", taker_volume="4000000000000000000", ) - market_volume = exchange_pb.MarketVolume( + market_volume = market_pb.MarketVolume( market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", volume=volume, ) @@ -317,7 +338,7 @@ async def test_fetch_aggregate_market_volume( self, exchange_servicer, ): - volume = exchange_pb.VolumeRecord( + volume = market_pb.VolumeRecord( maker_volume="1000000000000000000", taker_volume="2000000000000000000", ) @@ -346,11 +367,11 @@ async def test_fetch_aggregate_market_volumes( self, exchange_servicer, ): - volume = exchange_pb.VolumeRecord( + volume = market_pb.VolumeRecord( maker_volume="3000000000000000000", taker_volume="4000000000000000000", ) - market_volume = exchange_pb.MarketVolume( + market_volume = market_pb.MarketVolume( market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", volume=volume, ) @@ -380,26 +401,26 @@ async def test_fetch_aggregate_market_volumes( assert volume_response == expected_volume @pytest.mark.asyncio - async def test_fetch_denom_decimal( + async def test_fetch_auction_exchange_transfer_denom_decimal( self, exchange_servicer, ): decimal = 18 - exchange_servicer.denom_decimal_responses.append( - exchange_query_pb.QueryDenomDecimalResponse( + exchange_servicer.auction_exchange_transfer_denom_decimal_responses.append( + exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalResponse( decimal=decimal, ) ) api = self._api_instance(servicer=exchange_servicer) - denom_decimal = await api.fetch_denom_decimal(denom="inj") + denom_decimal = await api.fetch_auction_exchange_transfer_denom_decimal(denom="inj") expected_decimal = {"decimal": str(decimal)} assert denom_decimal == expected_decimal @pytest.mark.asyncio - async def test_fetch_denom_decimals( + async def test_fetch_auction_exchange_transfer_denom_decimals( self, exchange_servicer, ): @@ -407,15 +428,15 @@ async def test_fetch_denom_decimals( denom="inj", decimals=18, ) - exchange_servicer.denom_decimals_responses.append( - exchange_query_pb.QueryDenomDecimalsResponse( + exchange_servicer.auction_exchange_transfer_denom_decimals_responses.append( + exchange_query_pb.QueryAuctionExchangeTransferDenomDecimalsResponse( denom_decimals=[denom_decimal], ) ) api = self._api_instance(servicer=exchange_servicer) - denom_decimals = await api.fetch_denom_decimals(denoms=[denom_decimal.denom]) + denom_decimals = await api.fetch_auction_exchange_transfer_denom_decimals(denoms=[denom_decimal.denom]) expected_decimals = { "denomDecimals": [ { @@ -432,7 +453,7 @@ async def test_fetch_spot_markets( self, exchange_servicer, ): - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="INJ/USDT", base_denom="inj", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", @@ -446,6 +467,9 @@ async def test_fetch_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, + has_disabled_minimal_protocol_fee=False, ) exchange_servicer.spot_markets_responses.append( exchange_query_pb.QuerySpotMarketsResponse( @@ -455,7 +479,7 @@ async def test_fetch_spot_markets( api = self._api_instance(servicer=exchange_servicer) - status_string = exchange_pb.MarketStatus.Name(market.status) + status_string = market_pb.MarketStatus.Name(market.status) markets = await api.fetch_spot_markets( status=status_string, market_ids=[market.market_id], @@ -476,6 +500,9 @@ async def test_fetch_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, } ] } @@ -487,7 +514,7 @@ async def test_fetch_spot_market( self, exchange_servicer, ): - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="INJ/USDT", base_denom="inj", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", @@ -501,6 +528,9 @@ async def test_fetch_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, + has_disabled_minimal_protocol_fee=False, ) exchange_servicer.spot_market_responses.append( exchange_query_pb.QuerySpotMarketResponse( @@ -522,12 +552,15 @@ async def test_fetch_spot_market( "takerFeeRate": market.taker_fee_rate, "relayerFeeShareRate": market.relayer_fee_share_rate, "marketId": market.market_id, - "status": exchange_pb.MarketStatus.Name(market.status), + "status": market_pb.MarketStatus.Name(market.status), "minPriceTickSize": market.min_price_tick_size, "minQuantityTickSize": market.min_quantity_tick_size, "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, } } @@ -538,7 +571,7 @@ async def test_fetch_full_spot_markets( self, exchange_servicer, ): - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="INJ/USDT", base_denom="inj", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", @@ -552,6 +585,9 @@ async def test_fetch_full_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, + has_disabled_minimal_protocol_fee=False, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -570,7 +606,7 @@ async def test_fetch_full_spot_markets( api = self._api_instance(servicer=exchange_servicer) - status_string = exchange_pb.MarketStatus.Name(market.status) + status_string = market_pb.MarketStatus.Name(market.status) markets = await api.fetch_full_spot_markets( status=status_string, market_ids=[market.market_id], @@ -593,6 +629,9 @@ async def test_fetch_full_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -610,7 +649,7 @@ async def test_fetch_full_spot_market( self, exchange_servicer, ): - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="INJ/USDT", base_denom="inj", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", @@ -624,6 +663,9 @@ async def test_fetch_full_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, + has_disabled_minimal_protocol_fee=False, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -642,7 +684,7 @@ async def test_fetch_full_spot_market( api = self._api_instance(servicer=exchange_servicer) - status_string = exchange_pb.MarketStatus.Name(market.status) + status_string = market_pb.MarketStatus.Name(market.status) market_response = await api.fetch_full_spot_market( market_id=market.market_id, with_mid_price_and_tob=True, @@ -663,6 +705,9 @@ async def test_fetch_full_spot_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -691,6 +736,7 @@ async def test_fetch_spot_orderbook( exchange_query_pb.QuerySpotOrderbookResponse( buys_price_level=[buy_price_level], sells_price_level=[sell_price_level], + seq=100, ) ) @@ -716,6 +762,7 @@ async def test_fetch_spot_orderbook( "q": sell_price_level.q, } ], + "seq": "100", } assert orderbook == expected_orderbook @@ -1013,6 +1060,7 @@ async def test_fetch_derivative_orderbook( exchange_query_pb.QueryDerivativeOrderbookResponse( buys_price_level=[buy_price_level], sells_price_level=[sell_price_level], + seq=100, ) ) @@ -1036,6 +1084,7 @@ async def test_fetch_derivative_orderbook( "q": sell_price_level.q, } ], + "seq": "100", } assert orderbook == expected_orderbook @@ -1214,7 +1263,9 @@ async def test_fetch_derivative_markets( self, exchange_servicer, ): - market = exchange_pb.DerivativeMarket( + open_notional_cap = market_pb.OpenNotionalCap(uncapped=market_pb.OpenNotionalCapUncapped()) + + market = market_pb.DerivativeMarket( ticker="20250608/USDT", oracle_base="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", oracle_quote="0x1fc18861232290221461220bd4e2acd1dcdfbc89c84092c93c18bdc7756c1588", @@ -1224,6 +1275,7 @@ async def test_fetch_derivative_markets( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", initial_margin_ratio="50000000000000000", maintenance_margin_ratio="20000000000000000", + reduce_margin_ratio="30000000000000000", maker_fee_rate="-0.0001", taker_fee_rate="0.001", relayer_fee_share_rate="400000000000000000", @@ -1234,15 +1286,19 @@ async def test_fetch_derivative_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, + open_notional_cap=open_notional_cap, + has_disabled_minimal_protocol_fee=False, + cross_margin_eligible=False, ) - market_info = exchange_pb.PerpetualMarketInfo( + market_info = market_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", hourly_funding_rate_cap="625000000000000", hourly_interest_rate="4166660000000", next_funding_timestamp=1708099200, funding_interval=3600, ) - funding_info = exchange_pb.PerpetualMarketFunding( + funding_info = market_pb.PerpetualMarketFunding( cumulative_funding="-107853477278881692857461", cumulative_price="0", last_timestamp=1708099200, @@ -1270,7 +1326,7 @@ async def test_fetch_derivative_markets( api = self._api_instance(servicer=exchange_servicer) - status_string = exchange_pb.MarketStatus.Name(market.status) + status_string = market_pb.MarketStatus.Name(market.status) markets = await api.fetch_derivative_markets( status=status_string, market_ids=[market.market_id], @@ -1288,6 +1344,7 @@ async def test_fetch_derivative_markets( "marketId": market.market_id, "initialMarginRatio": market.initial_margin_ratio, "maintenanceMarginRatio": market.maintenance_margin_ratio, + "reduceMarginRatio": market.reduce_margin_ratio, "makerFeeRate": market.maker_fee_rate, "takerFeeRate": market.taker_fee_rate, "relayerFeeShareRate": market.relayer_fee_share_rate, @@ -1298,6 +1355,12 @@ async def test_fetch_derivative_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, + "openNotionalCap": { + "uncapped": {}, + }, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, + "crossMarginEligible": market.cross_margin_eligible, }, "perpetualInfo": { "marketInfo": { @@ -1330,7 +1393,7 @@ async def test_fetch_derivative_market( self, exchange_servicer, ): - market = exchange_pb.DerivativeMarket( + market = market_pb.DerivativeMarket( ticker="INJ/USDT PERP", oracle_base="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", oracle_quote="0x1fc18861232290221461220bd4e2acd1dcdfbc89c84092c93c18bdc7756c1588", @@ -1340,6 +1403,7 @@ async def test_fetch_derivative_market( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", initial_margin_ratio="50000000000000000", maintenance_margin_ratio="20000000000000000", + reduce_margin_ratio="30000000000000000", maker_fee_rate="-0.0001", taker_fee_rate="0.001", relayer_fee_share_rate="400000000000000000", @@ -1350,15 +1414,18 @@ async def test_fetch_derivative_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, + has_disabled_minimal_protocol_fee=False, + cross_margin_eligible=False, ) - market_info = exchange_pb.PerpetualMarketInfo( + market_info = market_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", hourly_funding_rate_cap="625000000000000", hourly_interest_rate="4166660000000", next_funding_timestamp=1708099200, funding_interval=3600, ) - funding_info = exchange_pb.PerpetualMarketFunding( + funding_info = market_pb.PerpetualMarketFunding( cumulative_funding="-107853477278881692857461", cumulative_price="0", last_timestamp=1708099200, @@ -1386,7 +1453,7 @@ async def test_fetch_derivative_market( api = self._api_instance(servicer=exchange_servicer) - status_string = exchange_pb.MarketStatus.Name(market.status) + status_string = market_pb.MarketStatus.Name(market.status) market_response = await api.fetch_derivative_market( market_id=market.market_id, ) @@ -1402,6 +1469,7 @@ async def test_fetch_derivative_market( "marketId": market.market_id, "initialMarginRatio": market.initial_margin_ratio, "maintenanceMarginRatio": market.maintenance_margin_ratio, + "reduceMarginRatio": market.reduce_margin_ratio, "makerFeeRate": market.maker_fee_rate, "takerFeeRate": market.taker_fee_rate, "relayerFeeShareRate": market.relayer_fee_share_rate, @@ -1412,6 +1480,9 @@ async def test_fetch_derivative_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, + "crossMarginEligible": market.cross_margin_eligible, }, "perpetualInfo": { "marketInfo": { @@ -1492,7 +1563,7 @@ async def test_fetch_positions( margin="2000000000000000000000000000000000", cumulative_funding_entry="4000000", ) - derivative_position = genesis_pb.DerivativePosition( + derivative_position = exchange_pb.DerivativePosition( subaccount_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20000000000000000000000000", market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", position=position, @@ -1522,6 +1593,50 @@ async def test_fetch_positions( assert positions == expected_positions + @pytest.mark.asyncio + async def test_fetch_positions_in_market( + self, + exchange_servicer, + ): + position = exchange_pb.Position( + isLong=True, + quantity="1000000000000000", + entry_price="2000000000000000000", + margin="2000000000000000000000000000000000", + cumulative_funding_entry="4000000", + ) + derivative_position = exchange_pb.DerivativePosition( + subaccount_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20000000000000000000000000", + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + position=position, + ) + exchange_servicer.positions_in_market_responses.append( + exchange_query_pb.QueryPositionsInMarketResponse(state=[derivative_position]) + ) + + api = self._api_instance(servicer=exchange_servicer) + + positions = await api.fetch_positions_in_market( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ) + expected_positions = { + "state": [ + { + "subaccountId": derivative_position.subaccount_id, + "marketId": derivative_position.market_id, + "position": { + "isLong": position.isLong, + "quantity": position.quantity, + "entryPrice": position.entry_price, + "margin": position.margin, + "cumulativeFundingEntry": position.cumulative_funding_entry, + }, + }, + ], + } + + assert positions == expected_positions + @pytest.mark.asyncio async def test_fetch_subaccount_positions( self, @@ -1534,7 +1649,7 @@ async def test_fetch_subaccount_positions( margin="2000000000000000000000000000000000", cumulative_funding_entry="4000000", ) - derivative_position = genesis_pb.DerivativePosition( + derivative_position = exchange_pb.DerivativePosition( subaccount_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20000000000000000000000000", market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", position=position, @@ -1579,7 +1694,10 @@ async def test_fetch_subaccount_position_in_market( cumulative_funding_entry="4000000", ) exchange_servicer.subaccount_position_in_market_responses.append( - exchange_query_pb.QuerySubaccountPositionInMarketResponse(state=position) + exchange_query_pb.QuerySubaccountPositionInMarketResponse( + state=position, + risk_mode=exchange_pb.RiskMode.RISK_MODE_ISOLATED, + ) ) api = self._api_instance(servicer=exchange_servicer) @@ -1596,6 +1714,7 @@ async def test_fetch_subaccount_position_in_market( "margin": position.margin, "cumulativeFundingEntry": position.cumulative_funding_entry, }, + "riskMode": exchange_pb.RiskMode.Name(exchange_pb.RiskMode.RISK_MODE_ISOLATED), } assert position_response == expected_position @@ -1615,7 +1734,10 @@ async def test_fetch_subaccount_effective_position_in_market( effective_margin="2000000000000000000000000000000000", ) exchange_servicer.subaccount_effective_position_in_market_responses.append( - exchange_query_pb.QuerySubaccountEffectivePositionInMarketResponse(state=effective_position) + exchange_query_pb.QuerySubaccountEffectivePositionInMarketResponse( + state=effective_position, + risk_mode=exchange_pb.RiskMode.RISK_MODE_ISOLATED, + ) ) api = self._api_instance(servicer=exchange_servicer) @@ -1631,6 +1753,7 @@ async def test_fetch_subaccount_effective_position_in_market( "entryPrice": effective_position.entry_price, "effectiveMargin": effective_position.effective_margin, }, + "riskMode": exchange_pb.RiskMode.Name(exchange_pb.RiskMode.RISK_MODE_ISOLATED), } assert position_response == expected_position @@ -1640,7 +1763,7 @@ async def test_fetch_perpetual_market_info( self, exchange_servicer, ): - perpetual_market_info = exchange_pb.PerpetualMarketInfo( + perpetual_market_info = market_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", hourly_funding_rate_cap="625000000000000", hourly_interest_rate="4166660000000", @@ -1671,12 +1794,14 @@ async def test_fetch_expiry_futures_market_info( self, exchange_servicer, ): - expiry_futures_market_info = exchange_pb.ExpiryFuturesMarketInfo( + expiry_futures_market_info = market_pb.ExpiryFuturesMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", expiration_timestamp=1708099200, twap_start_timestamp=1705566200, expiration_twap_start_price_cumulative="1000000000000000000", settlement_price="2000000000000000000", + expiration_twap_start_base_cumulative_price="1500000000000000000", + expiration_twap_start_quote_cumulative_price="2000000000000000000", ) exchange_servicer.expiry_futures_market_info_responses.append( exchange_query_pb.QueryExpiryFuturesMarketInfoResponse(info=expiry_futures_market_info) @@ -1692,6 +1817,12 @@ async def test_fetch_expiry_futures_market_info( "twapStartTimestamp": str(expiry_futures_market_info.twap_start_timestamp), "expirationTwapStartPriceCumulative": expiry_futures_market_info.expiration_twap_start_price_cumulative, "settlementPrice": expiry_futures_market_info.settlement_price, + "expirationTwapStartBaseCumulativePrice": ( + expiry_futures_market_info.expiration_twap_start_base_cumulative_price + ), + "expirationTwapStartQuoteCumulativePrice": ( + expiry_futures_market_info.expiration_twap_start_quote_cumulative_price + ), } } @@ -1702,7 +1833,7 @@ async def test_fetch_perpetual_market_funding( self, exchange_servicer, ): - perpetual_market_funding = exchange_pb.PerpetualMarketFunding( + perpetual_market_funding = market_pb.PerpetualMarketFunding( cumulative_funding="-107853477278881692857461", cumulative_price="0", last_timestamp=1708099200, @@ -1731,7 +1862,7 @@ async def test_fetch_subaccount_order_metadata( self, exchange_servicer, ): - metadata = exchange_pb.SubaccountOrderbookMetadata( + metadata = orderbook_pb.SubaccountOrderbookMetadata( vanilla_limit_order_count=1, reduce_only_limit_order_count=2, aggregate_reduce_only_quantity="1000000000000000", @@ -2303,7 +2434,9 @@ async def test_fetch_binary_options_markets( self, exchange_servicer, ): - market = exchange_pb.BinaryOptionsMarket( + open_notional_cap = market_pb.OpenNotionalCap(uncapped=market_pb.OpenNotionalCapUncapped()) + + market = market_pb.BinaryOptionsMarket( ticker="20250608/USDT", oracle_symbol="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", oracle_provider="Pyth", @@ -2323,6 +2456,9 @@ async def test_fetch_binary_options_markets( settlement_price="2000000000000000000", min_notional="5000000000000000000", admin_permissions=1, + quote_decimals=6, + open_notional_cap=open_notional_cap, + has_disabled_minimal_protocol_fee=False, ) response = exchange_query_pb.QueryBinaryMarketsResponse( markets=[market], @@ -2348,12 +2484,17 @@ async def test_fetch_binary_options_markets( "makerFeeRate": market.maker_fee_rate, "takerFeeRate": market.taker_fee_rate, "relayerFeeShareRate": market.relayer_fee_share_rate, - "status": exchange_pb.MarketStatus.Name(market.status), + "status": market_pb.MarketStatus.Name(market.status), "minPriceTickSize": market.min_price_tick_size, "minQuantityTickSize": market.min_quantity_tick_size, "settlementPrice": market.settlement_price, "minNotional": market.min_notional, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, + "openNotionalCap": { + "uncapped": {}, + }, + "hasDisabledMinimalProtocolFee": market.has_disabled_minimal_protocol_fee, }, ] } @@ -2422,12 +2563,345 @@ async def test_fetch_market_atomic_execution_fee_multiplier( assert multiplier == expected_multiplier + @pytest.mark.asyncio + async def test_fetch_active_stake_grant( + self, + exchange_servicer, + ): + grant = exchange_pb.ActiveGrant( + granter="inj1zlh5sqevkfphtwnu9cul8p89vseme2eqt0snn9", + amount="1000000000000000", + ) + effective_grant = exchange_pb.EffectiveGrant( + granter="inj1zlh5sqevkfphtwnu9cul8p89vseme2eqt0snn9", + net_granted_stake="2000000000000000", + is_valid=True, + ) + response = exchange_query_pb.QueryActiveStakeGrantResponse( + grant=grant, + effective_grant=effective_grant, + ) + exchange_servicer.active_stake_grant_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + active_grant = await api.fetch_active_stake_grant( + grantee="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + ) + expected_grant = { + "grant": { + "granter": grant.granter, + "amount": grant.amount, + }, + "effectiveGrant": { + "granter": effective_grant.granter, + "netGrantedStake": effective_grant.net_granted_stake, + "isValid": effective_grant.is_valid, + }, + } + + assert active_grant == expected_grant + + @pytest.mark.asyncio + async def test_fetch_grant_authorization( + self, + exchange_servicer, + ): + response = exchange_query_pb.QueryGrantAuthorizationResponse( + amount="1000000000000000", + ) + exchange_servicer.grant_authorization_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + active_grant = await api.fetch_grant_authorization( + granter="inj1zlh5sqevkfphtwnu9cul8p89vseme2eqt0snn9", + grantee="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + ) + expected_grant = { + "amount": response.amount, + } + + assert active_grant == expected_grant + + @pytest.mark.asyncio + async def test_fetch_grant_authorizations( + self, + exchange_servicer, + ): + grant = exchange_pb.GrantAuthorization( + grantee="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + amount="1000000000000000", + ) + response = exchange_query_pb.QueryGrantAuthorizationsResponse( + total_grant_amount="1000000000000000", + grants=[grant], + ) + exchange_servicer.grant_authorizations_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + active_grant = await api.fetch_grant_authorizations( + granter="inj1zlh5sqevkfphtwnu9cul8p89vseme2eqt0snn9", + ) + expected_grant = { + "totalGrantAmount": response.total_grant_amount, + "grants": [ + { + "grantee": grant.grantee, + "amount": grant.amount, + }, + ], + } + + assert active_grant == expected_grant + + @pytest.mark.asyncio + async def test_fetch_l3_derivative_orderbook( + self, + exchange_servicer, + ): + bid = exchange_query_pb.TrimmedLimitOrder( + price="2000000000000000000", + quantity="1000000000000000", + order_hash="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + subaccount_id="0x5303d92e49a619bb29de8fb6f59c0e7589213cc8000000000000000000000001", + ) + ask = exchange_query_pb.TrimmedLimitOrder( + price="5000000000000000000", + quantity="3000000000000000", + order_hash="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abf7", + subaccount_id="0x5303d92e49a619bb29de8fb6f59c0e7589213cc8000000000000000000000002", + ) + response = exchange_query_pb.QueryFullDerivativeOrderbookResponse( + Bids=[bid], + Asks=[ask], + seq=100, + ) + exchange_servicer.l3_derivative_orderbook_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + orderbook = await api.fetch_l3_derivative_orderbook( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ) + expected_orderbook = { + "Bids": [ + { + "price": bid.price, + "quantity": bid.quantity, + "orderHash": bid.order_hash, + "subaccountId": bid.subaccount_id, + } + ], + "Asks": [ + { + "price": ask.price, + "quantity": ask.quantity, + "orderHash": ask.order_hash, + "subaccountId": ask.subaccount_id, + } + ], + "seq": "100", + } + + assert orderbook == expected_orderbook + + @pytest.mark.asyncio + async def test_fetch_l3_spot_orderbook( + self, + exchange_servicer, + ): + bid = exchange_query_pb.TrimmedLimitOrder( + price="2000000000000000000", + quantity="1000000000000000", + order_hash="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + subaccount_id="0x5303d92e49a619bb29de8fb6f59c0e7589213cc8000000000000000000000001", + ) + ask = exchange_query_pb.TrimmedLimitOrder( + price="5000000000000000000", + quantity="3000000000000000", + order_hash="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abf7", + subaccount_id="0x5303d92e49a619bb29de8fb6f59c0e7589213cc8000000000000000000000002", + ) + response = exchange_query_pb.QueryFullSpotOrderbookResponse( + Bids=[bid], + Asks=[ask], + seq=100, + ) + exchange_servicer.l3_spot_orderbook_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + orderbook = await api.fetch_l3_spot_orderbook( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ) + expected_orderbook = { + "Bids": [ + { + "price": bid.price, + "quantity": bid.quantity, + "orderHash": bid.order_hash, + "subaccountId": bid.subaccount_id, + } + ], + "Asks": [ + { + "price": ask.price, + "quantity": ask.quantity, + "orderHash": ask.order_hash, + "subaccountId": ask.subaccount_id, + } + ], + "seq": "100", + } + + assert orderbook == expected_orderbook + + @pytest.mark.asyncio + async def test_fetch_market_balance( + self, + exchange_servicer, + ): + market_balance = exchange_query_pb.MarketBalance( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + balance="1000000000000000000", + ) + response = exchange_query_pb.QueryMarketBalanceResponse( + balance=market_balance, + ) + exchange_servicer.market_balance_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + market_balance_response = await api.fetch_market_balance( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + ) + expected_market_balance = { + "balance": { + "marketId": market_balance.market_id, + "balance": market_balance.balance, + } + } + + assert market_balance_response == expected_market_balance + + @pytest.mark.asyncio + async def test_fetch_market_balances( + self, + exchange_servicer, + ): + balance1 = exchange_query_pb.MarketBalance( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + balance="1000000000000000000", + ) + balance2 = exchange_query_pb.MarketBalance( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + balance="2000000000000000000", + ) + response = exchange_query_pb.QueryMarketBalancesResponse(balances=[balance1, balance2]) + exchange_servicer.market_balances_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + market_balances_response = await api.fetch_market_balances() + expected_market_balances = { + "balances": [ + { + "marketId": balance1.market_id, + "balance": balance1.balance, + }, + { + "marketId": balance2.market_id, + "balance": balance2.balance, + }, + ] + } + + assert market_balances_response == expected_market_balances + + @pytest.mark.asyncio + async def test_fetch_denom_min_notional( + self, + exchange_servicer, + ): + amount = "1" # Decimal as a string + response = exchange_query_pb.QueryDenomMinNotionalResponse( + amount=amount, + ) + exchange_servicer.denom_min_notional_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + denom_min_notional_response = await api.fetch_denom_min_notional( + denom="peggy0xf9152067989BDc8783fF586624124C05A529A5D1" + ) + expected_denom_min_notional = {"amount": amount} + + assert denom_min_notional_response == expected_denom_min_notional + + @pytest.mark.asyncio + async def test_fetch_denom_min_notionals( + self, + exchange_servicer, + ): + denom_min_notional = exchange_pb.DenomMinNotional( + denom="inj", + min_notional="5000000000000000000", + ) + response = exchange_query_pb.QueryDenomMinNotionalsResponse( + denom_min_notionals=[denom_min_notional], + ) + exchange_servicer.denom_min_notionals_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + denom_min_notionals_response = await api.fetch_denom_min_notionals() + expected_denom_min_notionals = { + "denomMinNotionals": [ + { + "denom": denom_min_notional.denom, + "minNotional": denom_min_notional.min_notional, + } + ] + } + + assert denom_min_notionals_response == expected_denom_min_notionals + + @pytest.mark.asyncio + async def test_fetch_open_interest( + self, + exchange_servicer, + ): + amount = exchange_query_pb.OpenInterest( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + balance="1000000000000000000", + ) + response = exchange_query_pb.QueryOpenInterestResponse( + amount=amount, + ) + exchange_servicer.open_interest_responses.append(response) + + api = self._api_instance(servicer=exchange_servicer) + + open_interest_response = await api.fetch_open_interest( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + ) + expected_open_interest = { + "amount": { + "marketId": amount.market_id, + "balance": amount.balance, + }, + } + + assert open_interest_response == expected_open_interest + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) cookie_assistant = DisabledCookieAssistant() - api = ChainGrpcExchangeApi(channel=channel, cookie_assistant=cookie_assistant) + api = ChainGrpcExchangeV2Api(channel=channel, cookie_assistant=cookie_assistant) api._stub = servicer return api diff --git a/tests/client/chain/grpc/test_chain_grpc_insurance_api.py b/tests/client/chain/grpc/test_chain_grpc_insurance_api.py new file mode 100644 index 00000000..294b04e9 --- /dev/null +++ b/tests/client/chain/grpc/test_chain_grpc_insurance_api.py @@ -0,0 +1,259 @@ +import grpc +import pytest +from google.protobuf import duration_pb2, timestamp_pb2 + +from pyinjective.client.chain.grpc.chain_grpc_insurance_api import ChainGrpcInsuranceApi +from pyinjective.core.network import DisabledCookieAssistant, Network +from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as vouchers_pb +from pyinjective.proto.injective.insurance.v1beta1 import ( + genesis_pb2 as genesis_pb, + insurance_pb2 as insurance_pb, + query_pb2 as insurance_query_pb, +) +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as oracle_pb +from tests.client.chain.grpc.configurable_insurance_query_servicer import ConfigurableInsuranceQueryServicer + + +@pytest.fixture +def insurance_servicer(): + return ConfigurableInsuranceQueryServicer() + + +class TestChainGrpcInsuranceApi: + @pytest.mark.asyncio + async def test_fetch_module_params(self, insurance_servicer): + dur = duration_pb2.Duration(seconds=3600) + params = insurance_pb.Params(default_redemption_notice_period_duration=dur) + insurance_servicer.insurance_params.append(insurance_query_pb.QueryInsuranceParamsResponse(params=params)) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_module_params() + + assert result == { + "params": { + "defaultRedemptionNoticePeriodDuration": "3600s", + } + } + + @pytest.mark.asyncio + async def test_fetch_insurance_fund(self, insurance_servicer): + dur = duration_pb2.Duration(seconds=3600) + fund = insurance_pb.InsuranceFund( + deposit_denom="inj", + insurance_pool_token_denom="pool", + redemption_notice_period_duration=dur, + balance="100", + total_share="50", + market_id="m1", + market_ticker="MT", + oracle_base="b", + oracle_quote="q", + oracle_type=oracle_pb.OracleType.Value("Band"), + expiry=123, + ) + insurance_servicer.insurance_fund_responses.append(insurance_query_pb.QueryInsuranceFundResponse(fund=fund)) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_insurance_fund(market_id="m1") + + assert result == { + "fund": { + "depositDenom": "inj", + "insurancePoolTokenDenom": "pool", + "redemptionNoticePeriodDuration": "3600s", + "balance": "100", + "totalShare": "50", + "marketId": "m1", + "marketTicker": "MT", + "oracleBase": "b", + "oracleQuote": "q", + "oracleType": "Band", + "expiry": "123", + } + } + + @pytest.mark.asyncio + async def test_fetch_insurance_funds(self, insurance_servicer): + dur = duration_pb2.Duration(seconds=3600) + fund = insurance_pb.InsuranceFund( + deposit_denom="inj", + insurance_pool_token_denom="pool", + redemption_notice_period_duration=dur, + balance="100", + total_share="50", + market_id="m1", + market_ticker="MT", + oracle_base="b", + oracle_quote="q", + oracle_type=oracle_pb.OracleType.Value("Band"), + expiry=123, + ) + insurance_servicer.insurance_funds_responses.append( + insurance_query_pb.QueryInsuranceFundsResponse(funds=[fund]) + ) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_insurance_funds() + + assert result == { + "funds": [ + { + "depositDenom": "inj", + "insurancePoolTokenDenom": "pool", + "redemptionNoticePeriodDuration": "3600s", + "balance": "100", + "totalShare": "50", + "marketId": "m1", + "marketTicker": "MT", + "oracleBase": "b", + "oracleQuote": "q", + "oracleType": "Band", + "expiry": "123", + } + ] + } + + @pytest.mark.asyncio + async def test_fetch_estimated_redemptions(self, insurance_servicer): + insurance_servicer.estimated_redemptions_responses.append( + insurance_query_pb.QueryEstimatedRedemptionsResponse(amount=[coin_pb.Coin(denom="inj", amount="1")]) + ) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_estimated_redemptions(market_id="m1", address="addr1") + + assert result == { + "amount": [ + { + "denom": "inj", + "amount": "1", + } + ] + } + + @pytest.mark.asyncio + async def test_fetch_pending_redemptions(self, insurance_servicer): + insurance_servicer.pending_redemptions_responses.append( + insurance_query_pb.QueryPendingRedemptionsResponse(amount=[coin_pb.Coin(denom="inj", amount="2")]) + ) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_pending_redemptions(market_id="m2", address="addr2") + + assert result == { + "amount": [ + { + "denom": "inj", + "amount": "2", + } + ] + } + + @pytest.mark.asyncio + async def test_fetch_module_state(self, insurance_servicer): + state = genesis_pb.GenesisState() + insurance_servicer.module_states.append(insurance_query_pb.QueryModuleStateResponse(state=state)) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_module_state() + + assert result == { + "state": { + "insuranceFunds": [], + "redemptionSchedule": [], + "nextShareDenomId": "0", + "nextRedemptionScheduleId": "0", + "failedRedemptionSchedules": [], + "nextFailedRedemptionScheduleId": "0", + "vouchers": [], + } + } + + @pytest.mark.asyncio + async def test_fetch_failed_redemptions(self, insurance_servicer): + ts = timestamp_pb2.Timestamp(seconds=1, nanos=0) + schedule = insurance_pb.RedemptionSchedule( + id=2, + marketId="m", + redeemer="r", + claimable_redemption_time=ts, + redemption_amount=coin_pb.Coin(denom="inj", amount="1"), + ) + failed = insurance_pb.FailedRedemptionSchedule(id=1, schedule=schedule, err="e") + insurance_servicer.failed_redemptions_responses.append( + insurance_query_pb.QueryFailedRedemptionsResponse(schedules=[failed]) + ) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_failed_redemptions() + + assert result == { + "schedules": [ + { + "id": "1", + "schedule": { + "id": "2", + "marketId": "m", + "redeemer": "r", + "claimableRedemptionTime": "1970-01-01T00:00:01Z", + "redemptionAmount": { + "denom": "inj", + "amount": "1", + }, + }, + "err": "e", + } + ] + } + + @pytest.mark.asyncio + async def test_fetch_vouchers(self, insurance_servicer): + voucher = vouchers_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + insurance_servicer.vouchers_responses.append(insurance_query_pb.QueryVouchersResponse(vouchers=[voucher])) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_vouchers(denom="inj") + + assert result == { + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ] + } + + @pytest.mark.asyncio + async def test_fetch_voucher(self, insurance_servicer): + voucher = coin_pb.Coin(denom="inj", amount="1000000000") + insurance_servicer.voucher_responses.append(insurance_query_pb.QueryVoucherResponse(voucher=voucher)) + + api = self._api_instance(servicer=insurance_servicer) + result = await api.fetch_voucher( + denom="inj", + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + ) + + assert result == { + "voucher": { + "denom": voucher.denom, + "amount": voucher.amount, + } + } + + def _api_instance(self, servicer): + network = Network.devnet() + channel = grpc.aio.insecure_channel(network.grpc_endpoint) + cookie_assistant = DisabledCookieAssistant() + + api = ChainGrpcInsuranceApi(channel=channel, cookie_assistant=cookie_assistant) + api._stub = servicer + + return api diff --git a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py index 3913790c..cb4ee320 100644 --- a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py @@ -4,7 +4,9 @@ from pyinjective.client.chain.grpc.chain_grpc_permissions_api import ChainGrpcPermissionsApi from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb +from pyinjective.proto.injective.common.vouchers.v1 import vouchers_pb2 as vouchers_pb from pyinjective.proto.injective.permissions.v1beta1 import ( + genesis_pb2 as genesis_pb, params_pb2 as permissions_params_pb, permissions_pb2 as permissions_pb, query_pb2 as permissions_query_pb, @@ -23,8 +25,17 @@ async def test_fetch_module_params( self, permissions_servicer, ): + enforced_restrictions_evm_contract = permissions_params_pb.EnforcedRestrictionsEVMContract( + contract_address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + pause_event_signature="0x1234567890", + unpause_event_signature="0x1234567890", + blacklist_event_signature="0x1234567890", + unblacklist_event_signature="0x1234567890", + ) params = permissions_params_pb.Params( - wasm_hook_query_max_gas=1000000, + contract_hook_max_gas=1000000, + deprecated_enforced_restrictions_contracts=["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"], + enforced_restrictions_evm_contracts=[enforced_restrictions_evm_contract], ) permissions_servicer.permissions_params.append(permissions_query_pb.QueryParamsResponse(params=params)) @@ -33,61 +44,125 @@ async def test_fetch_module_params( module_params = await api.fetch_module_params() expected_params = { "params": { - "wasmHookQueryMaxGas": str(params.wasm_hook_query_max_gas), + "contractHookMaxGas": str(params.contract_hook_max_gas), + "deprecatedEnforcedRestrictionsContracts": params.deprecated_enforced_restrictions_contracts, + "enforcedRestrictionsEvmContracts": [ + { + "contractAddress": enforced_restrictions_evm_contract.contract_address, + "pauseEventSignature": enforced_restrictions_evm_contract.pause_event_signature, + "unpauseEventSignature": enforced_restrictions_evm_contract.unpause_event_signature, + "blacklistEventSignature": enforced_restrictions_evm_contract.blacklist_event_signature, + "unblacklistEventSignature": enforced_restrictions_evm_contract.unblacklist_event_signature, + } + ], } } assert module_params == expected_params @pytest.mark.asyncio - async def test_fetch_all_namespaces( + async def test_fetch_namespace_denoms( + self, + permissions_servicer, + ): + denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" + permissions_servicer.namespace_denoms_responses.append( + permissions_query_pb.QueryNamespaceDenomsResponse(denoms=[denom]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + all_denoms = await api.fetch_namespace_denoms() + expected_denoms = {"denoms": [denom]} + + assert all_denoms == expected_denoms + + @pytest.mark.asyncio + async def test_fetch_namespaces( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], + evm_hook="evm_hook", ) - permissions_servicer.all_namespaces_responses.append( - permissions_query_pb.QueryAllNamespacesResponse(namespaces=[namespace]) + permissions_servicer.namespaces_responses.append( + permissions_query_pb.QueryNamespacesResponse(namespaces=[namespace]) ) api = self._api_instance(servicer=permissions_servicer) - all_namespaces = await api.fetch_all_namespaces() + all_namespaces = await api.fetch_namespaces() expected_namespaces = { "namespaces": [ { "denom": namespace.denom, "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "manager": role_manager.manager, + "roles": role_manager.roles, } ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + "evmHook": namespace.evm_hook, } ] } @@ -95,121 +170,452 @@ async def test_fetch_all_namespaces( assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_namespace_by_denom( + async def test_fetch_namespace( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], + evm_hook="evm_hook", ) - permissions_servicer.namespace_by_denom_responses.append( - permissions_query_pb.QueryNamespaceByDenomResponse(namespace=namespace) + permissions_servicer.namespace_responses.append( + permissions_query_pb.QueryNamespaceResponse(namespace=namespace) ) api = self._api_instance(servicer=permissions_servicer) - namespace_result = await api.fetch_namespace_by_denom(denom=namespace.denom, include_roles=True) - expected_namespace = { + all_namespaces = await api.fetch_namespace(denom=namespace.denom) + expected_namespaces = { "namespace": { "denom": namespace.denom, "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, } ], + "evmHook": namespace.evm_hook, } } - assert namespace_result == expected_namespace + assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_address_roles( + async def test_fetch_roles_by_actor( self, permissions_servicer, ): roles = ["role1", "role2"] - permissions_servicer.address_roles_responses.append(permissions_query_pb.QueryAddressRolesResponse(roles=roles)) + permissions_servicer.roles_by_actor_responses.append( + permissions_query_pb.QueryRolesByActorResponse(roles=roles) + ) api = self._api_instance(servicer=permissions_servicer) - address_roles = await api.fetch_address_roles( + roles_by_actor = await api.fetch_roles_by_actor( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + actor="actor", ) expected_roles = { "roles": roles, } - assert address_roles == expected_roles + assert roles_by_actor == expected_roles @pytest.mark.asyncio - async def test_fetch_addresses_by_role( + async def test_fetch_actors_by_role( self, permissions_servicer, ): - addresses = ["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"] - permissions_servicer.addresses_by_role_responses.append( - permissions_query_pb.QueryAddressesByRoleResponse(addresses=addresses) + actors = ["actor1", "actor2"] + permissions_servicer.actors_by_role_responses.append( + permissions_query_pb.QueryActorsByRoleResponse(actors=actors) ) api = self._api_instance(servicer=permissions_servicer) - addresses_response = await api.fetch_addresses_by_role( + actors_by_role = await api.fetch_actors_by_role( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", role="role1", ) - expected_addresses = { - "addresses": addresses, + expected_actors = { + "actors": actors, } - assert addresses_response == expected_addresses + assert actors_by_role == expected_actors @pytest.mark.asyncio - async def test_fetch_vouchers_for_address( + async def test_fetch_role_managers( self, permissions_servicer, ): - coin = coin_pb.Coin(denom="inj", amount="988987297011197594664") + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_managers_responses.append( + permissions_query_pb.QueryRoleManagersResponse(role_managers=[role_manager]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + managers = await api.fetch_role_managers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_managers = { + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + } + + assert managers == expected_managers - permissions_servicer.vouchers_for_address_responses.append( - permissions_query_pb.QueryVouchersForAddressResponse(vouchers=[coin]) + @pytest.mark.asyncio + async def test_fetch_role_manager( + self, + permissions_servicer, + ): + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_manager_responses.append( + permissions_query_pb.QueryRoleManagerResponse(role_manager=role_manager) ) api = self._api_instance(servicer=permissions_servicer) - vouchers = await api.fetch_vouchers_for_address( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + managers = await api.fetch_role_manager( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", manager=role_manager.manager + ) + expected_managers = { + "roleManager": { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + } + + assert managers == expected_managers + + @pytest.mark.asyncio + async def test_fetch_policy_statuses( + self, + permissions_servicer, + ): + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=True, + ) + permissions_servicer.policy_statuses_responses.append( + permissions_query_pb.QueryPolicyStatusesResponse(policy_statuses=[policy_status]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + statuses = await api.fetch_policy_statuses( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_statuses = { + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + } + + assert statuses == expected_statuses + + @pytest.mark.asyncio + async def test_fetch_policy_manager_capabilities( + self, + permissions_servicer, + ): + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + permissions_servicer.policy_manager_capabilities_responses.append( + permissions_query_pb.QueryPolicyManagerCapabilitiesResponse( + policy_manager_capabilities=[policy_manager_capability] + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + capabilities = await api.fetch_policy_manager_capabilities( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_capabilities = { + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + } + + assert capabilities == expected_capabilities + + @pytest.mark.asyncio + async def test_fetch_vouchers( + self, + permissions_servicer, + ): + voucher = vouchers_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + permissions_servicer.vouchers_responses.append(permissions_query_pb.QueryVouchersResponse(vouchers=[voucher])) + + api = self._api_instance(servicer=permissions_servicer) + + all_vouchers = await api.fetch_vouchers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", ) expected_vouchers = { - "vouchers": [{"denom": coin.denom, "amount": coin.amount}], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } + + assert all_vouchers == expected_vouchers + + @pytest.mark.asyncio + async def test_fetch_voucher( + self, + permissions_servicer, + ): + voucher = coin_pb.Coin(denom="inj", amount="1000000000") + permissions_servicer.voucher_responses.append(permissions_query_pb.QueryVoucherResponse(voucher=voucher)) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_voucher = await api.fetch_voucher( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + ) + expected_voucher = { + "voucher": { + "denom": voucher.denom, + "amount": voucher.amount, + }, + } + + assert fetched_voucher == expected_voucher + + @pytest.mark.asyncio + async def test_fetch_permissions_module_state( + self, + permissions_servicer, + ): + enforced_restrictions_evm_contract = permissions_params_pb.EnforcedRestrictionsEVMContract( + contract_address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + pause_event_signature="0x1234567890", + unpause_event_signature="0x1234567891", + blacklist_event_signature="0x1234567892", + unblacklist_event_signature="0x1234567893", + ) + params = permissions_params_pb.Params( + contract_hook_max_gas=1000000, + deprecated_enforced_restrictions_contracts=["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"], + enforced_restrictions_evm_contracts=[enforced_restrictions_evm_contract], + ) + role_permission = permissions_pb.Role( + name="role1", + role_id=1, + permissions=3, + ) + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + namespace = permissions_pb.Namespace( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + wasm_hook="wasm_hook", + role_permissions=[role_permission], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], + evm_hook="evm_hook", + ) + voucher = vouchers_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + module_state = genesis_pb.GenesisState( + params=params, + namespaces=[namespace], + vouchers=[voucher], + ) + permissions_servicer.module_state_responses.append( + permissions_query_pb.QueryModuleStateResponse( + state=module_state, + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_module_state = await api.fetch_permissions_module_state() + expected_module_state = { + "state": { + "params": { + "contractHookMaxGas": str(params.contract_hook_max_gas), + "deprecatedEnforcedRestrictionsContracts": params.deprecated_enforced_restrictions_contracts, + "enforcedRestrictionsEvmContracts": [ + { + "contractAddress": enforced_restrictions_evm_contract.contract_address, + "pauseEventSignature": enforced_restrictions_evm_contract.pause_event_signature, + "unpauseEventSignature": enforced_restrictions_evm_contract.unpause_event_signature, + "blacklistEventSignature": enforced_restrictions_evm_contract.blacklist_event_signature, + "unblacklistEventSignature": enforced_restrictions_evm_contract.unblacklist_event_signature, + } + ], + }, + "namespaces": [ + { + "denom": namespace.denom, + "wasmHook": namespace.wasm_hook, + "rolePermissions": [ + { + "name": role_permission.name, + "roleId": role_permission.role_id, + "permissions": role_permission.permissions, + } + ], + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + "evmHook": namespace.evm_hook, + } + ], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } } - assert vouchers == expected_vouchers + assert fetched_module_state == expected_module_state def _api_instance(self, servicer): network = Network.devnet() diff --git a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py index 71cfe72c..653b3162 100644 --- a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py @@ -50,6 +50,7 @@ async def test_fetch_denom_authority_metadata( ): authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + admin_burn_allowed=True, ) token_factory_query_servicer.denom_authority_metadata_responses.append( token_factory_query_pb.QueryDenomAuthorityMetadataResponse( @@ -66,6 +67,7 @@ async def test_fetch_denom_authority_metadata( expected_metadata = { "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, } @@ -99,6 +101,7 @@ async def test_fetch_tokenfactory_module_state( ) authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + admin_burn_allowed=True, ) genesis_denom = token_factory_genesis_pb.GenesisDenom( denom="factory/inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0/ninja", @@ -130,6 +133,7 @@ async def test_fetch_tokenfactory_module_state( "denom": genesis_denom.denom, "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, "name": genesis_denom.name, "symbol": genesis_denom.symbol, diff --git a/tests/client/chain/grpc/test_chain_grpc_txfees_api.py b/tests/client/chain/grpc/test_chain_grpc_txfees_api.py new file mode 100644 index 00000000..512a7c2f --- /dev/null +++ b/tests/client/chain/grpc/test_chain_grpc_txfees_api.py @@ -0,0 +1,85 @@ +import grpc +import pytest + +from pyinjective.client.chain.grpc.chain_grpc_txfees_api import ChainGrpcTxfeesApi +from pyinjective.core.network import DisabledCookieAssistant, Network +from pyinjective.proto.injective.txfees.v1beta1 import query_pb2 as txfees_query_pb, txfees_pb2 as txfees_pb +from tests.client.chain.grpc.configurable_txfees_query_servicer import ConfigurableTxfeesQueryServicer + + +@pytest.fixture +def txfees_query_servicer(): + return ConfigurableTxfeesQueryServicer() + + +class TestChainGrpcTxfeesApi: + @pytest.mark.asyncio + async def test_fetch_module_params( + self, + txfees_query_servicer, + ): + params = txfees_pb.Params( + max_gas_wanted_per_tx=10, + high_gas_tx_threshold=20, + min_gas_price_for_high_gas_tx="30", + mempool1559_enabled=True, + min_gas_price="40", + default_base_fee_multiplier="1.5", + max_base_fee_multiplier="1.9", + reset_interval=100, + max_block_change_rate="0.75", + target_block_space_percent_rate="0.4", + recheck_fee_low_base_fee="0.15", + recheck_fee_high_base_fee="0.25", + recheck_fee_base_fee_threshold_multiplier="0.9", + ) + txfees_query_servicer.params_responses.append(txfees_query_pb.QueryParamsResponse(params=params)) + + api = self._api_instance(servicer=txfees_query_servicer) + + module_params = await api.fetch_module_params() + expected_params = { + "params": { + "maxGasWantedPerTx": str(params.max_gas_wanted_per_tx), + "highGasTxThreshold": str(params.high_gas_tx_threshold), + "minGasPriceForHighGasTx": str(params.min_gas_price_for_high_gas_tx), + "mempool1559Enabled": params.mempool1559_enabled, + "minGasPrice": str(params.min_gas_price), + "defaultBaseFeeMultiplier": str(params.default_base_fee_multiplier), + "maxBaseFeeMultiplier": str(params.max_base_fee_multiplier), + "resetInterval": str(params.reset_interval), + "maxBlockChangeRate": str(params.max_block_change_rate), + "targetBlockSpacePercentRate": str(params.target_block_space_percent_rate), + "recheckFeeLowBaseFee": str(params.recheck_fee_low_base_fee), + "recheckFeeHighBaseFee": str(params.recheck_fee_high_base_fee), + "recheckFeeBaseFeeThresholdMultiplier": str(params.recheck_fee_base_fee_threshold_multiplier), + } + } + + assert module_params == expected_params + + @pytest.mark.asyncio + async def test_fetch_eip_base_fee(self, txfees_query_servicer): + eip_base_fee = txfees_query_pb.EipBaseFee( + base_fee="1000000000000000000", + ) + txfees_query_servicer.eip_base_fee_responses.append( + txfees_query_pb.QueryEipBaseFeeResponse(base_fee=eip_base_fee) + ) + + api = self._api_instance(servicer=txfees_query_servicer) + + eip_base_fee_response = await api.fetch_eip_base_fee() + expected_eip_base_fee = {"baseFee": {"baseFee": str(eip_base_fee.base_fee)}} + + assert eip_base_fee_response == expected_eip_base_fee + + def _api_instance(self, servicer): + network = Network.devnet() + channel = grpc.aio.insecure_channel(network.grpc_endpoint) + cookie_assistant = DisabledCookieAssistant() + + api = ChainGrpcTxfeesApi(channel=channel, cookie_assistant=cookie_assistant) + api._query_stub = servicer + + return api diff --git a/tests/client/chain/stream_grpc/configurable_chain_stream_query_servicer.py b/tests/client/chain/stream_grpc/configurable_chain_stream_query_servicer.py index fe27f667..943b91c0 100644 --- a/tests/client/chain/stream_grpc/configurable_chain_stream_query_servicer.py +++ b/tests/client/chain/stream_grpc/configurable_chain_stream_query_servicer.py @@ -1,13 +1,28 @@ from collections import deque from pyinjective.proto.injective.stream.v1beta1 import query_pb2 as chain_stream_pb, query_pb2_grpc as chain_stream_grpc +from pyinjective.proto.injective.stream.v2 import ( + query_pb2 as chain_stream_v2_pb, + query_pb2_grpc as chain_stream_v2_grpc, +) class ConfigurableChainStreamQueryServicer(chain_stream_grpc.StreamServicer): def __init__(self): super().__init__() self.stream_responses = deque() + self.stream_v2_responses = deque() async def Stream(self, request: chain_stream_pb.StreamRequest, context=None, metadata=None): for event in self.stream_responses: yield event + + +class ConfigurableChainStreamV2QueryServicer(chain_stream_v2_grpc.StreamServicer): + def __init__(self): + super().__init__() + self.stream_responses = deque() + + async def StreamV2(self, request: chain_stream_v2_pb.StreamRequest, context=None, metadata=None): + for event in self.stream_responses: + yield event diff --git a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py index 39513fdc..f42b61e7 100644 --- a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py +++ b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py @@ -5,12 +5,17 @@ import pytest from pyinjective.client.chain.grpc_stream.chain_grpc_chain_stream import ChainGrpcChainStream -from pyinjective.composer import Composer +from pyinjective.composer_v2 import Composer as ComposerV2 from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb +from pyinjective.proto.injective.exchange.v2 import exchange_pb2 as exchange_v2_pb, order_pb2 as order_v2_pb from pyinjective.proto.injective.stream.v1beta1 import query_pb2 as chain_stream_pb -from tests.client.chain.stream_grpc.configurable_chain_stream_query_servicer import ConfigurableChainStreamQueryServicer +from pyinjective.proto.injective.stream.v2 import query_pb2 as chain_stream_v2_pb +from tests.client.chain.stream_grpc.configurable_chain_stream_query_servicer import ( + ConfigurableChainStreamQueryServicer, + ConfigurableChainStreamV2QueryServicer, +) @pytest.fixture @@ -18,11 +23,17 @@ def chain_stream_servicer(): return ConfigurableChainStreamQueryServicer() +@pytest.fixture +def chain_stream_v2_servicer(): + return ConfigurableChainStreamV2QueryServicer() + + class TestChainGrpcChainStream: @pytest.mark.asyncio async def test_stream( self, chain_stream_servicer, + chain_stream_v2_servicer, ): block_height = 19114391 block_time = 1701457189786 @@ -54,7 +65,7 @@ async def test_stream( price="18215000", subaccount_id="0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", fee="76503000000000000000", - order_hash=b"\xaa\xb0Ju\xa3)@\xfe\xd58N\xba\xdfG\xfd\xd8}\xe4\r\xf4\xf8a\xd9\n\xa9\xd6x+V\x9b\x02&", + order_hash="0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bb", fee_recipient_address="inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx", cid="HBOTSIJUT60b77b9c56f0456af96c5c6c0d8", trade_id=f"{block_height}_0", @@ -100,9 +111,7 @@ async def test_stream( ) spot_order_update = chain_stream_pb.SpotOrderUpdate( status="Booked", - order_hash=( - b"\xf9\xc7\xd8v8\x84-\x9b\x99s\xf5\xdfX\xc9\xf9V\x9a\xf7\xf9\xc3\xa1\x00h\t\xc17<\xd1k\x9d\x12\xed" - ), + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", cid="cid2", order=spot_order, ) @@ -128,7 +137,7 @@ async def test_stream( ) derivative_order_update = chain_stream_pb.DerivativeOrderUpdate( status="Booked", - order_hash=b"\x03\xc9\xf8G*Q-G%\xf1\xbcF3\xe89g\xbe\xeag\xd8Y\x7f\x87\x8a\xa5\xac\x8ew\x8a\x91\xa2F", + order_hash="0x48690013c382d5dbaff9989db04629a16a5818d7524e027d517ccc89fd068103", cid="cid3", order=derivative_order, ) @@ -192,9 +201,413 @@ async def test_stream( ) ) + api = self._api_instance(servicer=chain_stream_servicer, servicer_v2=chain_stream_v2_servicer) + + events = asyncio.Queue() + end_event = asyncio.Event() + + callback = lambda update: events.put_nowait(update) + error_callback = lambda exception: pytest.fail(str(exception)) + end_callback = lambda: end_event.set() + + bank_balances_filter = chain_stream_pb.BankBalancesFilter(accounts=["*"]) + subaccount_deposits_filter = chain_stream_pb.SubaccountDepositsFilter(subaccount_ids=["*"]) + spot_trades_filter = chain_stream_pb.TradesFilter(subaccount_ids=["*"], market_ids=["*"]) + derivative_trades_filter = chain_stream_pb.TradesFilter(subaccount_ids=["*"], market_ids=["*"]) + spot_orders_filter = chain_stream_pb.OrdersFilter(subaccount_ids=["*"], market_ids=["*"]) + derivative_orders_filter = chain_stream_pb.OrdersFilter(subaccount_ids=["*"], market_ids=["*"]) + spot_orderbooks_filter = chain_stream_pb.OrderbookFilter(market_ids=["*"]) + derivative_orderbooks_filter = chain_stream_pb.OrderbookFilter(market_ids=["*"]) + positions_filter = chain_stream_pb.PositionsFilter(subaccount_ids=["*"], market_ids=["*"]) + oracle_price_filter = chain_stream_pb.OraclePriceFilter(symbol=["*"]) + + expected_update = { + "blockHeight": str(block_height), + "blockTime": str(block_time), + "bankBalances": [ + { + "account": bank_balance.account, + "balances": [ + { + "denom": balance_coin.denom, + "amount": balance_coin.amount, + } + ], + }, + ], + "subaccountDeposits": [ + { + "subaccountId": subaccount_deposits.subaccount_id, + "deposits": [ + { + "denom": subaccount_deposit.denom, + "deposit": { + "availableBalance": deposit.available_balance, + "totalBalance": deposit.total_balance, + }, + } + ], + } + ], + "spotTrades": [ + { + "marketId": spot_trade.market_id, + "isBuy": spot_trade.is_buy, + "executionType": spot_trade.executionType, + "quantity": spot_trade.quantity, + "price": spot_trade.price, + "subaccountId": spot_trade.subaccount_id, + "fee": spot_trade.fee, + "orderHash": spot_trade.order_hash, + "feeRecipientAddress": spot_trade.fee_recipient_address, + "cid": spot_trade.cid, + "tradeId": spot_trade.trade_id, + "notional": spot_trade.notional, + }, + ], + "derivativeTrades": [ + { + "marketId": derivative_trade.market_id, + "isBuy": derivative_trade.is_buy, + "executionType": derivative_trade.executionType, + "subaccountId": derivative_trade.subaccount_id, + "positionDelta": { + "isLong": position_delta.is_long, + "executionMargin": position_delta.execution_margin, + "executionQuantity": position_delta.execution_quantity, + "executionPrice": position_delta.execution_price, + }, + "payout": derivative_trade.payout, + "fee": derivative_trade.fee, + "orderHash": derivative_trade.order_hash, + "feeRecipientAddress": derivative_trade.fee_recipient_address, + "cid": derivative_trade.cid, + "tradeId": derivative_trade.trade_id, + } + ], + "spotOrders": [ + { + "status": "Booked", + "orderHash": spot_order_update.order_hash, + "cid": spot_order_update.cid, + "order": { + "marketId": spot_order.market_id, + "order": { + "orderInfo": { + "subaccountId": spot_order_info.subaccount_id, + "feeRecipient": spot_order_info.fee_recipient, + "price": spot_order_info.price, + "quantity": spot_order_info.quantity, + "cid": spot_order_info.cid, + }, + "orderType": "SELL_PO", + "fillable": spot_limit_order.fillable, + "triggerPrice": spot_limit_order.trigger_price, + "orderHash": base64.b64encode(spot_limit_order.order_hash).decode(), + }, + }, + }, + ], + "derivativeOrders": [ + { + "status": "Booked", + "orderHash": derivative_order_update.order_hash, + "cid": derivative_order_update.cid, + "order": { + "marketId": derivative_order.market_id, + "order": { + "orderInfo": { + "subaccountId": derivative_order_info.subaccount_id, + "feeRecipient": derivative_order_info.fee_recipient, + "price": derivative_order_info.price, + "quantity": derivative_order_info.quantity, + "cid": derivative_order_info.cid, + }, + "orderType": "SELL_PO", + "margin": derivative_limit_order.margin, + "fillable": derivative_limit_order.fillable, + "triggerPrice": derivative_limit_order.trigger_price, + "orderHash": base64.b64encode(derivative_limit_order.order_hash).decode(), + }, + "isMarket": derivative_order.is_market, + }, + }, + ], + "spotOrderbookUpdates": [ + { + "seq": str(spot_orderbook_update.seq), + "orderbook": { + "marketId": spot_orderbook.market_id, + "buyLevels": [ + { + "p": spot_buy_level.p, + "q": spot_buy_level.q, + }, + ], + "sellLevels": [ + {"p": spot_sell_level.p, "q": spot_sell_level.q}, + ], + }, + }, + ], + "derivativeOrderbookUpdates": [ + { + "seq": str(derivative_orderbook_update.seq), + "orderbook": { + "marketId": derivative_orderbook.market_id, + "buyLevels": [ + { + "p": derivative_buy_level.p, + "q": derivative_buy_level.q, + }, + ], + "sellLevels": [ + { + "p": derivative_sell_level.p, + "q": derivative_sell_level.q, + }, + ], + }, + }, + ], + "positions": [ + { + "marketId": position.market_id, + "subaccountId": position.subaccount_id, + "isLong": position.isLong, + "quantity": position.quantity, + "entryPrice": position.entry_price, + "margin": position.margin, + "cumulativeFundingEntry": position.cumulative_funding_entry, + } + ], + "oraclePrices": [ + { + "symbol": oracle_price.symbol, + "price": oracle_price.price, + "type": oracle_price.type, + }, + ], + } + + with pytest.warns(DeprecationWarning, match="stream is deprecated"): + asyncio.get_event_loop().create_task( + api.stream( + callback=callback, + on_end_callback=end_callback, + on_status_callback=error_callback, + bank_balances_filter=bank_balances_filter, + subaccount_deposits_filter=subaccount_deposits_filter, + spot_trades_filter=spot_trades_filter, + derivative_trades_filter=derivative_trades_filter, + spot_orders_filter=spot_orders_filter, + derivative_orders_filter=derivative_orders_filter, + spot_orderbooks_filter=spot_orderbooks_filter, + derivative_orderbooks_filter=derivative_orderbooks_filter, + positions_filter=positions_filter, + oracle_price_filter=oracle_price_filter, + ) + ) + + first_update = await asyncio.wait_for(events.get(), timeout=1) + + assert first_update == expected_update + assert end_event.is_set() + + @pytest.mark.asyncio + async def test_stream_v2( + self, + chain_stream_servicer, + chain_stream_v2_servicer, + ): + block_height = 19114391 + block_time = 1701457189786 + gas_price = "1600000000" + balance_coin = coin_pb.Coin( + denom="inj", + amount="6941221373191000000000", + ) + bank_balance = chain_stream_v2_pb.BankBalance( + account="inj1qaq7mkvuc474k2nyjm2suwyes06fdm4kt26ks4", + balances=[balance_coin], + ) + deposit = exchange_v2_pb.Deposit( + available_balance="112292968420000000000000", + total_balance="73684013968420000000000000", + ) + subaccount_deposit = chain_stream_v2_pb.SubaccountDeposit( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + deposit=deposit, + ) + subaccount_deposits = chain_stream_v2_pb.SubaccountDeposits( + subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000007", + deposits=[subaccount_deposit], + ) + spot_trade = chain_stream_v2_pb.SpotTrade( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + is_buy=False, + executionType="LimitMatchNewOrder", + quantity="70", + price="18.215", + subaccount_id="0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + fee="7.6503", + order_hash="0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bb", + fee_recipient_address="inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx", + cid="HBOTSIJUT60b77b9c56f0456af96c5c6c0d8", + trade_id=f"{block_height}_0", + ) + position_delta = exchange_v2_pb.PositionDelta( + is_long=True, + execution_quantity="5", + execution_price="13.9456", + execution_margin="69.728", + ) + derivative_trade = chain_stream_v2_pb.DerivativeTrade( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + is_buy=False, + executionType="LimitMatchNewOrder", + subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", + position_delta=position_delta, + payout="0", + fee="7.6503", + order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", + fee_recipient_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", + cid="cid1", + trade_id=f"{block_height}_1", + is_liquidation=False, + ) + spot_order_info = order_v2_pb.OrderInfo( + subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", + fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", + price="18.775", + quantity="54.606542", + cid="cid2", + ) + spot_limit_order = order_v2_pb.SpotLimitOrder( + order_info=spot_order_info, + order_type=order_v2_pb.OrderType.SELL_PO, + fillable="54.606542", + trigger_price="", + order_hash=( + b"\xf9\xc7\xd8v8\x84-\x9b\x99s\xf5\xdfX\xc9\xf9V\x9a\xf7\xf9\xc3\xa1\x00h\t\xc17<\xd1k\x9d\x12\xed" + ), + ) + spot_order = chain_stream_v2_pb.SpotOrder( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + order=spot_limit_order, + ) + spot_order_update = chain_stream_v2_pb.SpotOrderUpdate( + status="Booked", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + cid="cid2", + order=spot_order, + ) + derivative_order_info = order_v2_pb.OrderInfo( + subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", + fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", + price="18.775", + quantity="54.606542", + cid="cid2", + ) + derivative_limit_order = order_v2_pb.DerivativeLimitOrder( + order_info=derivative_order_info, + order_type=order_v2_pb.OrderType.SELL_PO, + margin="546.06542", + fillable="54.606542", + trigger_price="", + order_hash=b"\x03\xc9\xf8G*Q-G%\xf1\xbcF3\xe89g\xbe\xeag\xd8Y\x7f\x87\x8a\xa5\xac\x8ew\x8a\x91\xa2F", + ) + derivative_order = chain_stream_v2_pb.DerivativeOrder( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + order=derivative_limit_order, + is_market=False, + ) + derivative_order_update = chain_stream_v2_pb.DerivativeOrderUpdate( + status="Booked", + order_hash="0x48690013c382d5dbaff9989db04629a16a5818d7524e027d517ccc89fd068103", + cid="cid3", + order=derivative_order, + ) + spot_buy_level = exchange_v2_pb.Level(p="17.28", q="445577.34") + spot_sell_level = exchange_v2_pb.Level( + p="18.207", + q="221963.95", + ) + spot_orderbook = chain_stream_v2_pb.Orderbook( + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + buy_levels=[spot_buy_level], + sell_levels=[spot_sell_level], + ) + spot_orderbook_update = chain_stream_v2_pb.OrderbookUpdate( + seq=6645013, + orderbook=spot_orderbook, + ) + derivative_buy_level = exchange_v2_pb.Level(p="17.28", q="445577.34") + derivative_sell_level = exchange_v2_pb.Level( + p="18.207", + q="221963.95", + ) + derivative_orderbook = chain_stream_v2_pb.Orderbook( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + buy_levels=[derivative_buy_level], + sell_levels=[derivative_sell_level], + ) + derivative_orderbook_update = chain_stream_v2_pb.OrderbookUpdate( + seq=6645013, + orderbook=derivative_orderbook, + ) + position = chain_stream_v2_pb.Position( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", + isLong=True, + quantity="221.96395", + entry_price="18.207", + margin="2219.6395", + cumulative_funding_entry="0", + ) + oracle_price = chain_stream_v2_pb.OraclePrice( + symbol="0x41f3625971ca2ed2263e78573fe5ce23e13d2558ed3f2e47ab0f84fb9e7ae722", + price="99.991086", + type="pyth", + ) + order_failure_update = chain_stream_v2_pb.OrderFailureUpdate( + account="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + order_hash="0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bb", + cid="cid1", + error_code=1, + ) + conditional_order_trigger_failure_update = chain_stream_v2_pb.ConditionalOrderTriggerFailureUpdate( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", + mark_price="1234", + order_hash="0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bc", + cid="cid2", + error_description="error description", + ) + + chain_stream_v2_servicer.stream_responses.append( + chain_stream_v2_pb.StreamResponse( + block_height=block_height, + block_time=block_time, + gas_price=gas_price, + bank_balances=[bank_balance], + subaccount_deposits=[subaccount_deposits], + spot_trades=[spot_trade], + derivative_trades=[derivative_trade], + spot_orders=[spot_order_update], + derivative_orders=[derivative_order_update], + spot_orderbook_updates=[spot_orderbook_update], + derivative_orderbook_updates=[derivative_orderbook_update], + positions=[position], + oracle_prices=[oracle_price], + order_failures=[order_failure_update], + conditional_order_trigger_failures=[conditional_order_trigger_failure_update], + ) + ) + network = Network.devnet() - composer = Composer(network=network.string()) - api = self._api_instance(servicer=chain_stream_servicer) + composer = ComposerV2(network=network.string()) + api = self._api_instance(servicer=chain_stream_servicer, servicer_v2=chain_stream_v2_servicer) events = asyncio.Queue() end_event = asyncio.Event() @@ -213,10 +626,13 @@ async def test_stream( derivative_orderbooks_filter = composer.chain_stream_orderbooks_filter() positions_filter = composer.chain_stream_positions_filter() oracle_price_filter = composer.chain_stream_oracle_price_filter() + order_failures_filter = composer.chain_stream_order_failures_filter() + conditional_order_trigger_failures_filter = composer.chain_stream_conditional_order_trigger_failures_filter() expected_update = { "blockHeight": str(block_height), "blockTime": str(block_time), + "gasPrice": gas_price, "bankBalances": [ { "account": bank_balance.account, @@ -251,10 +667,11 @@ async def test_stream( "price": spot_trade.price, "subaccountId": spot_trade.subaccount_id, "fee": spot_trade.fee, - "orderHash": base64.b64encode(spot_trade.order_hash).decode(), + "orderHash": spot_trade.order_hash, "feeRecipientAddress": spot_trade.fee_recipient_address, "cid": spot_trade.cid, "tradeId": spot_trade.trade_id, + "notional": spot_trade.notional, }, ], "derivativeTrades": [ @@ -275,12 +692,13 @@ async def test_stream( "feeRecipientAddress": derivative_trade.fee_recipient_address, "cid": derivative_trade.cid, "tradeId": derivative_trade.trade_id, + "isLiquidation": derivative_trade.is_liquidation, } ], "spotOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(spot_order_update.order_hash).decode(), + "orderHash": spot_order_update.order_hash, "cid": spot_order_update.cid, "order": { "marketId": spot_order.market_id, @@ -295,6 +713,7 @@ async def test_stream( "orderType": "SELL_PO", "fillable": spot_limit_order.fillable, "triggerPrice": spot_limit_order.trigger_price, + "expirationBlock": "0", "orderHash": base64.b64encode(spot_limit_order.order_hash).decode(), }, }, @@ -303,7 +722,7 @@ async def test_stream( "derivativeOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(derivative_order_update.order_hash).decode(), + "orderHash": derivative_order_update.order_hash, "cid": derivative_order_update.cid, "order": { "marketId": derivative_order.market_id, @@ -319,6 +738,7 @@ async def test_stream( "margin": derivative_limit_order.margin, "fillable": derivative_limit_order.fillable, "triggerPrice": derivative_limit_order.trigger_price, + "expirationBlock": "0", "orderHash": base64.b64encode(derivative_limit_order.order_hash).decode(), }, "isMarket": derivative_order.is_market, @@ -380,10 +800,28 @@ async def test_stream( "type": oracle_price.type, }, ], + "orderFailures": [ + { + "account": order_failure_update.account, + "orderHash": order_failure_update.order_hash, + "cid": order_failure_update.cid, + "errorCode": order_failure_update.error_code, + }, + ], + "conditionalOrderTriggerFailures": [ + { + "subaccountId": conditional_order_trigger_failure_update.subaccount_id, + "marketId": conditional_order_trigger_failure_update.market_id, + "markPrice": conditional_order_trigger_failure_update.mark_price, + "orderHash": conditional_order_trigger_failure_update.order_hash, + "cid": conditional_order_trigger_failure_update.cid, + "errorDescription": conditional_order_trigger_failure_update.error_description, + }, + ], } asyncio.get_event_loop().create_task( - api.stream( + api.stream_v2( callback=callback, on_end_callback=end_callback, on_status_callback=error_callback, @@ -397,6 +835,8 @@ async def test_stream( derivative_orderbooks_filter=derivative_orderbooks_filter, positions_filter=positions_filter, oracle_price_filter=oracle_price_filter, + order_failures_filter=order_failures_filter, + conditional_order_trigger_failures_filter=conditional_order_trigger_failures_filter, ) ) @@ -405,12 +845,13 @@ async def test_stream( assert first_update == expected_update assert end_event.is_set() - def _api_instance(self, servicer): + def _api_instance(self, servicer, servicer_v2): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) cookie_assistant = DisabledCookieAssistant() api = ChainGrpcChainStream(channel=channel, cookie_assistant=cookie_assistant) api._stub = servicer + api._stub_v2 = servicer_v2 return api diff --git a/tests/client/indexer/configurable_auction_query_servicer.py b/tests/client/indexer/configurable_auction_query_servicer.py index 606e2e0d..f0c39709 100644 --- a/tests/client/indexer/configurable_auction_query_servicer.py +++ b/tests/client/indexer/configurable_auction_query_servicer.py @@ -12,6 +12,7 @@ def __init__(self): self.auction_endpoint_responses = deque() self.auctions_responses = deque() self.stream_bids_responses = deque() + self.inj_burnt_responses = deque() # Add this line to store InjBurntEndpoint responses async def AuctionEndpoint(self, request: exchange_auction_pb.AuctionEndpointRequest, context=None, metadata=None): return self.auction_endpoint_responses.pop() @@ -22,3 +23,6 @@ async def Auctions(self, request: exchange_auction_pb.AuctionsRequest, context=N async def StreamBids(self, request: exchange_auction_pb.StreamBidsRequest, context=None, metadata=None): for event in self.stream_bids_responses: yield event + + async def InjBurntEndpoint(self, request: exchange_auction_pb.InjBurntEndpointRequest, context=None, metadata=None): + return self.inj_burnt_responses.pop() diff --git a/tests/client/indexer/configurable_derivative_query_servicer.py b/tests/client/indexer/configurable_derivative_query_servicer.py index 55a437e1..24c1aeb8 100644 --- a/tests/client/indexer/configurable_derivative_query_servicer.py +++ b/tests/client/indexer/configurable_derivative_query_servicer.py @@ -26,7 +26,7 @@ def __init__(self): self.subaccount_orders_list_responses = deque() self.subaccount_trades_list_responses = deque() self.orders_history_responses = deque() - + self.open_interest_responses = deque() self.stream_market_responses = deque() self.stream_orderbook_v2_responses = deque() self.stream_orderbook_update_responses = deque() @@ -35,6 +35,7 @@ def __init__(self): self.stream_trades_responses = deque() self.stream_trades_v2_responses = deque() self.stream_orders_history_responses = deque() + self.stream_positions_v2_responses = deque() async def Markets(self, request: exchange_derivative_pb.MarketsRequest, context=None, metadata=None): return self.markets_responses.pop() @@ -99,6 +100,9 @@ async def SubaccountTradesList( async def OrdersHistory(self, request: exchange_derivative_pb.OrdersHistoryRequest, context=None, metadata=None): return self.orders_history_responses.pop() + async def OpenInterest(self, request: exchange_derivative_pb.OpenInterestRequest, context=None, metadata=None): + return self.open_interest_responses.pop() + async def StreamMarket(self, request: exchange_derivative_pb.StreamMarketRequest, context=None, metadata=None): for event in self.stream_market_responses: yield event @@ -138,3 +142,9 @@ async def StreamOrdersHistory( ): for event in self.stream_orders_history_responses: yield event + + async def StreamPositionsV2( + self, request: exchange_derivative_pb.StreamPositionsV2Request, context=None, metadata=None + ): + for event in self.stream_positions_v2_responses: + yield event diff --git a/tests/client/indexer/configurable_explorer_query_servicer.py b/tests/client/indexer/configurable_explorer_query_servicer.py index ce240bf3..e6f3a5b1 100644 --- a/tests/client/indexer/configurable_explorer_query_servicer.py +++ b/tests/client/indexer/configurable_explorer_query_servicer.py @@ -32,6 +32,9 @@ def __init__(self): self.stream_txs_responses = deque() self.stream_blocks_responses = deque() + # Add new attribute for contract_txs_v2_responses + self.contract_txs_v2_responses = deque() + async def GetAccountTxs(self, request: exchange_explorer_pb.GetAccountTxsRequest, context=None, metadata=None): return self.account_txs_responses.pop() @@ -110,3 +113,8 @@ async def StreamTxs(self, request: exchange_explorer_pb.StreamTxsRequest, contex async def StreamBlocks(self, request: exchange_explorer_pb.StreamBlocksRequest, context=None, metadata=None): for event in self.stream_blocks_responses: yield event + + async def GetContractTxsV2( + self, request: exchange_explorer_pb.GetContractTxsV2Request, context=None, metadata=None + ): + return self.contract_txs_v2_responses.pop() diff --git a/tests/client/indexer/configurable_oracle_query_servicer.py b/tests/client/indexer/configurable_oracle_query_servicer.py index c7c06820..5100d7c8 100644 --- a/tests/client/indexer/configurable_oracle_query_servicer.py +++ b/tests/client/indexer/configurable_oracle_query_servicer.py @@ -11,8 +11,10 @@ def __init__(self): super().__init__() self.oracle_list_responses = deque() self.price_responses = deque() + self.price_v2_responses = deque() self.stream_prices_responses = deque() self.stream_prices_by_markets_responses = deque() + self.stream_oracle_list_responses = deque() async def OracleList(self, request: exchange_oracle_pb.OracleListRequest, context=None, metadata=None): return self.oracle_list_responses.pop() @@ -20,6 +22,9 @@ async def OracleList(self, request: exchange_oracle_pb.OracleListRequest, contex async def Price(self, request: exchange_oracle_pb.PriceRequest, context=None, metadata=None): return self.price_responses.pop() + async def PriceV2(self, request: exchange_oracle_pb.PriceV2Request, context=None, metadata=None): + return self.price_v2_responses.pop() + async def StreamPrices(self, request: exchange_oracle_pb.StreamPricesRequest, context=None, metadata=None): for event in self.stream_prices_responses: yield event @@ -29,3 +34,7 @@ async def StreamPricesByMarkets( ): for event in self.stream_prices_by_markets_responses: yield event + + async def StreamOracleList(self, request: exchange_oracle_pb.StreamOracleListRequest, context=None, metadata=None): + for event in self.stream_oracle_list_responses: + yield event diff --git a/tests/client/indexer/grpc/test_indexer_grpc_account_api.py b/tests/client/indexer/grpc/test_indexer_grpc_account_api.py index 85443837..e3e2df71 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_account_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_account_api.py @@ -133,6 +133,8 @@ async def test_subaccount_balances_list( deposit = exchange_accounts_pb.SubaccountDeposit( total_balance="20", available_balance="10", + total_balance_usd="100", + available_balance_usd="50", ) balance = exchange_accounts_pb.SubaccountBalance( subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", @@ -158,6 +160,8 @@ async def test_subaccount_balances_list( "deposit": { "totalBalance": deposit.total_balance, "availableBalance": deposit.available_balance, + "totalBalanceUsd": deposit.total_balance_usd, + "availableBalanceUsd": deposit.available_balance_usd, }, }, ] @@ -173,6 +177,8 @@ async def test_subaccount_balance( deposit = exchange_accounts_pb.SubaccountDeposit( total_balance="20", available_balance="10", + total_balance_usd="100", + available_balance_usd="50", ) balance = exchange_accounts_pb.SubaccountBalance( subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", @@ -198,6 +204,8 @@ async def test_subaccount_balance( "deposit": { "totalBalance": deposit.total_balance, "availableBalance": deposit.available_balance, + "totalBalanceUsd": deposit.total_balance_usd, + "availableBalanceUsd": deposit.available_balance_usd, }, }, } @@ -330,6 +338,7 @@ async def test_fetch_rewards( single_reward = exchange_accounts_pb.Coin( denom="inj", amount="2000000000000000000", + usd_value="3000000000000000000", ) reward = exchange_accounts_pb.Reward( @@ -351,6 +360,7 @@ async def test_fetch_rewards( { "denom": single_reward.denom, "amount": single_reward.amount, + "usdValue": single_reward.usd_value, } ], "distributedAt": str(reward.distributed_at), diff --git a/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py b/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py index f9d372c7..346a503d 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py @@ -21,6 +21,7 @@ async def test_fetch_auction( coin = exchange_auction_pb.Coin( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", amount="2322098", + usd_value="1000000000000000000", ) auction = exchange_auction_pb.Auction( winner="inj1uyk56r3xdcf60jwrmn7p9rgla9dc4gam56ajrq", @@ -54,6 +55,7 @@ async def test_fetch_auction( { "denom": coin.denom, "amount": coin.amount, + "usdValue": coin.usd_value, } ], "winningBidAmount": auction.winning_bid_amount, @@ -74,6 +76,7 @@ async def test_fetch_auctions( coin = exchange_auction_pb.Coin( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", amount="2322098", + usd_value="1000000000000000000", ) auction = exchange_auction_pb.Auction( winner="inj1uyk56r3xdcf60jwrmn7p9rgla9dc4gam56ajrq", @@ -97,6 +100,7 @@ async def test_fetch_auctions( { "denom": coin.denom, "amount": coin.amount, + "usdValue": coin.usd_value, } ], "winningBidAmount": auction.winning_bid_amount, @@ -109,6 +113,24 @@ async def test_fetch_auctions( assert result_auctions == expected_auctions + @pytest.mark.asyncio + async def test_fetch_inj_burnt( + self, + auction_servicer, + ): + total_inj_burnt = "1234567890000000000" # Example decimal value as string + + auction_servicer.inj_burnt_responses.append( + exchange_auction_pb.InjBurntEndpointResponse(total_inj_burnt=total_inj_burnt) + ) + + api = self._api_instance(servicer=auction_servicer) + + result_inj_burnt = await api.fetch_inj_burnt() + expected_inj_burnt = {"totalInjBurnt": total_inj_burnt} + + assert result_inj_burnt == expected_inj_burnt + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) diff --git a/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py b/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py index 3f106dfc..60921716 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py @@ -37,6 +37,7 @@ async def test_fetch_markets( cumulative_funding="-82680.076492986572881307", cumulative_price="-78.41752505919454668", last_timestamp=1700004260, + last_funding_rate="0.12345", ) market = exchange_derivative_pb.DerivativeMarketInfo( @@ -49,6 +50,7 @@ async def test_fetch_markets( oracle_scale_factor=6, initial_margin_ratio="0.05", maintenance_margin_ratio="0.02", + reduce_margin_ratio="0.3", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", quote_token_meta=quote_token_meta, maker_fee_rate="-0.0001", @@ -86,6 +88,7 @@ async def test_fetch_markets( "oracleScaleFactor": market.oracle_scale_factor, "initialMarginRatio": market.initial_margin_ratio, "maintenanceMarginRatio": market.maintenance_margin_ratio, + "reduceMarginRatio": market.reduce_margin_ratio, "quoteDenom": market.quote_denom, "quoteTokenMeta": { "name": market.quote_token_meta.name, @@ -112,6 +115,7 @@ async def test_fetch_markets( "cumulativeFunding": perpetual_market_funding.cumulative_funding, "cumulativePrice": perpetual_market_funding.cumulative_price, "lastTimestamp": str(perpetual_market_funding.last_timestamp), + "lastFundingRate": perpetual_market_funding.last_funding_rate, }, } ] @@ -142,6 +146,7 @@ async def test_fetch_market( cumulative_funding="-82680.076492986572881307", cumulative_price="-78.41752505919454668", last_timestamp=1700004260, + last_funding_rate="0.12345", ) market = exchange_derivative_pb.DerivativeMarketInfo( @@ -154,6 +159,7 @@ async def test_fetch_market( oracle_scale_factor=6, initial_margin_ratio="0.05", maintenance_margin_ratio="0.02", + reduce_margin_ratio="0.3", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", quote_token_meta=quote_token_meta, maker_fee_rate="-0.0001", @@ -187,6 +193,7 @@ async def test_fetch_market( "oracleScaleFactor": market.oracle_scale_factor, "initialMarginRatio": market.initial_margin_ratio, "maintenanceMarginRatio": market.maintenance_margin_ratio, + "reduceMarginRatio": market.reduce_margin_ratio, "quoteDenom": market.quote_denom, "quoteTokenMeta": { "name": market.quote_token_meta.name, @@ -213,6 +220,7 @@ async def test_fetch_market( "cumulativeFunding": perpetual_market_funding.cumulative_funding, "cumulativePrice": perpetual_market_funding.cumulative_price, "lastTimestamp": str(perpetual_market_funding.last_timestamp), + "lastFundingRate": perpetual_market_funding.last_funding_rate, }, } } @@ -406,6 +414,7 @@ async def test_fetch_orderbook_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) derivative_servicer.orderbook_v2_responses.append( @@ -417,7 +426,8 @@ async def test_fetch_orderbook_v2( api = self._api_instance(servicer=derivative_servicer) result_orderbook = await api.fetch_orderbook_v2( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + depth=1, ) expected_orderbook = { "orderbook": { @@ -437,6 +447,7 @@ async def test_fetch_orderbook_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), } } @@ -463,6 +474,7 @@ async def test_fetch_orderbooks_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) single_orderbook = exchange_derivative_pb.SingleDerivativeLimitOrderbookV2( @@ -478,7 +490,7 @@ async def test_fetch_orderbooks_v2( api = self._api_instance(servicer=derivative_servicer) - result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id]) + result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id], depth=1) expected_orderbook = { "orderbooks": [ { @@ -500,6 +512,7 @@ async def test_fetch_orderbooks_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), }, } ] @@ -591,6 +604,7 @@ async def test_fetch_orders( "executionType": order.execution_type, "txHash": order.tx_hash, "cid": order.cid, + "accountAddress": order.account_address, }, ], "paging": { @@ -622,6 +636,10 @@ async def test_fetch_positions( aggregate_reduce_only_quantity="0", updated_at=1700161202147, created_at=-62135596800000, + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", ) paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -663,6 +681,10 @@ async def test_fetch_positions( "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, "createdAt": str(position.created_at), "updatedAt": str(position.updated_at), + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, }, ], "paging": { @@ -693,6 +715,11 @@ async def test_fetch_positions_v2( mark_price="16197000", updated_at=1700161202147, denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", + upnl="10.123456789", ) paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -733,6 +760,15 @@ async def test_fetch_positions_v2( "markPrice": position.mark_price, "updatedAt": str(position.updated_at), "denom": position.denom, + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, + "upnl": position.upnl, + "initialLeverage": position.initial_leverage, + "initialMargin": position.initial_margin, + "initialEntryPrice": position.initial_entry_price, + "initialQuantity": position.initial_quantity, }, ], "paging": { @@ -764,6 +800,10 @@ async def test_fetch_liquidable_positions( aggregate_reduce_only_quantity="0", updated_at=1700161202147, created_at=-62135596800000, + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", ) derivative_servicer.liquidable_positions_responses.append( @@ -794,6 +834,10 @@ async def test_fetch_liquidable_positions( "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, "createdAt": str(position.created_at), "updatedAt": str(position.updated_at), + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, }, ] } @@ -929,6 +973,7 @@ async def test_fetch_trades( trade_id="8662464_1_0", execution_side="taker", cid="cid1", + pnl="1000.123456789", ) paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -952,6 +997,7 @@ async def test_fetch_trades( trade_id=trade.trade_id, account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -980,6 +1026,7 @@ async def test_fetch_trades( "tradeId": trade.trade_id, "executionSide": trade.execution_side, "cid": trade.cid, + "pnl": trade.pnl, }, ], "paging": { @@ -1068,6 +1115,7 @@ async def test_fetch_subaccount_orders_list( "executionType": order.execution_type, "txHash": order.tx_hash, "cid": order.cid, + "accountAddress": order.account_address, }, ], "paging": { @@ -1107,6 +1155,7 @@ async def test_fetch_subaccount_trades_list( trade_id="8662464_1_0", execution_side="taker", cid="cid1", + pnl="1000.123456789", ) derivative_servicer.subaccount_trades_list_responses.append( @@ -1148,6 +1197,7 @@ async def test_fetch_subaccount_trades_list( "tradeId": trade.trade_id, "executionSide": trade.execution_side, "cid": trade.cid, + "pnl": trade.pnl, }, ], } @@ -1276,6 +1326,7 @@ async def test_fetch_trades_v2( trade_id="8662464_1_0", execution_side="taker", cid="cid1", + pnl="1000.123456789", ) paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -1299,6 +1350,7 @@ async def test_fetch_trades_v2( trade_id=trade.trade_id, account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -1327,6 +1379,7 @@ async def test_fetch_trades_v2( "tradeId": trade.trade_id, "executionSide": trade.execution_side, "cid": trade.cid, + "pnl": trade.pnl, }, ], "paging": { @@ -1340,6 +1393,34 @@ async def test_fetch_trades_v2( assert result_trades == expected_trades + @pytest.mark.asyncio + async def test_fetch_open_interest( + self, + derivative_servicer, + ): + market_open_interest = exchange_derivative_pb.MarketOpenInterest( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + open_interest="1.2343567898", + ) + + derivative_servicer.open_interest_responses.append( + exchange_derivative_pb.OpenInterestResponse(open_interests=[market_open_interest]) + ) + + api = self._api_instance(servicer=derivative_servicer) + + result_trades = await api.fetch_open_interest(market_ids=[market_open_interest.market_id]) + expected_trades = { + "openInterests": [ + { + "marketId": market_open_interest.market_id, + "openInterest": market_open_interest.open_interest, + }, + ], + } + + assert result_trades == expected_trades + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) diff --git a/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py b/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py index faf4364a..e052e5f4 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py @@ -311,6 +311,148 @@ async def test_fetch_contract_txs( assert result_contract_txs == expected_contract_txs + @pytest.mark.asyncio + async def test_fetch_contract_txs_v2( + self, + explorer_servicer, + ): + code = 5 + coin = exchange_explorer_pb.CosmosCoin( + denom="inj", + amount="200000000000000", + ) + gas_fee = exchange_explorer_pb.GasFee( + amount=[coin], gas_limit=400000, payer="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", granter="test granter" + ) + event = exchange_explorer_pb.Event(type="test event type", attributes={"first_attribute": "attribute 1"}) + signature = exchange_explorer_pb.Signature( + pubkey="02c33c539e2aea9f97137e8168f6e22f57b829876823fa04b878a2b7c2010465d9", + address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", + sequence=223460, + signature="gFXPJ5QENzq9SUHshE8g++aRLIlRCRVcOsYq+EOr3T4QgAAs5bVHf8NhugBjJP9B+AfQjQNNneHXPF9dEp4Uehs=", + ) + claim_id = 100 + + tx_data = exchange_explorer_pb.TxDetailData( + id="test id", + block_number=18138926, + block_timestamp="2023-11-07 23:19:55.371 +0000 UTC", + hash="0x3790ade2bea6c8605851ec89fa968adf2a2037a5ecac11ca95e99260508a3b7e", + code=code, + data=b"\022&\n$/cosmos.bank.v1beta1.MsgSendResponse", + info="test info", + gas_wanted=400000, + gas_used=93696, + gas_fee=gas_fee, + codespace="test codespace", + events=[event], + tx_type="injective-web3", + messages=b'[{"type":"/cosmos.bank.v1beta1.MsgSend","value":{' + b'"from_address":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex",' + b'"to_address":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc",' + b'"amount":[{"denom":"factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth",' + b'"amount":"100000000000000000"}]}}]', + signatures=[signature], + memo="test memo", + tx_number=221429, + block_unix_timestamp=1699399195371, + error_log="", + logs=b'[{"msg_index":0,"events":[{"type":"message","attributes":[' + b'{"key":"action","value":"/cosmos.bank.v1beta1.MsgSend"},' + b'{"key":"sender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},' + b'{"key":"module","value":"bank"}]},{"type":"coin_spent","attributes":[' + b'{"key":"spender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},' + b'{"key":"amount","value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}' + b']},{"type":"coin_received","attributes":[' + b'{"key":"receiver","value":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc"},' + b'{"key":"amount","value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}' + b']},{"type":"transfer","attributes":[' + b'{"key":"recipient","value":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc"},' + b'{"key":"sender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},' + b'{"key":"amount","value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}' + b']},{"type":"message","attributes":[' + b'{"key":"sender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"}]}]}]', + claim_ids=[claim_id], + ) + response_paging = exchange_explorer_pb.Cursor( + next=["next-page"], + ) + + explorer_servicer.contract_txs_v2_responses.append( + exchange_explorer_pb.GetContractTxsV2Response( + data=[tx_data], + paging=response_paging, + ) + ) + + api = self._api_instance(servicer=explorer_servicer) + + result_contract_txs = await api.fetch_contract_txs_v2( + address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", + height=8, + token="inj", + status="status", + pagination=PaginationOption( + limit=100, + start_time=1699544939364, + end_time=1699744939364, + ), + ) + expected_contract_txs = { + "data": [ + { + "id": tx_data.id, + "blockNumber": str(tx_data.block_number), + "blockTimestamp": tx_data.block_timestamp, + "hash": tx_data.hash, + "code": tx_data.code, + "data": base64.b64encode(tx_data.data).decode(), + "info": tx_data.info, + "gasWanted": str(tx_data.gas_wanted), + "gasUsed": str(tx_data.gas_used), + "gasFee": { + "amount": [ + { + "denom": coin.denom, + "amount": coin.amount, + } + ], + "gasLimit": str(gas_fee.gas_limit), + "payer": gas_fee.payer, + "granter": gas_fee.granter, + }, + "codespace": tx_data.codespace, + "events": [ + { + "type": event.type, + "attributes": event.attributes, + } + ], + "txType": tx_data.tx_type, + "messages": base64.b64encode(tx_data.messages).decode(), + "signatures": [ + { + "pubkey": signature.pubkey, + "address": signature.address, + "sequence": str(signature.sequence), + "signature": signature.signature, + } + ], + "memo": tx_data.memo, + "txNumber": str(tx_data.tx_number), + "blockUnixTimestamp": str(tx_data.block_unix_timestamp), + "errorLog": tx_data.error_log, + "logs": base64.b64encode(tx_data.logs).decode(), + "claimIds": [str(claim_id)], + }, + ], + "paging": { + "next": ["next-page"], + }, + } + + assert result_contract_txs == expected_contract_txs + @pytest.mark.asyncio async def test_fetch_blocks( self, @@ -325,6 +467,7 @@ async def test_fetch_blocks( num_pre_commits=20, num_txs=4, timestamp="2023-11-29 20:23:33.842 +0000 UTC", + block_unix_timestamp=1699744939364, ) paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -358,6 +501,7 @@ async def test_fetch_blocks( "numTxs": str(block_info.num_txs), "txs": [], "timestamp": block_info.timestamp, + "blockUnixTimestamp": str(block_info.block_unix_timestamp), }, ], "paging": { @@ -376,6 +520,12 @@ async def test_fetch_block( self, explorer_servicer, ): + signature = exchange_explorer_pb.Signature( + pubkey="02c33c539e2aea9f97137e8168f6e22f57b829876823fa04b878a2b7c2010465d9", + address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", + sequence=223460, + signature="gFXPJ5QENzq9SUHshE8g++aRLIlRCRVcOsYq+EOr3T4QgAAs5bVHf8NhugBjJP9B+AfQjQNNneHXPF9dEp4Uehs=", + ) tx_data = exchange_explorer_pb.TxData( id="tx id", block_number=5825046, @@ -384,6 +534,10 @@ async def test_fetch_block( messages=b"null", tx_number=994979, tx_msg_types=b'["/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder"]', + signatures=[signature], + block_unix_timestamp=1699744939364, + ethereum_tx_hash_hex="0xbe8c8ca9a41196adf59b88fe9efd78e7532e04169152e779be3dc14ba7c360d9", + memo="test memo", ) block_info = exchange_explorer_pb.BlockDetailInfo( height=19034578, @@ -396,6 +550,7 @@ async def test_fetch_block( total_txs=5, txs=[tx_data], timestamp="2023-11-29 20:23:33.842 +0000 UTC", + block_unix_timestamp=123456789, ) explorer_servicer.block_responses.append( @@ -435,9 +590,21 @@ async def test_fetch_block( "txMsgTypes": base64.b64encode(tx_data.tx_msg_types).decode(), "logs": base64.b64encode(tx_data.logs).decode(), "claimIds": tx_data.claim_ids, + "signatures": [ + { + "pubkey": signature.pubkey, + "address": signature.address, + "sequence": str(signature.sequence), + "signature": signature.signature, + } + ], + "blockUnixTimestamp": str(tx_data.block_unix_timestamp), + "ethereumTxHashHex": tx_data.ethereum_tx_hash_hex, + "memo": tx_data.memo, } ], "timestamp": block_info.timestamp, + "blockUnixTimestamp": str(block_info.block_unix_timestamp), }, } @@ -645,6 +812,12 @@ async def test_fetch_txs( code = 5 claim_id = 100 + signature = exchange_explorer_pb.Signature( + pubkey="02c33c539e2aea9f97137e8168f6e22f57b829876823fa04b878a2b7c2010465d9", + address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", + sequence=223460, + signature="gFXPJ5QENzq9SUHshE8g++aRLIlRCRVcOsYq+EOr3T4QgAAs5bVHf8NhugBjJP9B+AfQjQNNneHXPF9dEp4Uehs=", + ) tx_data = exchange_explorer_pb.TxData( id="test id", block_number=18138926, @@ -676,6 +849,10 @@ async def test_fetch_txs( b']},{"type":"message","attributes":[' b'{"key":"sender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"}]}]}]', claim_ids=[claim_id], + signatures=[signature], + block_unix_timestamp=1699744939364, + ethereum_tx_hash_hex="0xbe8c8ca9a41196adf59b88fe9efd78e7532e04169152e779be3dc14ba7c360d9", + memo="test memo", ) paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) @@ -720,6 +897,17 @@ async def test_fetch_txs( "txMsgTypes": base64.b64encode(tx_data.tx_msg_types).decode(), "logs": base64.b64encode(tx_data.logs).decode(), "claimIds": [str(claim_id)], + "signatures": [ + { + "pubkey": signature.pubkey, + "address": signature.address, + "sequence": str(signature.sequence), + "signature": signature.signature, + } + ], + "blockUnixTimestamp": str(tx_data.block_unix_timestamp), + "ethereumTxHashHex": tx_data.ethereum_tx_hash_hex, + "memo": tx_data.memo, }, ], "paging": { @@ -1090,10 +1278,10 @@ async def test_fetch_wasm_codes( api = self._api_instance(servicer=explorer_servicer) result_wasm_codes = await api.fetch_wasm_codes( - from_number=1, - to_number=1000, pagination=PaginationOption( limit=100, + from_number=1, + to_number=1000, ), ) expected_wasm_codes = { @@ -1233,13 +1421,15 @@ async def test_fetch_wasm_contracts( result_wasm_contracts = await api.fetch_wasm_contracts( code_id=wasm_contract.code_id, - from_number=1, - to_number=1000, assets_only=False, label=wasm_contract.label, + token="inj", + lookup="lookup text", pagination=PaginationOption( limit=100, skip=10, + from_number=1, + to_number=1000, ), ) expected_wasm_contracts = { @@ -1444,6 +1634,7 @@ async def test_fetch_bank_transfers( coin = exchange_explorer_pb.Coin( denom="inj", amount="200000000000000", + usd_value="300000000000000", ) bank_transfer = exchange_explorer_pb.BankTransfer( sender="inj17xpfvakm2amg962yls6f84z3kell8c5l6s5ye9", @@ -1485,6 +1676,7 @@ async def test_fetch_bank_transfers( { "denom": coin.denom, "amount": coin.amount, + "usdValue": coin.usd_value, } ], "blockNumber": str(bank_transfer.block_number), diff --git a/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py b/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py index 96ac10d7..dc9dce34 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py @@ -27,14 +27,14 @@ async def test_fetch_oracle_list( ) oracle_servicer.oracle_list_responses.append( - exchange_oracle_pb.OracleListResponse( - oracles=[oracle], - ) + exchange_oracle_pb.OracleListResponse(oracles=[oracle], next=["token2"]) ) api = self._api_instance(servicer=oracle_servicer) - result_oracle_list = await api.fetch_oracle_list() + result_oracle_list = await api.fetch_oracle_list( + symbol="Gold/USDT", oracle_type="pricefeed", per_page=100, token="token1" + ) expected_oracle_list = { "oracles": [ { @@ -44,7 +44,8 @@ async def test_fetch_oracle_list( "oracleType": oracle.oracle_type, "price": oracle.price, } - ] + ], + "next": ["token2"], } assert result_oracle_list == expected_oracle_list @@ -74,6 +75,48 @@ async def test_fetch_oracle_price( assert result_oracle_list == expected_oracle_list + @pytest.mark.asyncio + async def test_fetch_oracle_price_v2( + self, + oracle_servicer, + ): + price_result = exchange_oracle_pb.PriceV2Result( + base_symbol="Gold", + quote_symbol="USDT", + oracle_type="pricefeed", + oracle_scale_factor=6, + price="10.56", + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + ) + + price_response = exchange_oracle_pb.PriceV2Response(prices=[price_result]) + + oracle_servicer.price_v2_responses.append(price_response) + + api = self._api_instance(servicer=oracle_servicer) + + filter = exchange_oracle_pb.PricePayloadV2( + base_symbol="Gold", + quote_symbol="USDT", + oracle_type="pricefeed", + oracle_scale_factor=6, + ) + result_oracle_list = await api.fetch_oracle_price_v2(filters=[filter]) + expected_oracle_list = { + "prices": [ + { + "baseSymbol": price_result.base_symbol, + "quoteSymbol": price_result.quote_symbol, + "oracleType": price_result.oracle_type, + "oracleScaleFactor": price_result.oracle_scale_factor, + "price": price_result.price, + "marketId": price_result.market_id, + } + ] + } + + assert result_oracle_list == expected_oracle_list + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) diff --git a/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py b/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py index 45d5ea62..11de48fb 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py @@ -21,10 +21,13 @@ async def test_fetch_account_portfolio( coin = exchange_portfolio_pb.Coin( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", amount="2322098", + usd_value="1000000000000000000", ) subaccount_deposit = exchange_portfolio_pb.SubaccountDeposit( total_balance="0.170858923182467801", available_balance="0.170858923182467801", + total_balance_usd="200.000000000000000000", + available_balance_usd="112.000000000000000000", ) subaccount_balance = exchange_portfolio_pb.SubaccountBalanceV2( subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000000", @@ -44,6 +47,10 @@ async def test_fetch_account_portfolio( aggregate_reduce_only_quantity="0", updated_at=1700161202147, created_at=-62135596800000, + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", ) positions_with_upnl = exchange_portfolio_pb.PositionsWithUPNL( position=position, @@ -73,6 +80,7 @@ async def test_fetch_account_portfolio( { "denom": coin.denom, "amount": coin.amount, + "usdValue": coin.usd_value, } ], "subaccounts": [ @@ -82,6 +90,8 @@ async def test_fetch_account_portfolio( "deposit": { "totalBalance": subaccount_deposit.total_balance, "availableBalance": subaccount_deposit.available_balance, + "totalBalanceUsd": subaccount_deposit.total_balance_usd, + "availableBalanceUsd": subaccount_deposit.available_balance_usd, }, } ], @@ -100,6 +110,10 @@ async def test_fetch_account_portfolio( "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, "createdAt": str(position.created_at), "updatedAt": str(position.updated_at), + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, }, "unrealizedPnl": positions_with_upnl.unrealized_pnl, }, @@ -117,10 +131,13 @@ async def test_fetch_account_portfolio_balances( coin = exchange_portfolio_pb.Coin( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", amount="2322098", + usd_value="120.000000000000000000", ) subaccount_deposit = exchange_portfolio_pb.SubaccountDeposit( total_balance="0.170858923182467801", available_balance="0.170858923182467801", + total_balance_usd="120.000000000000000000", + available_balance_usd="120.000000000000000000", ) subaccount_balance = exchange_portfolio_pb.SubaccountBalanceV2( subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000000", @@ -132,6 +149,7 @@ async def test_fetch_account_portfolio_balances( account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", bank_balances=[coin], subaccounts=[subaccount_balance], + total_usd="300.000000000000000000", ) portfolio_servicer.account_portfolio_balances_responses.append( @@ -142,7 +160,7 @@ async def test_fetch_account_portfolio_balances( api = self._api_instance(servicer=portfolio_servicer) - result_auction = await api.fetch_account_portfolio_balances(account_address=portfolio.account_address) + result_auction = await api.fetch_account_portfolio_balances(account_address=portfolio.account_address, usd=True) expected_auction = { "portfolio": { "accountAddress": portfolio.account_address, @@ -150,6 +168,7 @@ async def test_fetch_account_portfolio_balances( { "denom": coin.denom, "amount": coin.amount, + "usdValue": coin.usd_value, } ], "subaccounts": [ @@ -159,9 +178,12 @@ async def test_fetch_account_portfolio_balances( "deposit": { "totalBalance": subaccount_deposit.total_balance, "availableBalance": subaccount_deposit.available_balance, + "totalBalanceUsd": subaccount_deposit.total_balance_usd, + "availableBalanceUsd": subaccount_deposit.available_balance_usd, }, } ], + "totalUsd": portfolio.total_usd, } } diff --git a/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py b/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py index f17dac2d..1f8ba077 100644 --- a/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py +++ b/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py @@ -203,6 +203,7 @@ async def test_fetch_orderbook_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) spot_servicer.orderbook_v2_responses.append( @@ -214,7 +215,8 @@ async def test_fetch_orderbook_v2( api = self._api_instance(servicer=spot_servicer) result_orderbook = await api.fetch_orderbook_v2( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + depth=1, ) expected_orderbook = { "orderbook": { @@ -234,6 +236,7 @@ async def test_fetch_orderbook_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), } } @@ -260,6 +263,7 @@ async def test_fetch_orderbooks_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) single_orderbook = exchange_spot_pb.SingleSpotLimitOrderbookV2( @@ -275,7 +279,7 @@ async def test_fetch_orderbooks_v2( api = self._api_instance(servicer=spot_servicer) - result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id]) + result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id], depth=1) expected_orderbook = { "orderbooks": [ { @@ -297,6 +301,7 @@ async def test_fetch_orderbooks_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), }, } ] @@ -430,6 +435,7 @@ async def test_fetch_trades( trade_id=trade.trade_id, account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -700,8 +706,16 @@ async def test_fetch_atomic_swap_history( self, spot_servicer, ): - source_coin = exchange_spot_pb.Coin(denom="inj", amount="988987297011197594664") - dest_coin = exchange_spot_pb.Coin(denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", amount="54497408") + source_coin = exchange_spot_pb.Coin( + denom="inj", + amount="988987297011197594664", + usd_value="1000000000000000000000", + ) + dest_coin = exchange_spot_pb.Coin( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + amount="54497408", + usd_value="200000000000000000", + ) fee = exchange_spot_pb.Coin(denom="inj", amount="100000") atomic_swap = exchange_spot_pb.AtomicSwap( @@ -743,15 +757,19 @@ async def test_fetch_atomic_swap_history( "data": [ { "contractAddress": atomic_swap.contract_address, - "destCoin": {"amount": dest_coin.amount, "denom": dest_coin.denom}, + "destCoin": {"amount": dest_coin.amount, "denom": dest_coin.denom, "usdValue": dest_coin.usd_value}, "executedAt": str(atomic_swap.executed_at), - "fees": [{"amount": fee.amount, "denom": fee.denom}], + "fees": [{"amount": fee.amount, "denom": fee.denom, "usdValue": fee.usd_value}], "indexBySender": atomic_swap.index_by_sender, "indexBySenderContract": atomic_swap.index_by_sender_contract, "refundAmount": atomic_swap.refund_amount, "route": atomic_swap.route, "sender": atomic_swap.sender, - "sourceCoin": {"amount": source_coin.amount, "denom": source_coin.denom}, + "sourceCoin": { + "amount": source_coin.amount, + "denom": source_coin.denom, + "usdValue": source_coin.usd_value, + }, "txHash": atomic_swap.tx_hash, } ], @@ -813,6 +831,7 @@ async def test_fetch_trades_v2( trade_id=trade.trade_id, account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_account_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_account_stream.py index 925e85c8..9aca1a8e 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_account_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_account_stream.py @@ -23,6 +23,8 @@ async def test_fetch_portfolio( deposit = exchange_accounts_pb.SubaccountDeposit( total_balance="20", available_balance="10", + total_balance_usd="1000000000000000000", + available_balance_usd="500000000000000000", ) balance = exchange_accounts_pb.SubaccountBalance( subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", @@ -59,6 +61,8 @@ async def test_fetch_portfolio( "deposit": { "availableBalance": balance.deposit.available_balance, "totalBalance": balance.deposit.total_balance, + "totalBalanceUsd": balance.deposit.total_balance_usd, + "availableBalanceUsd": balance.deposit.available_balance_usd, }, "subaccountId": balance.subaccount_id, }, diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_derivative_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_derivative_stream.py index 55c491cd..5f94134f 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_derivative_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_derivative_stream.py @@ -42,6 +42,7 @@ async def test_stream_market( cumulative_funding="-82680.076492986572881307", cumulative_price="-78.41752505919454668", last_timestamp=1700004260, + last_funding_rate="0.12345", ) market = exchange_derivative_pb.DerivativeMarketInfo( @@ -54,6 +55,7 @@ async def test_stream_market( oracle_scale_factor=6, initial_margin_ratio="0.05", maintenance_margin_ratio="0.02", + reduce_margin_ratio="0.3", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", quote_token_meta=quote_token_meta, maker_fee_rate="-0.0001", @@ -103,6 +105,7 @@ async def test_stream_market( "oracleScaleFactor": market.oracle_scale_factor, "initialMarginRatio": market.initial_margin_ratio, "maintenanceMarginRatio": market.maintenance_margin_ratio, + "reduceMarginRatio": market.reduce_margin_ratio, "quoteDenom": market.quote_denom, "quoteTokenMeta": { "name": market.quote_token_meta.name, @@ -129,6 +132,7 @@ async def test_stream_market( "cumulativeFunding": perpetual_market_funding.cumulative_funding, "cumulativePrice": perpetual_market_funding.cumulative_price, "lastTimestamp": str(perpetual_market_funding.last_timestamp), + "lastFundingRate": perpetual_market_funding.last_funding_rate, }, }, "operationType": operation_type, @@ -165,6 +169,7 @@ async def test_stream_orderbook_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) derivative_servicer.stream_orderbook_v2_responses.append( @@ -211,6 +216,7 @@ async def test_stream_orderbook_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), }, "operationType": operation_type, "timestamp": str(timestamp), @@ -329,6 +335,10 @@ async def test_stream_positions( aggregate_reduce_only_quantity="0", updated_at=1700161202147, created_at=-62135596800000, + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", ) derivative_servicer.stream_positions_responses.append( @@ -370,6 +380,10 @@ async def test_stream_positions( "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, "createdAt": str(position.created_at), "updatedAt": str(position.updated_at), + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, }, "timestamp": str(timestamp), } @@ -475,6 +489,7 @@ async def test_stream_orders( "executionType": order.execution_type, "txHash": order.tx_hash, "cid": order.cid, + "accountAddress": order.account_address, }, "operationType": operation_type, "timestamp": str(timestamp), @@ -514,6 +529,7 @@ async def test_stream_trades( trade_id="8662464_1_0", execution_side="taker", cid="cid1", + pnl="1000.123456789", ) derivative_servicer.stream_trades_responses.append( @@ -533,7 +549,7 @@ async def test_stream_trades( error_callback = lambda exception: pytest.fail(str(exception)) end_callback = lambda: end_event.set() - asyncio.get_event_loop().create_task( + task = asyncio.get_event_loop().create_task( api.stream_trades( callback=callback, on_end_callback=end_callback, @@ -546,6 +562,7 @@ async def test_stream_trades( trade_id="7959737_3_0", account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -574,6 +591,7 @@ async def test_stream_trades( "tradeId": trade.trade_id, "executionSide": trade.execution_side, "cid": trade.cid, + "pnl": trade.pnl, }, "operationType": operation_type, "timestamp": str(timestamp), @@ -581,6 +599,7 @@ async def test_stream_trades( first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) + task.cancel("Test finishing") assert first_update == expected_update assert end_event.is_set() @@ -708,6 +727,7 @@ async def test_stream_trades_v2( trade_id="8662464_1_0", execution_side="taker", cid="cid1", + pnl="1000.123456789", ) derivative_servicer.stream_trades_v2_responses.append( @@ -727,7 +747,7 @@ async def test_stream_trades_v2( error_callback = lambda exception: pytest.fail(str(exception)) end_callback = lambda: end_event.set() - asyncio.get_event_loop().create_task( + task = asyncio.get_event_loop().create_task( api.stream_trades_v2( callback=callback, on_end_callback=end_callback, @@ -740,6 +760,7 @@ async def test_stream_trades_v2( trade_id="7959737_3_0", account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -768,6 +789,7 @@ async def test_stream_trades_v2( "tradeId": trade.trade_id, "executionSide": trade.execution_side, "cid": trade.cid, + "pnl": trade.pnl, }, "operationType": operation_type, "timestamp": str(timestamp), @@ -775,6 +797,96 @@ async def test_stream_trades_v2( first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) + task.cancel("Test finishing") + assert first_update == expected_update + assert end_event.is_set() + + @pytest.mark.asyncio + async def test_stream_positions_v2( + self, + derivative_servicer, + ): + timestamp = 1672218001897 + + position = exchange_derivative_pb.DerivativePositionV2( + ticker="INJ/USDT PERP", + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + subaccount_id="0x1383dabde57e5aed55960ee43e158ae7118057d3000000000000000000000000", + direction="short", + quantity="0.070294765766186502", + entry_price="15980281.340438795311756847", + margin="561065.540974", + liquidation_price="23492052.224777", + mark_price="16197000", + updated_at=1700161202147, + denom="inj", + funding_last="1000.123456789", + funding_sum="9999.123456789", + cumulative_funding_entry="20000.123456789", + effective_cumulative_funding_entry="30000.123456789", + upnl="10.123456789", + ) + + derivative_servicer.stream_positions_v2_responses.append( + exchange_derivative_pb.StreamPositionsV2Response( + position=position, + timestamp=timestamp, + ) + ) + + api = self._api_instance(servicer=derivative_servicer) + + positions = asyncio.Queue() + end_event = asyncio.Event() + + callback = lambda update: positions.put_nowait(update) + error_callback = lambda exception: pytest.fail(str(exception)) + end_callback = lambda: end_event.set() + + stream_task = asyncio.get_event_loop().create_task( + api.stream_positions_v2( + callback=callback, + on_end_callback=end_callback, + on_status_callback=error_callback, + market_ids=[position.market_id], + subaccount_ids=[position.subaccount_id], + subaccount_id=position.subaccount_id, + market_id=position.market_id, + account_address="inj1address", + ) + ) + expected_update = { + "position": { + "ticker": position.ticker, + "marketId": position.market_id, + "subaccountId": position.subaccount_id, + "direction": position.direction, + "quantity": position.quantity, + "entryPrice": position.entry_price, + "margin": position.margin, + "liquidationPrice": position.liquidation_price, + "markPrice": position.mark_price, + "updatedAt": str(position.updated_at), + "denom": position.denom, + "fundingLast": position.funding_last, + "fundingSum": position.funding_sum, + "cumulativeFundingEntry": position.cumulative_funding_entry, + "effectiveCumulativeFundingEntry": position.effective_cumulative_funding_entry, + "upnl": position.upnl, + "initialLeverage": position.initial_leverage, + "initialMargin": position.initial_margin, + "initialEntryPrice": position.initial_entry_price, + "initialQuantity": position.initial_quantity, + }, + "timestamp": str(timestamp), + "operationType": "", + } + + first_update = await asyncio.wait_for(positions.get(), timeout=1) + + # Optional: cancel the task if needed + stream_task.cancel() + assert first_update == expected_update assert end_event.is_set() diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_explorer_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_explorer_stream.py index b960076a..59fe9f2d 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_explorer_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_explorer_stream.py @@ -89,6 +89,7 @@ async def test_stream_blocks( num_pre_commits=20, num_txs=4, timestamp="2023-11-29 20:23:33.842 +0000 UTC", + block_unix_timestamp=1699744939364, ) explorer_servicer.stream_blocks_responses.append(block_info) @@ -119,6 +120,7 @@ async def test_stream_blocks( "numTxs": str(block_info.num_txs), "txs": [], "timestamp": block_info.timestamp, + "blockUnixTimestamp": str(block_info.block_unix_timestamp), } first_update = await asyncio.wait_for(blocks_updates.get(), timeout=1) diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py index 2e60d84a..4c68ea6d 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py @@ -97,6 +97,55 @@ async def test_stream_oracle_prices_by_markets( assert first_update == expected_update assert end_event.is_set() + @pytest.mark.asyncio + async def test_stream_oracle_list( + self, + oracle_servicer, + ): + symbol = "TIA" + oracle_type = "provider" + price = "1.23" + timestamp = 1672218001897 + + oracle_servicer.stream_oracle_list_responses.append( + exchange_oracle_pb.StreamOracleListResponse( + symbol=symbol, + oracle_type=oracle_type, + price=price, + timestamp=timestamp, + ) + ) + + api = self._api_instance(servicer=oracle_servicer) + + updates = asyncio.Queue() + end_event = asyncio.Event() + + callback = lambda update: updates.put_nowait(update) + error_callback = lambda exception: pytest.fail(str(exception)) + end_callback = lambda: end_event.set() + + asyncio.get_event_loop().create_task( + api.stream_oracle_list( + callback=callback, + on_end_callback=end_callback, + on_status_callback=error_callback, + oracle_type=oracle_type, + symbols=[symbol], + ) + ) + expected_update = { + "symbol": symbol, + "oracleType": oracle_type, + "price": price, + "timestamp": str(timestamp), + } + + first_update = await asyncio.wait_for(updates.get(), timeout=1) + + assert first_update == expected_update + assert end_event.is_set() + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint) diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_spot_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_spot_stream.py index 96b31d49..d4432cde 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_spot_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_spot_stream.py @@ -146,6 +146,7 @@ async def test_stream_orderbook_v2( sells=[sell], sequence=5506752, timestamp=1698982083606, + height=1000, ) spot_servicer.stream_orderbook_v2_responses.append( @@ -192,6 +193,7 @@ async def test_stream_orderbook_v2( ], "sequence": str(orderbook.sequence), "timestamp": str(orderbook.timestamp), + "height": str(orderbook.height), }, "operationType": operation_type, "timestamp": str(timestamp), @@ -424,7 +426,7 @@ async def test_stream_trades( error_callback = lambda exception: pytest.fail(str(exception)) end_callback = lambda: end_event.set() - asyncio.get_event_loop().create_task( + task = asyncio.get_event_loop().create_task( api.stream_trades( callback=callback, on_end_callback=end_callback, @@ -437,6 +439,7 @@ async def test_stream_trades( trade_id="7959737_3_0", account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -470,6 +473,7 @@ async def test_stream_trades( first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) + task.cancel() assert first_update == expected_update assert end_event.is_set() @@ -604,7 +608,7 @@ async def test_stream_trades_v2( error_callback = lambda exception: pytest.fail(str(exception)) end_callback = lambda: end_event.set() - asyncio.get_event_loop().create_task( + task = asyncio.get_event_loop().create_task( api.stream_trades_v2( callback=callback, on_end_callback=end_callback, @@ -617,6 +621,7 @@ async def test_stream_trades_v2( trade_id="7959737_3_0", account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", cid=trade.cid, + fee_recipient=trade.fee_recipient, pagination=PaginationOption( skip=0, limit=100, @@ -650,6 +655,7 @@ async def test_stream_trades_v2( first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) + task.cancel() assert first_update == expected_update assert end_event.is_set() diff --git a/tests/core/tendermint/grpc/test_tendermint_grpc_api.py b/tests/core/tendermint/grpc/test_tendermint_grpc_api.py index cf61f18b..487a75be 100644 --- a/tests/core/tendermint/grpc/test_tendermint_grpc_api.py +++ b/tests/core/tendermint/grpc/test_tendermint_grpc_api.py @@ -6,10 +6,10 @@ from pyinjective.client.model.pagination import PaginationOption from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.core.tendermint.grpc.tendermint_grpc_api import TendermintGrpcApi +from pyinjective.proto.cometbft.p2p.v1 import types_pb2 as cometbft_p2p_types +from pyinjective.proto.cometbft.types.v1 import types_pb2 as cometbft_types from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb from pyinjective.proto.cosmos.base.tendermint.v1beta1 import query_pb2 as tendermint_query -from pyinjective.proto.tendermint.p2p import types_pb2 as tendermint_p2p_types -from pyinjective.proto.tendermint.types import types_pb2 as tendermint_types from tests.core.tendermint.grpc.configurable_tendermint_query_servicer import ConfigurableTendermintQueryServicer @@ -24,16 +24,16 @@ async def test_fetch_node_info( self, tendermint_servicer, ): - protocol_version = tendermint_p2p_types.ProtocolVersion( + protocol_version = cometbft_p2p_types.ProtocolVersion( p2p=7, block=10, app=0, ) - other = tendermint_p2p_types.DefaultNodeInfoOther( + other = cometbft_p2p_types.DefaultNodeInfoOther( tx_index="on", rpc_address="tcp://0.0.0.0:26657", ) - node_info = tendermint_p2p_types.DefaultNodeInfo( + node_info = cometbft_p2p_types.DefaultNodeInfo( protocol_version=protocol_version, default_node_id="dda2a9ee6dc43955d0942be709a16a301f7ba318", listen_addr="tcp://0.0.0.0:26656", @@ -132,9 +132,9 @@ async def test_fetch_latest_block( self, tendermint_servicer, ): - block_id = tendermint_types.BlockID( + block_id = cometbft_types.BlockID( hash="bdc7f6e819864a8fd050dd4494dd560c1a1519fba3383dfabbec0ea271a34979".encode(), - part_set_header=tendermint_types.PartSetHeader( + part_set_header=cometbft_types.PartSetHeader( total=1, hash="859e00bfb56409cc182a308bd72d0816e24d57f18fe5f2c5748111daaeb19fbd".encode(), ), @@ -166,9 +166,9 @@ async def test_fetch_block_by_height( self, tendermint_servicer, ): - block_id = tendermint_types.BlockID( + block_id = cometbft_types.BlockID( hash="bdc7f6e819864a8fd050dd4494dd560c1a1519fba3383dfabbec0ea271a34979".encode(), - part_set_header=tendermint_types.PartSetHeader( + part_set_header=cometbft_types.PartSetHeader( total=1, hash="859e00bfb56409cc182a308bd72d0816e24d57f18fe5f2c5748111daaeb19fbd".encode(), ), diff --git a/tests/core/test_broadcaster.py b/tests/core/test_broadcaster.py index fc688777..4f65e79c 100644 --- a/tests/core/test_broadcaster.py +++ b/tests/core/test_broadcaster.py @@ -7,8 +7,6 @@ import pyinjective.ofac as ofac from pyinjective import PrivateKey -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer from pyinjective.core.broadcaster import MsgBroadcasterWithPk, StandardAccountBroadcasterConfig from pyinjective.core.network import Network @@ -31,18 +29,12 @@ def tearDown(self): def test_broadcast_address_in_ofac_list(self): network = Network.local() - client = AsyncClient( - network=Network.local(), - ) - composer = Mock(spec=Composer) - account_config = StandardAccountBroadcasterConfig(private_key=self.private_key_banned.to_hex()) with pytest.raises(Exception): _ = MsgBroadcasterWithPk( network=network, account_config=account_config, - client=client, - composer=composer, + client=None, fee_calculator=Mock(), ) diff --git a/tests/core/test_gas_heuristics_gas_limit_estimator.py b/tests/core/test_gas_heuristics_gas_limit_estimator.py new file mode 100644 index 00000000..fb201c83 --- /dev/null +++ b/tests/core/test_gas_heuristics_gas_limit_estimator.py @@ -0,0 +1,952 @@ +import math +from decimal import Decimal + +import pytest + +from pyinjective.composer_v2 import Composer +from pyinjective.core.gas_heuristics_gas_limit_estimator import ( + BINARY_OPTIONS_MARKET_ORDER_CREATION_GAS_LIMIT, + BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT, + BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT, + DECREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT, + DEPOSIT_GAS_LIMIT, + DERIVATIVE_MARKET_ORDER_CREATION_GAS_LIMIT, + DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT, + DERIVATIVE_ORDER_CREATION_GAS_LIMIT, + EXTERNAL_TRANSFER_GAS_LIMIT, + GTB_ORDERS_GAS_MULTIPLIER, + INCREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT, + POST_ONLY_BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT, + POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT, + POST_ONLY_SPOT_ORDER_CREATION_GAS_LIMIT, + SPOT_MARKET_ORDER_CREATION_GAS_LIMIT, + SPOT_ORDER_CANCELATION_GAS_LIMIT, + SPOT_ORDER_CREATION_GAS_LIMIT, + SUBACCOUNT_TRANSFER_GAS_LIMIT, + WITHDRAW_GAS_LIMIT, + BatchUpdateOrdersGasLimitEstimator, + GasHeuristicsGasLimitEstimator, +) +from pyinjective.core.gas_limit_estimator import ExecGasLimitEstimator +from pyinjective.core.network import Network +from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as gov_tx_pb +from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb +from pyinjective.proto.injective.exchange.v2 import tx_pb2 as injective_exchange_tx_pb +from tests.model_fixtures.markets_v2_fixtures import ( # noqa: F401 + btc_usdt_perp_market, + first_match_bet_market, + inj_token, + inj_usdt_spot_market, + usdt_perp_token, + usdt_token, +) + + +class TestGasLimitEstimator: + @pytest.fixture + def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): + composer = Composer( + network=Network.devnet().string(), + ) + + return composer + + def test_estimation_for_message_without_applying_rule(self, basic_composer): + message = basic_composer.msg_send(from_address="from_address", to_address="to_address", amount=1, denom="INJ") + + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_message_gas_limit = 150_000 + + assert expected_message_gas_limit == estimator.gas_limit() + + def test_estimation_for_batch_create_spot_limit_orders(self, basic_composer): + spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + orders = [ + basic_composer.spot_order( + market_id=spot_market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("5"), + quantity=Decimal("1"), + order_type="BUY", + ), + basic_composer.spot_order( + market_id=spot_market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("4"), + quantity=Decimal("1"), + order_type="BUY", + ), + ] + message = basic_composer.msg_batch_create_spot_limit_orders(sender="sender", orders=orders) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = SPOT_ORDER_CREATION_GAS_LIMIT + + assert (expected_order_gas_limit * 2) == estimator.gas_limit() + + def test_estimation_for_batch_cancel_spot_orders(self): + spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + orders = [ + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", + ), + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", + ), + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + ), + ] + message = composer.msg_batch_cancel_spot_orders(sender="sender", orders_data=orders) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = SPOT_ORDER_CANCELATION_GAS_LIMIT + + assert (expected_order_gas_limit * 3) == estimator.gas_limit() + + def test_estimation_for_batch_create_derivative_limit_orders(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + orders = [ + basic_composer.derivative_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(3), + quantity=Decimal(1), + margin=Decimal(3), + order_type="BUY", + ), + basic_composer.derivative_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(20), + quantity=Decimal(1), + margin=Decimal(20), + order_type="SELL", + ), + ] + message = basic_composer.msg_batch_create_derivative_limit_orders(sender="sender", orders=orders) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = DERIVATIVE_ORDER_CREATION_GAS_LIMIT + + assert (expected_order_gas_limit * 2) == estimator.gas_limit() + + def test_estimation_for_batch_cancel_derivative_orders(self): + spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + orders = [ + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", + ), + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", + ), + composer.order_data_without_mask( + market_id=spot_market_id, + subaccount_id="subaccount_id", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + ), + ] + message = composer.msg_batch_cancel_derivative_orders(sender="sender", orders_data=orders) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + + assert (expected_order_gas_limit * 3) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_create_spot_orders(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + orders = [ + basic_composer.spot_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("5"), + quantity=Decimal("1"), + order_type="BUY", + ), + basic_composer.spot_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("4"), + quantity=Decimal("1"), + order_type="BUY", + ), + ] + message = basic_composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=orders, + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = SPOT_ORDER_CREATION_GAS_LIMIT + + assert (expected_order_gas_limit * 2) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_create_derivative_orders(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + orders = [ + basic_composer.derivative_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(3), + quantity=Decimal(1), + margin=Decimal(3), + order_type="BUY", + ), + basic_composer.derivative_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(20), + quantity=Decimal(1), + margin=Decimal(20), + order_type="SELL", + ), + ] + message = basic_composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=orders, + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = DERIVATIVE_ORDER_CREATION_GAS_LIMIT + + assert (expected_order_gas_limit * 2) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_create_binary_orders(self, usdt_token): + market_id = "0x230dcce315364ff6360097838701b14713e2f4007d704df20ed3d81d09eec957" + composer = Composer(network="testnet") + orders = [ + composer.binary_options_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(3), + quantity=Decimal(1), + margin=Decimal(3), + order_type="BUY", + ), + composer.binary_options_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal(20), + quantity=Decimal(1), + margin=Decimal(20), + order_type="SELL", + ), + ] + message = composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=[], + binary_options_orders_to_create=orders, + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT + + assert (expected_order_gas_limit * 2) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_spot_orders(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + orders = [ + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + ), + ] + message = composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=orders, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = SPOT_ORDER_CANCELATION_GAS_LIMIT + + assert (expected_order_gas_limit * 3) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_derivative_orders(self): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + composer = Composer(network="testnet") + orders = [ + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + ), + ] + message = composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=orders, + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + + assert (expected_order_gas_limit * 3) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_binary_orders(self): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + composer = Composer(network="testnet") + orders = [ + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", + ), + composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", + ), + ] + message = composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + binary_options_orders_to_cancel=orders, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + + assert (expected_order_gas_limit * 3) == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_all_for_spot_market(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + + message = composer.msg_batch_update_orders( + sender="senders", + subaccount_id="subaccount_id", + spot_market_ids_to_cancel_all=[market_id], + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = ( + BatchUpdateOrdersGasLimitEstimator.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS * SPOT_ORDER_CANCELATION_GAS_LIMIT + ) + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_all_for_derivative_market(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + + message = composer.msg_batch_update_orders( + sender="senders", + subaccount_id="subaccount_id", + derivative_market_ids_to_cancel_all=[market_id], + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = ( + BatchUpdateOrdersGasLimitEstimator.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS + * DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + ) + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_batch_update_orders_to_cancel_all_for_binary_options_market(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = Composer(network="testnet") + + message = composer.msg_batch_update_orders( + sender="senders", + subaccount_id="subaccount_id", + binary_options_market_ids_to_cancel_all=[market_id], + derivative_orders_to_create=[], + spot_orders_to_create=[], + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = ( + BatchUpdateOrdersGasLimitEstimator.AVERAGE_CANCEL_ALL_AFFECTED_ORDERS + * BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + ) + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_create_spot_limit_order(self, basic_composer, inj_usdt_spot_market): + composer = basic_composer + market_id = inj_usdt_spot_market.id + + message = composer.msg_create_spot_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = SPOT_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_spot_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY_PO", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = POST_ONLY_SPOT_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_gtb_spot_limit_order(self, basic_composer, inj_usdt_spot_market): + composer = basic_composer + market_id = inj_usdt_spot_market.id + + message = composer.msg_create_spot_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = math.ceil(Decimal(SPOT_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER)) + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_spot_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY_PO", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = math.ceil( + Decimal(POST_ONLY_SPOT_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER) + ) + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_spot_market_order(self, basic_composer, inj_usdt_spot_market): + composer = basic_composer + market_id = inj_usdt_spot_market.id + + message = composer.msg_create_spot_market_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = SPOT_MARKET_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_cancel_spot_order(self, basic_composer, inj_usdt_spot_market): + composer = basic_composer + market_id = inj_usdt_spot_market.id + + message = composer.msg_cancel_spot_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + cid="cid", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = SPOT_ORDER_CANCELATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_derivative_limit_order(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + market_id = btc_usdt_perp_market.id + + message = composer.msg_create_derivative_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + margin=Decimal("7.523") * Decimal("0.01"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = DERIVATIVE_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_derivative_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + margin=Decimal("7.523") * Decimal("0.01"), + order_type="BUY_PO", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_gtb_derivative_limit_order(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + market_id = btc_usdt_perp_market.id + + message = composer.msg_create_derivative_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + margin=Decimal("7.523") * Decimal("0.01"), + order_type="BUY", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = math.ceil(Decimal(DERIVATIVE_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER)) + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_derivative_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + margin=Decimal("7.523") * Decimal("0.01"), + order_type="BUY_PO", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = math.ceil( + Decimal(POST_ONLY_DERIVATIVE_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER) + ) + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_derivative_market_order(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + market_id = btc_usdt_perp_market.id + + message = composer.msg_create_derivative_market_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("7.523"), + quantity=Decimal("0.01"), + margin=Decimal("7.523") * Decimal("0.01"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = DERIVATIVE_MARKET_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_cancel_derivative_order(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + market_id = btc_usdt_perp_market.id + + message = composer.msg_cancel_derivative_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + is_buy=True, + is_market_order=False, + is_conditional=False, + cid="cid", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_binary_options_limit_order(self, basic_composer, first_match_bet_market): + composer = basic_composer + market_id = first_match_bet_market.id + + message = composer.msg_create_binary_options_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("0.5"), + quantity=Decimal("10"), + margin=Decimal("0.5") * Decimal("10"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_binary_options_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("0.5"), + quantity=Decimal("10"), + margin=Decimal("0.5") * Decimal("10"), + order_type="BUY_PO", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = POST_ONLY_BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_gtb_binary_options_limit_order(self, basic_composer, first_match_bet_market): + composer = basic_composer + market_id = first_match_bet_market.id + + message = composer.msg_create_binary_options_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("0.5"), + quantity=Decimal("10"), + margin=Decimal("0.5") * Decimal("10"), + order_type="BUY", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = math.ceil( + Decimal(BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER) + ) + + assert expected_gas_cost == estimator.gas_limit() + + po_order_message = composer.msg_create_binary_options_limit_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("0.5"), + quantity=Decimal("10"), + margin=Decimal("0.5") * Decimal("10"), + order_type="BUY_PO", + expiration_block=1234567, + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=po_order_message) + + expected_gas_cost = math.ceil( + Decimal(POST_ONLY_BINARY_OPTIONS_ORDER_CREATION_GAS_LIMIT) * Decimal(GTB_ORDERS_GAS_MULTIPLIER) + ) + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_create_binary_options_market_order(self, basic_composer, first_match_bet_market): + composer = basic_composer + market_id = first_match_bet_market.id + + message = composer.msg_create_binary_options_market_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("0.5"), + quantity=Decimal("10"), + margin=Decimal("0.5") * Decimal("10"), + order_type="BUY", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = BINARY_OPTIONS_MARKET_ORDER_CREATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_cancel_binary_options_order(self, basic_composer, first_match_bet_market): + composer = basic_composer + market_id = first_match_bet_market.id + + message = composer.msg_cancel_binary_options_order( + market_id=market_id, + sender="senders", + subaccount_id="subaccount_id", + is_buy=True, + is_market_order=False, + is_conditional=False, + cid="cid", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = BINARY_OPTIONS_ORDER_CANCELATION_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_deposit(self, basic_composer): + composer = basic_composer + + message = composer.msg_deposit( + sender="senders", + subaccount_id="subaccount_id", + amount=Decimal("10"), + denom="inj", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = DEPOSIT_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_withdraw(self, basic_composer): + composer = basic_composer + + message = composer.msg_withdraw( + sender="senders", + subaccount_id="subaccount_id", + amount=Decimal("10"), + denom="inj", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = WITHDRAW_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_subaccount_transfer(self, basic_composer): + composer = basic_composer + + message = composer.msg_subaccount_transfer( + sender="senders", + source_subaccount_id="subaccount_id", + destination_subaccount_id="destination_subaccount_id", + amount=Decimal("10"), + denom="inj", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = SUBACCOUNT_TRANSFER_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_external_transfer(self, basic_composer): + composer = basic_composer + + message = composer.msg_external_transfer( + sender="senders", + source_subaccount_id="subaccount_id", + destination_subaccount_id="destination_subaccount_id", + amount=Decimal("10"), + denom="inj", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = EXTERNAL_TRANSFER_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_increase_position_margin(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + + message = composer.msg_increase_position_margin( + sender="senders", + source_subaccount_id="subaccount_id", + destination_subaccount_id="destination_subaccount_id", + market_id=btc_usdt_perp_market.id, + amount=Decimal("10"), + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = INCREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_decrease_position_margin(self, basic_composer, btc_usdt_perp_market): + composer = basic_composer + + message = composer.msg_decrease_position_margin( + sender="senders", + source_subaccount_id="subaccount_id", + destination_subaccount_id="destination_subaccount_id", + market_id=btc_usdt_perp_market.id, + amount=Decimal("10"), + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_cost = DECREASE_POSITION_MARGIN_TRANSFER_GAS_LIMIT + + assert expected_gas_cost == estimator.gas_limit() + + def test_estimation_for_exec_message(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + orders = [ + basic_composer.spot_order( + market_id=market_id, + subaccount_id="subaccount_id", + fee_recipient="fee_recipient", + price=Decimal("5"), + quantity=Decimal("1"), + order_type="BUY", + ), + ] + inner_message = basic_composer.msg_batch_update_orders( + sender="senders", + derivative_orders_to_create=[], + spot_orders_to_create=orders, + derivative_orders_to_cancel=[], + spot_orders_to_cancel=[], + ) + message = basic_composer.msg_exec(grantee="grantee", msgs=[inner_message]) + + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_order_gas_limit = SPOT_ORDER_CREATION_GAS_LIMIT + expected_exec_message_gas_limit = ExecGasLimitEstimator.DEFAULT_GAS_LIMIT + + assert expected_order_gas_limit + expected_exec_message_gas_limit == estimator.gas_limit() + + def test_estimation_for_privileged_execute_contract_message(self): + message = injective_exchange_tx_pb.MsgPrivilegedExecuteContract() + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = 900_000 + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_execute_contract_message(self): + composer = Composer(network="testnet") + message = composer.msg_execute_contract( + sender="", + contract="", + msg="", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = 375_000 + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_wasm_message(self): + message = wasm_tx_pb.MsgInstantiateContract2() + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = 225_000 + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_governance_message(self): + message = gov_tx_pb.MsgDeposit() + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = 2_250_000 + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_generic_exchange_message(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + message = basic_composer.msg_liquidate_position( + sender="sender", + market_id=market_id, + subaccount_id="subaccount_id", + ) + estimator = GasHeuristicsGasLimitEstimator.for_message(message=message) + + expected_gas_limit = 120_000 + + assert expected_gas_limit == estimator.gas_limit() diff --git a/tests/core/test_gas_limit_estimator.py b/tests/core/test_gas_limit_estimator.py index fa336e64..0f492480 100644 --- a/tests/core/test_gas_limit_estimator.py +++ b/tests/core/test_gas_limit_estimator.py @@ -1,8 +1,6 @@ from decimal import Decimal -import pytest - -from pyinjective.composer import Composer +from pyinjective.composer_v2 import Composer as ComposerV2 from pyinjective.core.gas_limit_estimator import ( DERIVATIVE_ORDER_CANCELATION_GAS_LIMIT, DERIVATIVE_ORDER_CREATION_GAS_LIMIT, @@ -16,49 +14,74 @@ ExecGasLimitEstimator, GasLimitEstimator, ) -from pyinjective.core.market import BinaryOptionMarket -from pyinjective.core.network import Network from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as gov_tx_pb from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb -from pyinjective.proto.injective.exchange.v1beta1 import tx_pb2 as injective_exchange_tx_pb -from tests.model_fixtures.markets_fixtures import btc_usdt_perp_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import first_match_bet_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_usdt_spot_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_perp_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_token # noqa: F401 +from pyinjective.proto.injective.exchange.v2 import tx_pb2 as injective_exchange_tx_pb +from tests.model_fixtures.markets_v2_fixtures import ( # noqa: F401 + btc_usdt_perp_market, + first_match_bet_market, + inj_token, + inj_usdt_spot_market, + usdt_perp_token, + usdt_token, +) class TestGasLimitEstimator: - @pytest.fixture - def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): - composer = Composer( - network=Network.devnet().string(), - spot_markets={inj_usdt_spot_market.id: inj_usdt_spot_market}, - derivative_markets={btc_usdt_perp_market.id: btc_usdt_perp_market}, - binary_option_markets={first_match_bet_market.id: first_match_bet_market}, - tokens={ - inj_usdt_spot_market.base_token.symbol: inj_usdt_spot_market.base_token, - inj_usdt_spot_market.quote_token.symbol: inj_usdt_spot_market.quote_token, - btc_usdt_perp_market.quote_token.symbol: btc_usdt_perp_market.quote_token, - }, + def test_estimation_for_message_without_applying_rule(self): + composer = ComposerV2(network="testnet") + message = composer.msg_send(from_address="from_address", to_address="to_address", amount=1, denom="inj") + + estimator = GasLimitEstimator.for_message(message=message) + + expected_message_gas_limit = 150_000 + + assert expected_message_gas_limit == estimator.gas_limit() + + def test_estimation_for_privileged_execute_contract_message(self): + message = injective_exchange_tx_pb.MsgPrivilegedExecuteContract() + estimator = GasLimitEstimator.for_message(message=message) + + expected_gas_limit = 900_000 + + assert expected_gas_limit == estimator.gas_limit() + + def test_estimation_for_execute_contract_message(self): + composer = ComposerV2(network="testnet") + message = composer.msg_execute_contract( + sender="", + contract="", + msg="", ) + estimator = GasLimitEstimator.for_message(message=message) - return composer + expected_gas_limit = 375_000 - def test_estimation_for_message_without_applying_rule(self, basic_composer): - message = basic_composer.MsgSend(from_address="from_address", to_address="to_address", amount=1, denom="INJ") + assert expected_gas_limit == estimator.gas_limit() + def test_estimation_for_wasm_message(self): + message = wasm_tx_pb.MsgInstantiateContract2() estimator = GasLimitEstimator.for_message(message=message) - expected_message_gas_limit = 150_000 + expected_gas_limit = 225_000 - assert expected_message_gas_limit == estimator.gas_limit() + assert expected_gas_limit == estimator.gas_limit() - def test_estimation_for_batch_create_spot_limit_orders(self, basic_composer): - spot_market_id = list(basic_composer.spot_markets.keys())[0] + def test_estimation_for_governance_message(self): + message = gov_tx_pb.MsgDeposit() + estimator = GasLimitEstimator.for_message(message=message) + + expected_gas_limit = 2_250_000 + + assert expected_gas_limit == estimator.gas_limit() + + +class TestGasLimitEstimatorForV2ExchangeMessages: + def test_estimation_for_batch_create_spot_limit_orders(self): + spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = ComposerV2(network="testnet") orders = [ - basic_composer.spot_order( + composer.spot_order( market_id=spot_market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -66,7 +89,7 @@ def test_estimation_for_batch_create_spot_limit_orders(self, basic_composer): quantity=Decimal("1"), order_type="BUY", ), - basic_composer.spot_order( + composer.spot_order( market_id=spot_market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -75,7 +98,7 @@ def test_estimation_for_batch_create_spot_limit_orders(self, basic_composer): order_type="BUY", ), ] - message = basic_composer.msg_batch_create_spot_limit_orders(sender="sender", orders=orders) + message = composer.msg_batch_create_spot_limit_orders(sender="sender", orders=orders) estimator = GasLimitEstimator.for_message(message=message) expected_order_gas_limit = SPOT_ORDER_CREATION_GAS_LIMIT @@ -85,19 +108,19 @@ def test_estimation_for_batch_create_spot_limit_orders(self, basic_composer): def test_estimation_for_batch_cancel_spot_orders(self): spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") orders = [ - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", ), - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ), - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -111,10 +134,11 @@ def test_estimation_for_batch_cancel_spot_orders(self): assert (expected_order_gas_limit * 3) + expected_message_gas_limit == estimator.gas_limit() - def test_estimation_for_batch_create_derivative_limit_orders(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] + def test_estimation_for_batch_create_derivative_limit_orders(self): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + composer = ComposerV2(network="testnet") orders = [ - basic_composer.derivative_order( + composer.derivative_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -123,7 +147,7 @@ def test_estimation_for_batch_create_derivative_limit_orders(self, basic_compose margin=Decimal(3), order_type="BUY", ), - basic_composer.derivative_order( + composer.derivative_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -133,7 +157,7 @@ def test_estimation_for_batch_create_derivative_limit_orders(self, basic_compose order_type="SELL", ), ] - message = basic_composer.msg_batch_create_derivative_limit_orders(sender="sender", orders=orders) + message = composer.msg_batch_create_derivative_limit_orders(sender="sender", orders=orders) estimator = GasLimitEstimator.for_message(message=message) expected_order_gas_limit = DERIVATIVE_ORDER_CREATION_GAS_LIMIT @@ -143,19 +167,19 @@ def test_estimation_for_batch_create_derivative_limit_orders(self, basic_compose def test_estimation_for_batch_cancel_derivative_orders(self): spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") orders = [ - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", ), - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ), - composer.order_data( + composer.order_data_without_mask( market_id=spot_market_id, subaccount_id="subaccount_id", order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -169,10 +193,11 @@ def test_estimation_for_batch_cancel_derivative_orders(self): assert (expected_order_gas_limit * 3) + expected_message_gas_limit == estimator.gas_limit() - def test_estimation_for_batch_update_orders_to_create_spot_orders(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] + def test_estimation_for_batch_update_orders_to_create_spot_orders(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = ComposerV2(network="testnet") orders = [ - basic_composer.spot_order( + composer.spot_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -180,7 +205,7 @@ def test_estimation_for_batch_update_orders_to_create_spot_orders(self, basic_co quantity=Decimal("1"), order_type="BUY", ), - basic_composer.spot_order( + composer.spot_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -189,7 +214,7 @@ def test_estimation_for_batch_update_orders_to_create_spot_orders(self, basic_co order_type="BUY", ), ] - message = basic_composer.msg_batch_update_orders( + message = composer.msg_batch_update_orders( sender="senders", derivative_orders_to_create=[], spot_orders_to_create=orders, @@ -203,10 +228,11 @@ def test_estimation_for_batch_update_orders_to_create_spot_orders(self, basic_co assert (expected_order_gas_limit * 2) + expected_message_gas_limit == estimator.gas_limit() - def test_estimation_for_batch_update_orders_to_create_derivative_orders(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] + def test_estimation_for_batch_update_orders_to_create_derivative_orders(self): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + composer = ComposerV2(network="testnet") orders = [ - basic_composer.derivative_order( + composer.derivative_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -215,7 +241,7 @@ def test_estimation_for_batch_update_orders_to_create_derivative_orders(self, ba margin=Decimal(3), order_type="BUY", ), - basic_composer.derivative_order( + composer.derivative_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -225,7 +251,7 @@ def test_estimation_for_batch_update_orders_to_create_derivative_orders(self, ba order_type="SELL", ), ] - message = basic_composer.msg_batch_update_orders( + message = composer.msg_batch_update_orders( sender="senders", derivative_orders_to_create=orders, spot_orders_to_create=[], @@ -241,26 +267,8 @@ def test_estimation_for_batch_update_orders_to_create_derivative_orders(self, ba def test_estimation_for_batch_update_orders_to_create_binary_orders(self, usdt_token): market_id = "0x230dcce315364ff6360097838701b14713e2f4007d704df20ed3d81d09eec957" - composer = Composer(network="testnet") - market = BinaryOptionMarket( - id=market_id, - status="active", - ticker="5fdbe0b1-1707800399-WAS", - oracle_symbol="Frontrunner", - oracle_provider="Frontrunner", - oracle_type="provider", - oracle_scale_factor=6, - expiration_timestamp=1707800399, - settlement_timestamp=1707843599, - quote_token=usdt_token, - maker_fee_rate=Decimal("0"), - taker_fee_rate=Decimal("0"), - service_provider_fee=Decimal("0.4"), - min_price_tick_size=Decimal("10000"), - min_quantity_tick_size=Decimal("1"), - min_notional=Decimal(0), - ) - composer.binary_option_markets[market.id] = market + composer = ComposerV2(network="testnet") + orders = [ composer.binary_options_order( market_id=market_id, @@ -298,19 +306,19 @@ def test_estimation_for_batch_update_orders_to_create_binary_orders(self, usdt_t def test_estimation_for_batch_update_orders_to_cancel_spot_orders(self): market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") orders = [ - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -332,19 +340,19 @@ def test_estimation_for_batch_update_orders_to_cancel_spot_orders(self): def test_estimation_for_batch_update_orders_to_cancel_derivative_orders(self): market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") orders = [ - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -366,19 +374,19 @@ def test_estimation_for_batch_update_orders_to_cancel_derivative_orders(self): def test_estimation_for_batch_update_orders_to_cancel_binary_orders(self): market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") orders = [ - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ), - composer.order_data( + composer.order_data_without_mask( market_id=market_id, subaccount_id="subaccount_id", order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -401,7 +409,7 @@ def test_estimation_for_batch_update_orders_to_cancel_binary_orders(self): def test_estimation_for_batch_update_orders_to_cancel_all_for_spot_market(self): market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") message = composer.msg_batch_update_orders( sender="senders", @@ -421,7 +429,7 @@ def test_estimation_for_batch_update_orders_to_cancel_all_for_spot_market(self): def test_estimation_for_batch_update_orders_to_cancel_all_for_derivative_market(self): market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") message = composer.msg_batch_update_orders( sender="senders", @@ -441,7 +449,7 @@ def test_estimation_for_batch_update_orders_to_cancel_all_for_derivative_market( def test_estimation_for_batch_update_orders_to_cancel_all_for_binary_options_market(self): market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - composer = Composer(network="testnet") + composer = ComposerV2(network="testnet") message = composer.msg_batch_update_orders( sender="senders", @@ -459,10 +467,11 @@ def test_estimation_for_batch_update_orders_to_cancel_all_for_binary_options_mar assert expected_gas_limit + expected_message_gas_limit == estimator.gas_limit() - def test_estimation_for_exec_message(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] + def test_estimation_for_exec_message(self): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + composer = ComposerV2(network="testnet") orders = [ - basic_composer.spot_order( + composer.spot_order( market_id=market_id, subaccount_id="subaccount_id", fee_recipient="fee_recipient", @@ -471,14 +480,14 @@ def test_estimation_for_exec_message(self, basic_composer): order_type="BUY", ), ] - inner_message = basic_composer.msg_batch_update_orders( + inner_message = composer.msg_batch_update_orders( sender="senders", derivative_orders_to_create=[], spot_orders_to_create=orders, derivative_orders_to_cancel=[], spot_orders_to_cancel=[], ) - message = basic_composer.MsgExec(grantee="grantee", msgs=[inner_message]) + message = composer.msg_exec(grantee="grantee", msgs=[inner_message]) estimator = GasLimitEstimator.for_message(message=message) @@ -491,48 +500,11 @@ def test_estimation_for_exec_message(self, basic_composer): == estimator.gas_limit() ) - def test_estimation_for_privileged_execute_contract_message(self): - message = injective_exchange_tx_pb.MsgPrivilegedExecuteContract() - estimator = GasLimitEstimator.for_message(message=message) - - expected_gas_limit = 900_000 - - assert expected_gas_limit == estimator.gas_limit() - - def test_estimation_for_execute_contract_message(self): - composer = Composer(network="testnet") - message = composer.MsgExecuteContract( - sender="", - contract="", - msg="", - ) - estimator = GasLimitEstimator.for_message(message=message) - - expected_gas_limit = 375_000 - - assert expected_gas_limit == estimator.gas_limit() - - def test_estimation_for_wasm_message(self): - message = wasm_tx_pb.MsgInstantiateContract2() - estimator = GasLimitEstimator.for_message(message=message) - - expected_gas_limit = 225_000 - - assert expected_gas_limit == estimator.gas_limit() - - def test_estimation_for_governance_message(self): - message = gov_tx_pb.MsgDeposit() - estimator = GasLimitEstimator.for_message(message=message) - - expected_gas_limit = 2_250_000 - - assert expected_gas_limit == estimator.gas_limit() - - def test_estimation_for_generic_exchange_message(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] - message = basic_composer.msg_create_spot_limit_order( + def test_estimation_for_generic_exchange_message(self): + composer = ComposerV2(network="testnet") + message = composer.msg_create_spot_limit_order( sender="sender", - market_id=market_id, + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", subaccount_id="subaccount_id", fee_recipient="fee_recipient", price=Decimal("7.523"), diff --git a/tests/core/test_market.py b/tests/core/test_market_v2.py similarity index 82% rename from tests/core/test_market.py rename to tests/core/test_market_v2.py index 514e6256..73c9a1a3 100644 --- a/tests/core/test_market.py +++ b/tests/core/test_market_v2.py @@ -1,14 +1,16 @@ from decimal import Decimal from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS -from pyinjective.core.market import BinaryOptionMarket, DerivativeMarket, SpotMarket +from pyinjective.core.market_v2 import BinaryOptionMarket, DerivativeMarket, SpotMarket from pyinjective.utils.denom import Denom -from tests.model_fixtures.markets_fixtures import btc_usdt_perp_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import first_match_bet_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_usdt_spot_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_perp_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_token # noqa: F401; noqa: F401 +from tests.model_fixtures.markets_v2_fixtures import ( # noqa: F401 + btc_usdt_perp_market, + first_match_bet_market, + inj_token, + inj_usdt_spot_market, + usdt_perp_token, + usdt_token, +) class TestSpotMarket: @@ -16,11 +18,11 @@ def test_convert_quantity_to_chain_format(self, inj_usdt_spot_market: SpotMarket original_quantity = Decimal("123.456789") chain_value = inj_usdt_spot_market.quantity_to_chain_format(human_readable_value=original_quantity) - expected_value = original_quantity * Decimal(f"1e{inj_usdt_spot_market.base_token.decimals}") - quantized_value = ( - expected_value // inj_usdt_spot_market.min_quantity_tick_size + quantized_quantity = ( + original_quantity // inj_usdt_spot_market.min_quantity_tick_size ) * inj_usdt_spot_market.min_quantity_tick_size - quantized_chain_format_value = quantized_value * Decimal("1e18") + expected_value = quantized_quantity * Decimal(f"1e{inj_usdt_spot_market.base_token.decimals}") + quantized_chain_format_value = expected_value * Decimal("1e18") assert quantized_chain_format_value == chain_value @@ -29,11 +31,11 @@ def test_convert_price_to_chain_format(self, inj_usdt_spot_market: SpotMarket): chain_value = inj_usdt_spot_market.price_to_chain_format(human_readable_value=original_quantity) price_decimals = inj_usdt_spot_market.quote_token.decimals - inj_usdt_spot_market.base_token.decimals - expected_value = original_quantity * Decimal(f"1e{price_decimals}") quantized_value = ( - expected_value // inj_usdt_spot_market.min_price_tick_size + original_quantity // inj_usdt_spot_market.min_price_tick_size ) * inj_usdt_spot_market.min_price_tick_size - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -129,11 +131,11 @@ def test_convert_price_to_chain_format(self, btc_usdt_perp_market: DerivativeMar chain_value = btc_usdt_perp_market.price_to_chain_format(human_readable_value=original_quantity) price_decimals = btc_usdt_perp_market.quote_token.decimals - expected_value = original_quantity * Decimal(f"1e{price_decimals}") quantized_value = ( - expected_value // btc_usdt_perp_market.min_price_tick_size + original_quantity // btc_usdt_perp_market.min_price_tick_size ) * btc_usdt_perp_market.min_price_tick_size - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -248,19 +250,19 @@ def test_convert_quantity_to_chain_format_with_fixed_denom(self, first_match_bet description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_value = first_match_bet_market.quantity_to_chain_format( human_readable_value=original_quantity, special_denom=fixed_denom ) - chain_formatted_quantity = original_quantity * Decimal(f"1e{fixed_denom.base}") - quantized_value = (chain_formatted_quantity // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( + quantized_value = (original_quantity // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( str(fixed_denom.min_quantity_tick_size) ) - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + chain_formatted_quantity = quantized_value * Decimal(f"1e{fixed_denom.base}") + quantized_chain_format_value = chain_formatted_quantity * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -283,9 +285,9 @@ def test_convert_price_to_chain_format_with_fixed_denom(self, first_match_bet_ma description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_value = first_match_bet_market.price_to_chain_format( @@ -293,11 +295,11 @@ def test_convert_price_to_chain_format_with_fixed_denom(self, first_match_bet_ma special_denom=fixed_denom, ) price_decimals = fixed_denom.quote - expected_value = original_quantity * Decimal(f"1e{price_decimals}") - quantized_value = (expected_value // Decimal(str(fixed_denom.min_price_tick_size))) * Decimal( + quantized_value = (original_quantity // Decimal(str(fixed_denom.min_price_tick_size))) * Decimal( str(fixed_denom.min_price_tick_size) ) - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -306,11 +308,11 @@ def test_convert_price_to_chain_format_without_fixed_denom(self, first_match_bet chain_value = first_match_bet_market.price_to_chain_format(human_readable_value=original_quantity) price_decimals = first_match_bet_market.quote_token.decimals - expected_value = original_quantity * Decimal(f"1e{price_decimals}") quantized_value = ( - expected_value // first_match_bet_market.min_price_tick_size + original_quantity // first_match_bet_market.min_price_tick_size ) * first_match_bet_market.min_price_tick_size - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -320,9 +322,9 @@ def test_convert_margin_to_chain_format_with_fixed_denom(self, first_match_bet_m description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_value = first_match_bet_market.margin_to_chain_format( @@ -330,11 +332,11 @@ def test_convert_margin_to_chain_format_with_fixed_denom(self, first_match_bet_m special_denom=fixed_denom, ) price_decimals = fixed_denom.quote - expected_value = original_quantity * Decimal(f"1e{price_decimals}") - quantized_value = (expected_value // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( + quantized_value = (original_quantity // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( str(fixed_denom.min_quantity_tick_size) ) - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -343,11 +345,11 @@ def test_convert_margin_to_chain_format_without_fixed_denom(self, first_match_be chain_value = first_match_bet_market.margin_to_chain_format(human_readable_value=original_quantity) price_decimals = first_match_bet_market.quote_token.decimals - expected_value = original_quantity * Decimal(f"1e{price_decimals}") quantized_value = ( - expected_value // first_match_bet_market.min_quantity_tick_size + original_quantity // first_match_bet_market.min_quantity_tick_size ) * first_match_bet_market.min_quantity_tick_size - quantized_chain_format_value = quantized_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_value = quantized_value * Decimal(f"1e{price_decimals}") + quantized_chain_format_value = expected_value * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_value == chain_value @@ -358,9 +360,9 @@ def test_calculate_margin_for_buy_with_fixed_denom(self, first_match_bet_market: description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_value = first_match_bet_market.calculate_margin_in_chain_format( @@ -370,15 +372,12 @@ def test_calculate_margin_for_buy_with_fixed_denom(self, first_match_bet_market: special_denom=fixed_denom, ) - quantity_decimals = fixed_denom.base - price_decimals = fixed_denom.quote - expected_quantity = original_quantity * Decimal(f"1e{quantity_decimals}") - expected_price = original_price * Decimal(f"1e{price_decimals}") - expected_margin = expected_quantity * expected_price - quantized_margin = (expected_margin // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( + margin = original_quantity * original_price + quantized_margin = (margin // Decimal(str(fixed_denom.min_quantity_tick_size))) * Decimal( str(fixed_denom.min_quantity_tick_size) ) - quantized_chain_format_margin = quantized_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_margin = quantized_margin * Decimal(f"1e{fixed_denom.quote}") + quantized_chain_format_margin = expected_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_margin == chain_value @@ -393,12 +392,12 @@ def test_calculate_margin_for_buy_without_fixed_denom(self, first_match_bet_mark ) price_decimals = first_match_bet_market.quote_token.decimals - expected_price = original_price * Decimal(f"1e{price_decimals}") - expected_margin = original_quantity * expected_price - quantized_margin = (expected_margin // Decimal(str(first_match_bet_market.min_quantity_tick_size))) * Decimal( + margin = original_quantity * original_price + quantized_margin = (margin // Decimal(str(first_match_bet_market.min_quantity_tick_size))) * Decimal( str(first_match_bet_market.min_quantity_tick_size) ) - quantized_chain_format_margin = quantized_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_margin = quantized_margin * Decimal(f"1e{price_decimals}") + quantized_chain_format_margin = expected_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_margin == chain_value @@ -413,12 +412,13 @@ def test_calculate_margin_for_sell_without_fixed_denom(self, first_match_bet_mar ) price_decimals = first_match_bet_market.quote_token.decimals - expected_price = (Decimal(1) - original_price) * Decimal(f"1e{price_decimals}") - expected_margin = original_quantity * expected_price - quantized_margin = (expected_margin // Decimal(str(first_match_bet_market.min_quantity_tick_size))) * Decimal( + price = Decimal(1) - original_price + margin = original_quantity * price + quantized_margin = (margin // Decimal(str(first_match_bet_market.min_quantity_tick_size))) * Decimal( str(first_match_bet_market.min_quantity_tick_size) ) - quantized_chain_format_margin = quantized_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_margin = quantized_margin * Decimal(f"1e{price_decimals}") + quantized_chain_format_margin = expected_margin * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") assert quantized_chain_format_margin == chain_value @@ -438,9 +438,9 @@ def test_convert_quantity_from_chain_format_with_fixed_denom(self, first_match_b description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_formatted_quantity = original_quantity * Decimal(f"1e{fixed_denom.base}") @@ -468,9 +468,9 @@ def test_convert_price_from_chain_format_with_fixed_denom(self, first_match_bet_ description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_formatted_price = original_price * Decimal(f"1e{fixed_denom.quote}") @@ -506,9 +506,9 @@ def test_convert_quantity_from_extended_chain_format_with_fixed_denom( description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_formatted_quantity = ( @@ -542,9 +542,9 @@ def test_convert_price_from_extended_chain_format_with_fixed_denom( description="Fixed denom", base=2, quote=4, - min_quantity_tick_size=100, - min_price_tick_size=10000, - min_notional=0, + min_quantity_tick_size=1, + min_price_tick_size=1, + min_notional=1, ) chain_formatted_price = ( diff --git a/tests/core/test_message_based_transaction_fee_calculator.py b/tests/core/test_message_based_transaction_fee_calculator.py index 303aa1c9..e20730bb 100644 --- a/tests/core/test_message_based_transaction_fee_calculator.py +++ b/tests/core/test_message_based_transaction_fee_calculator.py @@ -4,8 +4,8 @@ import pytest from pyinjective import Transaction -from pyinjective.async_client import AsyncClient -from pyinjective.composer import Composer +from pyinjective.async_client_v2 import AsyncClient +from pyinjective.composer_v2 import Composer from pyinjective.core.broadcaster import MessageBasedTransactionFeeCalculator from pyinjective.core.gas_limit_estimator import ( DefaultGasLimitEstimator, @@ -16,32 +16,10 @@ from pyinjective.core.network import Network from pyinjective.proto.cosmos.gov.v1beta1 import tx_pb2 as gov_tx_pb2 from pyinjective.proto.cosmwasm.wasm.v1 import tx_pb2 as wasm_tx_pb2 -from pyinjective.proto.injective.exchange.v1beta1 import tx_pb2 -from tests.model_fixtures.markets_fixtures import btc_usdt_perp_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import first_match_bet_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_usdt_spot_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_perp_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_token # noqa: F401 +from pyinjective.proto.injective.exchange.v2 import tx_pb2 class TestMessageBasedTransactionFeeCalculator: - @pytest.fixture - def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): - composer = Composer( - network=Network.devnet().string(), - spot_markets={inj_usdt_spot_market.id: inj_usdt_spot_market}, - derivative_markets={btc_usdt_perp_market.id: btc_usdt_perp_market}, - binary_option_markets={first_match_bet_market.id: first_match_bet_market}, - tokens={ - inj_usdt_spot_market.base_token.symbol: inj_usdt_spot_market.base_token, - inj_usdt_spot_market.quote_token.symbol: inj_usdt_spot_market.quote_token, - btc_usdt_perp_market.quote_token.symbol: btc_usdt_perp_market.quote_token, - }, - ) - - return composer - @pytest.mark.asyncio async def test_gas_fee_for_privileged_execute_contract_message(self): network = Network.testnet(node="sentry") @@ -59,7 +37,7 @@ async def test_gas_fee_for_privileged_execute_contract_message(self): await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_gas_limit = math.ceil( PrivilegedExecuteContractGasLimitEstimator.BASIC_REFERENCE_GAS_LIMIT * 6 + expected_transaction_gas_limit ) @@ -77,7 +55,7 @@ async def test_gas_fee_for_execute_contract_message(self): gas_price=5_000_000, ) - message = composer.MsgExecuteContract( + message = composer.msg_execute_contract( sender="", contract="", msg="", @@ -87,7 +65,7 @@ async def test_gas_fee_for_execute_contract_message(self): await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_gas_limit = math.ceil(Decimal(2.5) * 150_000 + expected_transaction_gas_limit) assert expected_gas_limit == transaction.fee.gas_limit assert str(expected_gas_limit * 5_000_000) == transaction.fee.amount[0].amount @@ -109,7 +87,7 @@ async def test_gas_fee_for_wasm_message(self): await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_gas_limit = math.ceil(Decimal(1.5) * 150_000 + expected_transaction_gas_limit) assert expected_gas_limit == transaction.fee.gas_limit assert str(expected_gas_limit * 5_000_000) == transaction.fee.amount[0].amount @@ -131,26 +109,25 @@ async def test_gas_fee_for_governance_message(self): await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_gas_limit = math.ceil(Decimal(15) * 150_000 + expected_transaction_gas_limit) assert expected_gas_limit == transaction.fee.gas_limit assert str(expected_gas_limit * 5_000_000) == transaction.fee.amount[0].amount @pytest.mark.asyncio - async def test_gas_fee_for_exchange_message(self, basic_composer): + async def test_gas_fee_for_exchange_message(self): network = Network.testnet(node="sentry") client = AsyncClient(network=network) + composer = Composer(network=network.string()) calculator = MessageBasedTransactionFeeCalculator( client=client, - composer=basic_composer, + composer=composer, gas_price=5_000_000, ) - market_id = list(basic_composer.spot_markets.keys())[0] - - message = basic_composer.msg_create_spot_limit_order( + message = composer.msg_create_spot_limit_order( sender="sender", - market_id=market_id, + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", subaccount_id="subaccount_id", fee_recipient="fee_recipient", price=Decimal("7.523"), @@ -162,39 +139,38 @@ async def test_gas_fee_for_exchange_message(self, basic_composer): await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_gas_limit = math.ceil(Decimal(1) * 120_000 + expected_transaction_gas_limit) assert expected_gas_limit == transaction.fee.gas_limit assert str(expected_gas_limit * 5_000_000) == transaction.fee.amount[0].amount @pytest.mark.asyncio - async def test_gas_fee_for_msg_exec_message(self, basic_composer): + async def test_gas_fee_for_msg_exec_message(self): network = Network.testnet(node="sentry") client = AsyncClient(network=network) + composer = Composer(network=network.string()) calculator = MessageBasedTransactionFeeCalculator( client=client, - composer=basic_composer, + composer=composer, gas_price=5_000_000, ) - market_id = list(basic_composer.spot_markets.keys())[0] - - inner_message = basic_composer.msg_create_spot_limit_order( + inner_message = composer.msg_create_spot_limit_order( sender="sender", - market_id=market_id, + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", subaccount_id="subaccount_id", fee_recipient="fee_recipient", price=Decimal("7.523"), quantity=Decimal("0.01"), order_type="BUY", ) - message = basic_composer.MsgExec(grantee="grantee", msgs=[inner_message]) + message = composer.msg_exec(grantee="grantee", msgs=[inner_message]) transaction = Transaction() transaction.with_messages(message) await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_inner_message_gas_limit = GenericExchangeGasLimitEstimator.BASIC_REFERENCE_GAS_LIMIT expected_exec_message_gas_limit = ExecGasLimitEstimator.DEFAULT_GAS_LIMIT expected_gas_limit = math.ceil( @@ -204,36 +180,35 @@ async def test_gas_fee_for_msg_exec_message(self, basic_composer): assert str(expected_gas_limit * 5_000_000) == transaction.fee.amount[0].amount @pytest.mark.asyncio - async def test_gas_fee_for_two_messages_in_one_transaction(self, basic_composer): + async def test_gas_fee_for_two_messages_in_one_transaction(self): network = Network.testnet(node="sentry") client = AsyncClient(network=network) + composer = Composer(network=network.string()) calculator = MessageBasedTransactionFeeCalculator( client=client, - composer=basic_composer, + composer=composer, gas_price=5_000_000, ) - market_id = list(basic_composer.spot_markets.keys())[0] - - inner_message = basic_composer.msg_create_spot_limit_order( + inner_message = composer.msg_create_spot_limit_order( sender="sender", - market_id=market_id, + market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", subaccount_id="subaccount_id", fee_recipient="fee_recipient", price=Decimal("7.523"), quantity=Decimal("0.01"), order_type="BUY", ) - message = basic_composer.MsgExec(grantee="grantee", msgs=[inner_message]) + message = composer.msg_exec(grantee="grantee", msgs=[inner_message]) - send_message = basic_composer.MsgSend(from_address="address", to_address="to_address", amount=1, denom="INJ") + send_message = composer.msg_send(from_address="address", to_address="to_address", amount=1, denom="INJ") transaction = Transaction() transaction.with_messages(message, send_message) await calculator.configure_gas_fee_for_transaction(transaction=transaction, private_key=None, public_key=None) - expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_GAS_LIMIT + expected_transaction_gas_limit = MessageBasedTransactionFeeCalculator.TRANSACTION_ANTE_GAS_LIMIT expected_inner_message_gas_limit = GenericExchangeGasLimitEstimator.BASIC_REFERENCE_GAS_LIMIT expected_exec_message_gas_limit = ExecGasLimitEstimator.DEFAULT_GAS_LIMIT expected_send_message_gas_limit = DefaultGasLimitEstimator.DEFAULT_GAS_LIMIT diff --git a/tests/core/test_network_deprecation_warnings.py b/tests/core/test_network_deprecation_warnings.py deleted file mode 100644 index 1764576c..00000000 --- a/tests/core/test_network_deprecation_warnings.py +++ /dev/null @@ -1,56 +0,0 @@ -from warnings import catch_warnings - -from pyinjective.core.network import DisabledCookieAssistant, Network - - -class TestNetworkDeprecationWarnings: - def test_use_secure_connection_parameter_deprecation_warning(self): - with catch_warnings(record=True) as all_warnings: - Network( - lcd_endpoint="lcd_endpoint", - tm_websocket_endpoint="tm_websocket_endpoint", - grpc_endpoint="grpc_endpoint", - grpc_exchange_endpoint="grpc_exchange_endpoint", - grpc_explorer_endpoint="grpc_explorer_endpoint", - chain_stream_endpoint="chain_stream_endpoint", - chain_id="chain_id", - fee_denom="fee_denom", - env="env", - official_tokens_list_url="https://tokens.url", - chain_cookie_assistant=DisabledCookieAssistant(), - exchange_cookie_assistant=DisabledCookieAssistant(), - explorer_cookie_assistant=DisabledCookieAssistant(), - use_secure_connection=True, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "use_secure_connection parameter in Network is no longer used and will be deprecated" - ) - - def test_use_secure_connection_parameter_in_custom_network_deprecation_warning(self): - with catch_warnings(record=True) as all_warnings: - Network.custom( - lcd_endpoint="lcd_endpoint", - tm_websocket_endpoint="tm_websocket_endpoint", - grpc_endpoint="grpc_endpoint", - grpc_exchange_endpoint="grpc_exchange_endpoint", - grpc_explorer_endpoint="grpc_explorer_endpoint", - chain_stream_endpoint="chain_stream_endpoint", - chain_id="chain_id", - env="env", - official_tokens_list_url="https://tokens.url", - chain_cookie_assistant=DisabledCookieAssistant(), - exchange_cookie_assistant=DisabledCookieAssistant(), - explorer_cookie_assistant=DisabledCookieAssistant(), - use_secure_connection=True, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "use_secure_connection parameter in Network is no longer used and will be deprecated" - ) diff --git a/tests/core/test_token.py b/tests/core/test_token.py index 6c649f06..2c084b6e 100644 --- a/tests/core/test_token.py +++ b/tests/core/test_token.py @@ -1,6 +1,6 @@ from decimal import Decimal -from tests.model_fixtures.markets_fixtures import inj_token # noqa: F401 +from tests.model_fixtures.markets_v2_fixtures import inj_token # noqa: F401 class TestToken: @@ -11,3 +11,11 @@ def test_chain_formatted_value(self, inj_token): expected_value = value * Decimal(f"1e{inj_token.decimals}") assert chain_formatted_value == expected_value + + def test_human_readable_value(self, inj_token): + value = Decimal("1345600000000000000") + + human_readable_value = inj_token.human_readable_value(chain_formatted_value=value) + expected_value = value / Decimal(f"1e{inj_token.decimals}") + + assert human_readable_value == expected_value diff --git a/tests/core/test_tokens_file_loader.py b/tests/core/test_tokens_file_loader.py index 60999f6e..54bb361d 100644 --- a/tests/core/test_tokens_file_loader.py +++ b/tests/core/test_tokens_file_loader.py @@ -47,6 +47,7 @@ def test_load_tokens(self): assert token.address == token_info["address"] assert token.decimals == token_info["decimals"] assert token.logo == token_info["logo"] + assert token.unique_symbol == "" @pytest.mark.asyncio async def test_load_tokens_from_url(self, aioresponses): @@ -81,10 +82,10 @@ async def test_load_tokens_from_url(self, aioresponses): ] aioresponses.get( - "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json", payload=tokens_list + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json", payload=tokens_list ) loaded_tokens = await loader.load_tokens( - tokens_file_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json" + tokens_file_url="https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json" ) assert len(loaded_tokens) == 2 @@ -96,17 +97,18 @@ async def test_load_tokens_from_url(self, aioresponses): assert token.address == token_info["address"] assert token.decimals == token_info["decimals"] assert token.logo == token_info["logo"] + assert token.unique_symbol == "" @pytest.mark.asyncio async def test_load_tokens_from_url_returns_nothing_when_request_fails(self, aioresponses): loader = TokensFileLoader() aioresponses.get( - "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json", + "https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json", status=404, ) loaded_tokens = await loader.load_tokens( - tokens_file_url="https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json" + tokens_file_url="https://github.com/InjectiveLabs/injective-lists/raw/master/json/tokens/mainnet.json" ) assert len(loaded_tokens) == 0 diff --git a/tests/model_fixtures/markets_fixtures.py b/tests/model_fixtures/markets_v2_fixtures.py similarity index 86% rename from tests/model_fixtures/markets_fixtures.py rename to tests/model_fixtures/markets_v2_fixtures.py index bdfa1d2a..76840843 100644 --- a/tests/model_fixtures/markets_fixtures.py +++ b/tests/model_fixtures/markets_v2_fixtures.py @@ -2,7 +2,7 @@ import pytest -from pyinjective.core.market import BinaryOptionMarket, DerivativeMarket, SpotMarket +from pyinjective.core.market_v2 import BinaryOptionMarket, DerivativeMarket, SpotMarket from pyinjective.core.token import Token @@ -16,6 +16,7 @@ def inj_token(): decimals=18, logo="https://static.alchemyapi.io/images/assets/7226.png", updated=1681739137644, + unique_symbol="INJ", ) return token @@ -31,6 +32,7 @@ def usdt_token(): decimals=6, logo="https://static.alchemyapi.io/images/assets/825.png", updated=1681739137645, + unique_symbol="USDT", ) return token @@ -46,6 +48,7 @@ def usdt_perp_token(): decimals=6, logo="https://static.alchemyapi.io/images/assets/825.png", updated=1681739137645, + unique_symbol="peggy0xdAC17F958D2ee523a2206206994597C13D831ec7", ) return token @@ -62,9 +65,9 @@ def inj_usdt_spot_market(inj_token, usdt_token): maker_fee_rate=Decimal("-0.0001"), taker_fee_rate=Decimal("0.001"), service_provider_fee=Decimal("0.4"), - min_price_tick_size=Decimal("0.000000000000001"), - min_quantity_tick_size=Decimal("1000000000000000"), - min_notional=Decimal("0.000000000001"), + min_price_tick_size=Decimal("0.01"), + min_quantity_tick_size=Decimal("0.001"), + min_notional=Decimal("1"), ) return market @@ -86,9 +89,9 @@ def btc_usdt_perp_market(usdt_perp_token): maker_fee_rate=Decimal("-0.0001"), taker_fee_rate=Decimal("0.001"), service_provider_fee=Decimal("0.4"), - min_price_tick_size=Decimal("1000000"), + min_price_tick_size=Decimal("0.01"), min_quantity_tick_size=Decimal("0.0001"), - min_notional=Decimal("0.000001"), + min_notional=Decimal("1"), ) return market @@ -110,7 +113,7 @@ def first_match_bet_market(usdt_token): maker_fee_rate=Decimal("0"), taker_fee_rate=Decimal("0"), service_provider_fee=Decimal("0.4"), - min_price_tick_size=Decimal("10000"), + min_price_tick_size=Decimal("0.01"), min_quantity_tick_size=Decimal("1"), min_notional=Decimal("0.000001"), ) diff --git a/tests/rpc_fixtures/markets_fixtures.py b/tests/rpc_fixtures/markets_fixtures.py index 9aecaf56..b4e35dfd 100644 --- a/tests/rpc_fixtures/markets_fixtures.py +++ b/tests/rpc_fixtures/markets_fixtures.py @@ -109,9 +109,9 @@ def usdt_perp_token_meta(): @pytest.fixture def ape_usdt_spot_market_meta(): - from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb + from pyinjective.proto.injective.exchange.v2 import market_pb2 as market_pb - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="APE/USDT", base_denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", quote_denom="factory/inj10vkkttgxdeqcgeppu20x9qtyvuaxxev8qh0awq/usdt", @@ -125,6 +125,8 @@ def ape_usdt_spot_market_meta(): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -132,9 +134,9 @@ def ape_usdt_spot_market_meta(): @pytest.fixture def inj_usdt_spot_market_meta(inj_token_meta, usdt_token_meta): - from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb + from pyinjective.proto.injective.exchange.v2 import market_pb2 as market_pb - market = exchange_pb.SpotMarket( + market = market_pb.SpotMarket( ticker="INJ/USDT", base_denom="inj", quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", @@ -148,6 +150,8 @@ def inj_usdt_spot_market_meta(inj_token_meta, usdt_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -155,9 +159,13 @@ def inj_usdt_spot_market_meta(inj_token_meta, usdt_token_meta): @pytest.fixture def btc_usdt_perp_market_meta(usdt_perp_token_meta): - from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb, query_pb2 as exchange_query_pb + from pyinjective.proto.injective.exchange.v2 import ( + exchange_pb2 as exchange_pb, + market_pb2 as market_pb, + query_pb2 as exchange_query_pb, + ) - market = exchange_pb.DerivativeMarket( + market = market_pb.DerivativeMarket( ticker="BTC/USDT PERP", oracle_base="BTC", oracle_quote="USDT", @@ -177,15 +185,16 @@ def btc_usdt_perp_market_meta(usdt_perp_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) - market_info = exchange_pb.PerpetualMarketInfo( + market_info = market_pb.PerpetualMarketInfo( market_id="0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce", hourly_funding_rate_cap="625000000000000", hourly_interest_rate="4166660000000", next_funding_timestamp=1708099200, funding_interval=3600, ) - funding_info = exchange_pb.PerpetualMarketFunding( + funding_info = market_pb.PerpetualMarketFunding( cumulative_funding="-107853477278881692857461", cumulative_price="0", last_timestamp=1708099200, @@ -211,9 +220,9 @@ def btc_usdt_perp_market_meta(usdt_perp_token_meta): @pytest.fixture def first_match_bet_market_meta(inj_usdt_spot_market_meta): - from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb + from pyinjective.proto.injective.exchange.v2 import market_pb2 as market_pb - market = exchange_pb.BinaryOptionsMarket( + market = market_pb.BinaryOptionsMarket( ticker="5fdbe0b1-1707800399-WAS", oracle_symbol="Frontrunner", oracle_provider="Frontrunner", @@ -233,6 +242,7 @@ def first_match_bet_market_meta(inj_usdt_spot_market_meta): settlement_price="1", min_notional="1", admin_permissions=1, + quote_decimals=6, ) return market diff --git a/tests/test_async_client.py b/tests/test_async_client.py index 92a4c98f..3a09b33e 100644 --- a/tests/test_async_client.py +++ b/tests/test_async_client.py @@ -2,13 +2,14 @@ import pytest -from pyinjective.async_client import AsyncClient +from pyinjective.async_client_v2 import AsyncClient from pyinjective.core.network import Network from pyinjective.proto.cosmos.bank.v1beta1 import query_pb2 as bank_query_pb from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb -from pyinjective.proto.injective.exchange.v1beta1 import query_pb2 as exchange_query_pb +from pyinjective.proto.injective.exchange.v2 import query_pb2 as exchange_query_pb from tests.client.chain.grpc.configurable_bank_query_servicer import ConfigurableBankQueryServicer -from tests.client.chain.grpc.configurable_exchange_query_servicer import ConfigurableExchangeQueryServicer +from tests.client.chain.grpc.configurable_exchange_v2_query_servicer import ConfigurableExchangeV2QueryServicer +from tests.core.tendermint.grpc.configurable_tendermint_query_servicer import ConfigurableTendermintQueryServicer from tests.rpc_fixtures.markets_fixtures import ( # noqa: F401 ape_token_meta, ape_usdt_spot_market_meta, @@ -30,16 +31,23 @@ def bank_servicer(): @pytest.fixture def exchange_servicer(): - return ConfigurableExchangeQueryServicer() + return ConfigurableExchangeV2QueryServicer() + + +@pytest.fixture +def tendermint_servicer(): + return ConfigurableTendermintQueryServicer() class TestAsyncClient: @pytest.mark.asyncio - async def test_sync_timeout_height_logs_exception(self, caplog): + async def test_sync_timeout_height_logs_exception(self, caplog, tendermint_servicer): client = AsyncClient( network=Network.local(), ) + client.tendermint_api._stub = tendermint_servicer + with caplog.at_level(logging.DEBUG): await client.sync_timeout_height() @@ -49,15 +57,17 @@ async def test_sync_timeout_height_logs_exception(self, caplog): None, ) assert found_log is not None - assert found_log[0] == "pyinjective.async_client.AsyncClient" + assert found_log[0] == "pyinjective.async_client_v2.AsyncClient" assert found_log[1] == logging.DEBUG @pytest.mark.asyncio - async def test_get_account_logs_exception(self, caplog): + async def test_get_account_logs_exception(self, caplog, tendermint_servicer): client = AsyncClient( network=Network.local(), ) + client.tendermint_api._stub = tendermint_servicer + with caplog.at_level(logging.DEBUG): await client.fetch_account(address="") @@ -67,13 +77,14 @@ async def test_get_account_logs_exception(self, caplog): None, ) assert found_log is not None - assert found_log[0] == "pyinjective.async_client.AsyncClient" + assert found_log[0] == "pyinjective.async_client_v2.AsyncClient" assert found_log[1] == logging.DEBUG @pytest.mark.asyncio async def test_initialize_tokens_and_markets( self, exchange_servicer, + tendermint_servicer, inj_usdt_spot_market_meta, ape_usdt_spot_market_meta, btc_usdt_perp_market_meta, @@ -162,7 +173,8 @@ async def test_initialize_tokens_and_markets( network=test_network, ) - client.chain_exchange_api._stub = exchange_servicer + client.chain_exchange_v2_api._stub = exchange_servicer + client.tendermint_api._stub = tendermint_servicer await client._initialize_tokens_and_markets() @@ -199,6 +211,7 @@ async def test_initialize_tokens_and_markets( async def test_tokens_and_markets_initialization_read_tokens_from_official_list( self, exchange_servicer, + tendermint_servicer, inj_usdt_spot_market_meta, ape_usdt_spot_market_meta, btc_usdt_perp_market_meta, @@ -254,7 +267,8 @@ async def test_tokens_and_markets_initialization_read_tokens_from_official_list( network=test_network, ) - client.chain_exchange_api._stub = exchange_servicer + client.chain_exchange_v2_api._stub = exchange_servicer + client.tendermint_api._stub = tendermint_servicer await client._initialize_tokens_and_markets() @@ -267,6 +281,7 @@ async def test_initialize_tokens_from_chain_denoms( self, bank_servicer, exchange_servicer, + tendermint_servicer, smart_denom_metadata, aioresponses, ): @@ -296,8 +311,9 @@ async def test_initialize_tokens_from_chain_denoms( network=test_network, ) - client.chain_exchange_api._stub = exchange_servicer client.bank_api._stub = bank_servicer + client.chain_exchange_v2_api._stub = exchange_servicer + client.tendermint_api._stub = tendermint_servicer await client._initialize_tokens_and_markets() await client.initialize_tokens_from_chain_denoms() diff --git a/tests/test_async_client_deprecation_warnings.py b/tests/test_async_client_deprecation_warnings.py deleted file mode 100644 index 3d8954ca..00000000 --- a/tests/test_async_client_deprecation_warnings.py +++ /dev/null @@ -1,1724 +0,0 @@ -from warnings import catch_warnings - -import grpc -import pytest - -from pyinjective.async_client import AsyncClient -from pyinjective.core.network import Network -from pyinjective.proto.cosmos.authz.v1beta1 import query_pb2 as authz_query -from pyinjective.proto.cosmos.bank.v1beta1 import query_pb2 as bank_query_pb -from pyinjective.proto.cosmos.base.tendermint.v1beta1 import query_pb2 as tendermint_query -from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service -from pyinjective.proto.exchange import ( - injective_accounts_rpc_pb2 as exchange_accounts_pb, - injective_auction_rpc_pb2 as exchange_auction_pb, - injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb, - injective_explorer_rpc_pb2 as exchange_explorer_pb, - injective_insurance_rpc_pb2 as exchange_insurance_pb, - injective_meta_rpc_pb2 as exchange_meta_pb, - injective_oracle_rpc_pb2 as exchange_oracle_pb, - injective_portfolio_rpc_pb2 as exchange_portfolio_pb, - injective_spot_exchange_rpc_pb2 as exchange_spot_pb, -) -from pyinjective.proto.injective.stream.v1beta1 import query_pb2 as chain_stream_pb -from pyinjective.proto.injective.types.v1beta1 import account_pb2 as account_pb -from tests.client.chain.grpc.configurable_auth_query_servicer import ConfigurableAuthQueryServicer -from tests.client.chain.grpc.configurable_authz_query_servicer import ConfigurableAuthZQueryServicer -from tests.client.chain.grpc.configurable_bank_query_servicer import ConfigurableBankQueryServicer -from tests.client.chain.stream_grpc.configurable_chain_stream_query_servicer import ConfigurableChainStreamQueryServicer -from tests.client.indexer.configurable_account_query_servicer import ConfigurableAccountQueryServicer -from tests.client.indexer.configurable_auction_query_servicer import ConfigurableAuctionQueryServicer -from tests.client.indexer.configurable_derivative_query_servicer import ConfigurableDerivativeQueryServicer -from tests.client.indexer.configurable_explorer_query_servicer import ConfigurableExplorerQueryServicer -from tests.client.indexer.configurable_insurance_query_servicer import ConfigurableInsuranceQueryServicer -from tests.client.indexer.configurable_meta_query_servicer import ConfigurableMetaQueryServicer -from tests.client.indexer.configurable_oracle_query_servicer import ConfigurableOracleQueryServicer -from tests.client.indexer.configurable_portfolio_query_servicer import ConfigurablePortfolioQueryServicer -from tests.client.indexer.configurable_spot_query_servicer import ConfigurableSpotQueryServicer -from tests.core.tendermint.grpc.configurable_tendermint_query_servicer import ConfigurableTendermintQueryServicer -from tests.core.tx.grpc.configurable_tx_query_servicer import ConfigurableTxQueryServicer - - -@pytest.fixture -def account_servicer(): - return ConfigurableAccountQueryServicer() - - -@pytest.fixture -def auction_servicer(): - return ConfigurableAuctionQueryServicer() - - -@pytest.fixture -def auth_servicer(): - return ConfigurableAuthQueryServicer() - - -@pytest.fixture -def authz_servicer(): - return ConfigurableAuthZQueryServicer() - - -@pytest.fixture -def bank_servicer(): - return ConfigurableBankQueryServicer() - - -@pytest.fixture -def chain_stream_servicer(): - return ConfigurableChainStreamQueryServicer() - - -@pytest.fixture -def derivative_servicer(): - return ConfigurableDerivativeQueryServicer() - - -@pytest.fixture -def explorer_servicer(): - return ConfigurableExplorerQueryServicer() - - -@pytest.fixture -def insurance_servicer(): - return ConfigurableInsuranceQueryServicer() - - -@pytest.fixture -def meta_servicer(): - return ConfigurableMetaQueryServicer() - - -@pytest.fixture -def oracle_servicer(): - return ConfigurableOracleQueryServicer() - - -@pytest.fixture -def portfolio_servicer(): - return ConfigurablePortfolioQueryServicer() - - -@pytest.fixture -def spot_servicer(): - return ConfigurableSpotQueryServicer() - - -@pytest.fixture -def tx_servicer(): - return ConfigurableTxQueryServicer() - - -@pytest.fixture -def tendermint_servicer(): - return ConfigurableTendermintQueryServicer() - - -class TestAsyncClientDeprecationWarnings: - def test_insecure_parameter_deprecation_warning( - self, - auth_servicer, - ): - with catch_warnings(record=True) as all_warnings: - AsyncClient( - network=Network.local(), - insecure=False, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "insecure parameter in AsyncClient is no longer used and will be deprecated" - ) - - @pytest.mark.asyncio - async def test_get_account_deprecation_warning( - self, - auth_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubAuth = auth_servicer - auth_servicer.account_responses.append(account_pb.EthAccount()) - - with catch_warnings(record=True) as all_warnings: - await client.get_account(address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_account instead" - - @pytest.mark.asyncio - async def test_get_bank_balance_deprecation_warning( - self, - bank_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubBank = bank_servicer - bank_servicer.balance_responses.append(bank_query_pb.QueryBalanceResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_bank_balance(address="", denom="inj") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_bank_balance instead" - - @pytest.mark.asyncio - async def test_get_bank_balances_deprecation_warning( - self, - bank_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubBank = bank_servicer - bank_servicer.balances_responses.append(bank_query_pb.QueryAllBalancesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_bank_balances(address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_bank_balances instead" - - @pytest.mark.asyncio - async def test_get_order_states_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.order_states_responses.append(exchange_accounts_pb.OrderStatesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_order_states(spot_order_hashes=["hash1"], derivative_order_hashes=["hash2"]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_order_states instead" - - @pytest.mark.asyncio - async def test_get_subaccount_list_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.subaccounts_list_responses.append(exchange_accounts_pb.SubaccountsListResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_subaccount_list(account_address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_subaccounts_list instead" - - @pytest.mark.asyncio - async def test_get_subaccount_balances_list_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.subaccount_balances_list_responses.append( - exchange_accounts_pb.SubaccountBalancesListResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.get_subaccount_balances_list(subaccount_id="", denoms=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_subaccount_balances_list instead" - ) - - @pytest.mark.asyncio - async def test_get_subaccount_balance_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.subaccount_balance_responses.append(exchange_accounts_pb.SubaccountBalanceEndpointResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_subaccount_balance(subaccount_id="", denom="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_subaccount_balance instead" - - @pytest.mark.asyncio - async def test_get_subaccount_history_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.subaccount_history_responses.append(exchange_accounts_pb.SubaccountHistoryResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_subaccount_history(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_subaccount_history instead" - - @pytest.mark.asyncio - async def test_get_subaccount_order_summary_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.subaccount_order_summary_responses.append( - exchange_accounts_pb.SubaccountOrderSummaryResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.get_subaccount_order_summary(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_subaccount_order_summary instead" - ) - - @pytest.mark.asyncio - async def test_get_portfolio_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.portfolio_responses.append(exchange_accounts_pb.PortfolioResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_portfolio(account_address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_portfolio instead" - - @pytest.mark.asyncio - async def test_get_rewards_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.rewards_responses.append(exchange_accounts_pb.RewardsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_rewards(account_address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_rewards instead" - - @pytest.mark.asyncio - async def test_stream_subaccount_balance_deprecation_warning( - self, - account_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - account_servicer.stream_subaccount_balance_responses.append( - exchange_accounts_pb.StreamSubaccountBalanceResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.stream_subaccount_balance(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_subaccount_balance_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_grants_deprecation_warning( - self, - authz_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubAuthz = authz_servicer - authz_servicer.grants_responses.append(authz_query.QueryGrantsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_grants(granter="granter", grantee="grantee") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_grants instead" - - @pytest.mark.asyncio - async def test_simulate_deprecation_warning( - self, - tx_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubTx = tx_servicer - tx_servicer.simulate_responses.append(tx_service.SimulateResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.simulate_tx(tx_byte="".encode()) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use simulate instead" - - @pytest.mark.asyncio - async def test_get_tx_deprecation_warning( - self, - tx_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubTx = tx_servicer - tx_servicer.get_tx_responses.append(tx_service.GetTxResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_tx(tx_hash="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_tx instead" - - @pytest.mark.asyncio - async def test_send_tx_sync_mode_deprecation_warning( - self, - tx_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubTx = tx_servicer - tx_servicer.broadcast_responses.append(tx_service.BroadcastTxResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.send_tx_sync_mode(tx_byte="".encode()) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use broadcast_tx_sync_mode instead" - - @pytest.mark.asyncio - async def test_send_tx_async_mode_deprecation_warning( - self, - tx_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubTx = tx_servicer - tx_servicer.broadcast_responses.append(tx_service.BroadcastTxResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.send_tx_async_mode(tx_byte="".encode()) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use broadcast_tx_async_mode instead" - - @pytest.mark.asyncio - async def test_send_tx_block_mode_deprecation_warning( - self, - tx_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubTx = tx_servicer - tx_servicer.broadcast_responses.append(tx_service.BroadcastTxResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.send_tx_block_mode(tx_byte="".encode()) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. BLOCK broadcast mode should not be used" - ) - - @pytest.mark.asyncio - async def test_ping_deprecation_warning( - self, - meta_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubMeta = meta_servicer - meta_servicer.ping_responses.append(exchange_meta_pb.PingResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.ping() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_ping instead" - - @pytest.mark.asyncio - async def test_version_deprecation_warning( - self, - meta_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubMeta = meta_servicer - meta_servicer.version_responses.append(exchange_meta_pb.VersionResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.version() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_version instead" - - @pytest.mark.asyncio - async def test_info_deprecation_warning( - self, - meta_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubMeta = meta_servicer - meta_servicer.info_responses.append(exchange_meta_pb.InfoResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.info() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_info instead" - - @pytest.mark.asyncio - async def test_stream_keepalive_deprecation_warning( - self, - meta_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExchangeAccount = account_servicer - meta_servicer.stream_keepalive_responses.append(exchange_meta_pb.StreamKeepaliveResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_keepalive() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_keepalive instead" - - @pytest.mark.asyncio - async def test_get_oracle_list_deprecation_warning( - self, - oracle_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubOracle = oracle_servicer - oracle_servicer.oracle_list_responses.append(exchange_oracle_pb.OracleListResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_oracle_list() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_oracle_list instead" - - @pytest.mark.asyncio - async def test_get_oracle_prices_deprecation_warning( - self, - oracle_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubOracle = oracle_servicer - oracle_servicer.price_responses.append(exchange_oracle_pb.PriceResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_oracle_prices( - base_symbol="Gold", - quote_symbol="USDT", - oracle_type="pricefeed", - oracle_scale_factor=6, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_oracle_price instead" - - @pytest.mark.asyncio - async def test_stream_oracle_prices_deprecation_warning( - self, - oracle_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubOracle = oracle_servicer - oracle_servicer.stream_prices_responses.append(exchange_oracle_pb.StreamPricesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_oracle_prices( - base_symbol="Gold", - quote_symbol="USDT", - oracle_type="pricefeed", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_oracle_prices_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_insurance_funds_deprecation_warning( - self, - insurance_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubInsurance = insurance_servicer - insurance_servicer.funds_responses.append(exchange_insurance_pb.FundsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_insurance_funds() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_insurance_funds instead" - - @pytest.mark.asyncio - async def test_get_redemptions_deprecation_warning( - self, - insurance_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubInsurance = insurance_servicer - insurance_servicer.redemptions_responses.append(exchange_insurance_pb.RedemptionsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_redemptions() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_redemptions instead" - - @pytest.mark.asyncio - async def test_get_auction_deprecation_warning( - self, - auction_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubAuction = auction_servicer - auction_servicer.auction_endpoint_responses.append(exchange_auction_pb.AuctionEndpointResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_auction(bid_round=1) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_auction instead" - - @pytest.mark.asyncio - async def test_get_auctions_deprecation_warning( - self, - auction_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubAuction = auction_servicer - auction_servicer.auctions_responses.append(exchange_auction_pb.AuctionsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_auctions() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_auctions instead" - - @pytest.mark.asyncio - async def test_stream_bids_deprecation_warning( - self, - auction_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubAuction = auction_servicer - auction_servicer.stream_bids_responses.append(exchange_auction_pb.StreamBidsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_bids() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_bids_updates instead" - - @pytest.mark.asyncio - async def test_get_spot_markets_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.markets_responses.append(exchange_spot_pb.MarketsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_markets() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_markets instead" - - @pytest.mark.asyncio - async def test_get_spot_market_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.market_responses.append(exchange_spot_pb.MarketResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_market(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_market instead" - - @pytest.mark.asyncio - async def test_get_spot_orderbookV2_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.orderbook_v2_responses.append(exchange_spot_pb.OrderbookV2Response()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_orderbookV2(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_orderbook_v2 instead" - - @pytest.mark.asyncio - async def test_get_spot_orderbooksV2_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.orderbooks_v2_responses.append(exchange_spot_pb.OrderbooksV2Response()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_orderbooksV2(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_orderbooks_v2 instead" - - @pytest.mark.asyncio - async def test_get_spot_orders_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.orders_responses.append(exchange_spot_pb.OrdersResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_orders instead" - - @pytest.mark.asyncio - async def test_get_spot_trades_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.trades_responses.append(exchange_spot_pb.TradesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_trades() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_trades instead" - - @pytest.mark.asyncio - async def test_get_spot_subaccount_orders_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.subaccount_orders_list_responses.append(exchange_spot_pb.SubaccountOrdersListResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_subaccount_orders(subaccount_id="", market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_spot_subaccount_orders_list instead" - ) - - @pytest.mark.asyncio - async def test_get_spot_subaccount_trades_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.subaccount_trades_list_responses.append(exchange_spot_pb.SubaccountTradesListResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_spot_subaccount_trades(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_spot_subaccount_trades_list instead" - ) - - @pytest.mark.asyncio - async def test_get_historical_spot_orders_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.orders_history_responses.append(exchange_spot_pb.SubaccountTradesListResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_historical_spot_orders() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_spot_orders_history instead" - ) - - @pytest.mark.asyncio - async def test_stream_spot_markets_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_markets_responses.append(exchange_spot_pb.StreamMarketsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_spot_markets() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_spot_markets_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_spot_orderbook_snapshot_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_orderbook_v2_responses.append(exchange_spot_pb.StreamOrderbookV2Response()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_spot_orderbook_snapshot(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_spot_orderbook_snapshots instead" - ) - - @pytest.mark.asyncio - async def test_stream_spot_orderbook_update_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_orderbook_update_responses.append(exchange_spot_pb.StreamOrderbookUpdateRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_spot_orderbook_update(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_spot_orderbook_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_spot_orders_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_orders_responses.append(exchange_spot_pb.StreamOrdersRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_spot_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_spot_orders_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_spot_trades_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_orders_responses.append(exchange_spot_pb.StreamTradesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_spot_trades() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_spot_trades_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_historical_spot_orders_deprecation_warning( - self, - spot_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - spot_servicer.stream_orders_history_responses.append(exchange_spot_pb.StreamOrdersHistoryRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_historical_spot_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_spot_orders_history_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_markets_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.markets_responses.append(exchange_derivative_pb.MarketsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_markets() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_derivative_markets instead" - - @pytest.mark.asyncio - async def test_get_derivative_market_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.market_responses.append(exchange_derivative_pb.MarketResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_market(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_derivative_market instead" - - @pytest.mark.asyncio - async def test_get_binary_options_markets_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.binary_options_markets_responses.append( - exchange_derivative_pb.BinaryOptionsMarketsResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.get_binary_options_markets() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_binary_options_markets instead" - ) - - @pytest.mark.asyncio - async def test_get_binary_options_market_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.binary_options_market_responses.append(exchange_derivative_pb.BinaryOptionsMarketResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_binary_options_market(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_binary_options_market instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_orderbook_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.orderbook_v2_responses.append(exchange_derivative_pb.OrderbookV2Request()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_orderbook(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_orderbook_v2 instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_orderbooksV2_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.orderbooks_v2_responses.append(exchange_derivative_pb.OrderbooksV2Request()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_orderbooksV2(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_orderbooks_v2 instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_orders_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.orders_responses.append(exchange_derivative_pb.OrdersResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_derivative_orders instead" - - @pytest.mark.asyncio - async def test_get_derivative_positions_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.positions_responses.append(exchange_derivative_pb.PositionsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_positions() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_positions_v2 instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_liquidable_positions_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.liquidable_positions_responses.append(exchange_derivative_pb.LiquidablePositionsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_liquidable_positions() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_liquidable_positions instead" - ) - - @pytest.mark.asyncio - async def test_get_funding_payments_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.funding_payments_responses.append(exchange_derivative_pb.FundingPaymentsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_funding_payments(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_funding_payments instead" - - @pytest.mark.asyncio - async def test_get_funding_rates_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.funding_rates_responses.append(exchange_derivative_pb.FundingRatesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_funding_rates(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_funding_rates instead" - - @pytest.mark.asyncio - async def test_get_derivative_trades_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.trades_responses.append(exchange_derivative_pb.TradesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_trades() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_derivative_trades instead" - - @pytest.mark.asyncio - async def test_get_derivative_subaccount_orders_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.subaccount_orders_list_responses.append( - exchange_derivative_pb.SubaccountOrdersListResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_subaccount_orders(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_subaccount_orders instead" - ) - - @pytest.mark.asyncio - async def test_get_derivative_subaccount_trades_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.subaccount_trades_list_responses.append( - exchange_derivative_pb.SubaccountTradesListResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.get_derivative_subaccount_trades(subaccount_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_subaccount_trades instead" - ) - - @pytest.mark.asyncio - async def test_get_historical_derivative_orders_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.orders_history_responses.append(exchange_derivative_pb.OrdersHistoryResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_historical_derivative_orders() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_derivative_orders_history instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_markets_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.stream_market_responses.append(exchange_derivative_pb.StreamMarketResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_markets() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_market_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_orderbook_snapshot_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = spot_servicer - derivative_servicer.stream_orderbook_v2_responses.append(exchange_derivative_pb.StreamOrderbookV2Response()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_orderbook_snapshot(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_orderbook_snapshots instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_orderbook_update_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.stream_orderbook_update_responses.append( - exchange_derivative_pb.StreamOrderbookUpdateRequest() - ) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_orderbook_update(market_ids=[]) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_orderbook_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_positions_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubDerivativeExchange = derivative_servicer - derivative_servicer.stream_positions_responses.append(exchange_derivative_pb.StreamPositionsRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_positions() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_positions_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_orders_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = derivative_servicer - derivative_servicer.stream_orders_responses.append(exchange_derivative_pb.StreamOrdersRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_orders_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_derivative_trades_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = derivative_servicer - derivative_servicer.stream_orders_responses.append(exchange_derivative_pb.StreamTradesResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_derivative_trades() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_trades_updates instead" - ) - - @pytest.mark.asyncio - async def test_stream_historical_derivative_orders_deprecation_warning( - self, - derivative_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubSpotExchange = derivative_servicer - derivative_servicer.stream_orders_history_responses.append(exchange_spot_pb.StreamOrdersHistoryRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_historical_derivative_orders(market_id="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_derivative_orders_history_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_account_portfolio_deprecation_warning( - self, - portfolio_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubPortfolio = portfolio_servicer - portfolio_servicer.account_portfolio_responses.append(exchange_portfolio_pb.AccountPortfolioResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_account_portfolio(account_address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use fetch_account_portfolio_balances instead" - ) - - @pytest.mark.asyncio - async def test_stream_account_portfolio_deprecation_warning( - self, - portfolio_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubPortfolio = portfolio_servicer - portfolio_servicer.stream_account_portfolio_responses.append( - exchange_portfolio_pb.StreamAccountPortfolioResponse() - ) - - with catch_warnings(record=True) as all_warnings: - await client.stream_account_portfolio(account_address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use listen_account_portfolio_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_account_txs_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.account_txs_responses.append(exchange_explorer_pb.GetAccountTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_account_txs(address="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_account_txs instead" - - @pytest.mark.asyncio - async def test_get_blocks_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.blocks_responses.append(exchange_explorer_pb.GetBlocksResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_blocks() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_blocks instead" - - @pytest.mark.asyncio - async def test_get_block_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.block_responses.append(exchange_explorer_pb.GetBlockResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_block(block_height="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_block instead" - - @pytest.mark.asyncio - async def test_get_txs_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.txs_responses.append(exchange_explorer_pb.GetTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_txs() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_txs instead" - - @pytest.mark.asyncio - async def test_get_tx_by_hash_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.tx_by_tx_hash_responses.append(exchange_explorer_pb.GetTxByTxHashResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_tx_by_hash(tx_hash="") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_tx_by_tx_hash instead" - - @pytest.mark.asyncio - async def test_get_peggy_deposits_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.peggy_deposit_txs_responses.append(exchange_explorer_pb.GetPeggyDepositTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_peggy_deposits() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_peggy_deposit_txs instead" - - @pytest.mark.asyncio - async def test_get_peggy_withdrawals_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.peggy_withdrawal_txs_responses.append(exchange_explorer_pb.GetPeggyWithdrawalTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_peggy_withdrawals() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_peggy_withdrawal_txs instead" - ) - - @pytest.mark.asyncio - async def test_get_ibc_transfers_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubExplorer = explorer_servicer - explorer_servicer.ibc_transfer_txs_responses.append(exchange_explorer_pb.GetIBCTransferTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_ibc_transfers() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_ibc_transfer_txs instead" - - @pytest.mark.asyncio - async def test_stream_txs_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubPortfolio = explorer_servicer - explorer_servicer.stream_txs_responses.append(exchange_explorer_pb.StreamTxsResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_txs() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_txs_updates instead" - - @pytest.mark.asyncio - async def test_stream_blocks_deprecation_warning( - self, - explorer_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubPortfolio = explorer_servicer - explorer_servicer.stream_blocks_responses.append(exchange_explorer_pb.StreamBlocksResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.stream_blocks() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_blocks_updates instead" - - @pytest.mark.asyncio - async def test_chain_stream_deprecation_warning( - self, - chain_stream_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.chain_stream_stub = chain_stream_servicer - chain_stream_servicer.stream_responses.append(chain_stream_pb.StreamRequest()) - - with catch_warnings(record=True) as all_warnings: - await client.chain_stream() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use listen_chain_stream_updates instead" - ) - - @pytest.mark.asyncio - async def test_get_latest_block_deprecation_warning( - self, - tendermint_servicer, - ): - client = AsyncClient( - network=Network.local(), - ) - client.stubCosmosTendermint = tendermint_servicer - tendermint_servicer.get_latest_block_responses.append(tendermint_query.GetLatestBlockResponse()) - - with catch_warnings(record=True) as all_warnings: - await client.get_latest_block() - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use fetch_latest_block instead" - - def test_credentials_parameter_deprecation_warning( - self, - auth_servicer, - ): - with catch_warnings(record=True) as all_warnings: - AsyncClient(network=Network.local(), credentials=grpc.ssl_channel_credentials()) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "credentials parameter in AsyncClient is no longer used and will be deprecated" - ) diff --git a/tests/test_composer_deprecation_warnings.py b/tests/test_composer_deprecation_warnings.py deleted file mode 100644 index 70425269..00000000 --- a/tests/test_composer_deprecation_warnings.py +++ /dev/null @@ -1,536 +0,0 @@ -import warnings -from decimal import Decimal - -import pytest - -from pyinjective.composer import Composer -from pyinjective.core.network import Network -from tests.model_fixtures.markets_fixtures import btc_usdt_perp_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import first_match_bet_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import inj_usdt_spot_market # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_perp_token # noqa: F401 -from tests.model_fixtures.markets_fixtures import usdt_token # noqa: F401 - - -class TestComposerDeprecationWarnings: - @pytest.fixture - def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): - composer = Composer( - network=Network.devnet().string(), - spot_markets={inj_usdt_spot_market.id: inj_usdt_spot_market}, - derivative_markets={btc_usdt_perp_market.id: btc_usdt_perp_market}, - binary_option_markets={first_match_bet_market.id: first_match_bet_market}, - tokens={ - inj_usdt_spot_market.base_token.symbol: inj_usdt_spot_market.base_token, - inj_usdt_spot_market.quote_token.symbol: inj_usdt_spot_market.quote_token, - btc_usdt_perp_market.quote_token.symbol: btc_usdt_perp_market.quote_token, - }, - ) - - return composer - - def test_msg_deposit_deprecation_warning(self, basic_composer): - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgDeposit(sender="sender", subaccount_id="subaccount id", amount=1, denom="INJ") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_deposit instead" - - def test_msg_withdraw_deprecation_warning(self, basic_composer): - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgWithdraw(sender="sender", subaccount_id="subaccount id", amount=1, denom="USDT") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_withdraw instead" - - def test_coin_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.Coin( - amount=1, - denom="INJ", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use coin instead" - - def test_order_data_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.OrderData( - market_id="market id", - subaccount_id="subaccount id", - order_hash="order hash", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use order_data instead" - - def test_spot_order_deprecation_warning(self, basic_composer): - with warnings.catch_warnings(record=True) as all_warnings: - market_id = list(basic_composer.spot_markets.keys())[0] - basic_composer.SpotOrder( - market_id=market_id, - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - is_buy=True, - cid="cid", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use spot_order instead" - - def test_derivative_order_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.DerivativeOrder( - market_id=market_id, - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - is_buy=True, - cid="cid", - leverage=1, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use derivative_order instead" - - def test_msg_create_spot_limit_order_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateSpotLimitOrder( - market_id=market_id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - cid="cid", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_create_spot_limit_order instead" - ) - - def test_msg_batch_create_spot_limit_orders_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] - order = basic_composer.spot_order( - market_id=market_id, - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=Decimal(1), - quantity=Decimal(1), - order_type="BUY", - ) - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgBatchCreateSpotLimitOrders( - sender="sender", - orders=[order], - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_batch_create_spot_limit_orders instead" - ) - - def test_msg_create_spot_market_order_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.spot_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateSpotMarketOrder( - market_id=market_id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - is_buy=True, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_create_spot_market_order instead" - ) - - def test_msg_cancel_spot_order_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgCancelSpotOrder( - market_id="0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0", - sender="sender", - subaccount_id="subaccount id", - order_hash="order hash", - cid="cid", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_cancel_spot_order instead" - - def test_msg_batch_cancel_spot_orders_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - orders = [ - composer.order_data( - market_id="0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0", - subaccount_id="subaccount_id", - order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", - ), - ] - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgBatchCancelSpotOrders(sender="sender", data=orders) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_batch_cancel_spot_orders instead" - ) - - def test_msg_batch_update_orders_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgBatchUpdateOrders(sender="sender") - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_batch_update_orders instead" - - def test_msg_privileged_execute_contract_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgPrivilegedExecuteContract( - sender="sender", - contract="contract", - msg="msg", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_privileged_execute_contract instead" - ) - - def test_msg_create_derivative_limit_order_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateDerivativeLimitOrder( - market_id=market_id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - cid="cid", - leverage=1, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_create_derivative_limit_order instead" - ) - - def test_msg_batch_create_derivative_limit_orders_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] - order = basic_composer.derivative_order( - market_id=market_id, - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=Decimal(1), - quantity=Decimal(1), - margin=Decimal(1), - order_type="BUY", - ) - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgBatchCreateDerivativeLimitOrders( - sender="sender", - orders=[order], - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_batch_create_derivative_limit_orders instead" - ) - - def test_msg_create_derivative_market_order_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateDerivativeMarketOrder( - market_id=market_id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - cid="cid", - leverage=1, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_create_derivative_market_order instead" - ) - - def test_msg_cancel_derivative_order_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgCancelDerivativeOrder( - market_id="0x7cc8b10d7deb61e744ef83bdec2bbcf4a056867e89b062c6a453020ca82bd4e4", - sender="sender", - subaccount_id="subaccount id", - order_hash="order hash", - cid="cid", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_cancel_derivative_order instead" - ) - - def test_msg_batch_cancel_derivative_orders_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - orders = [ - composer.order_data( - market_id="0x7cc8b10d7deb61e744ef83bdec2bbcf4a056867e89b062c6a453020ca82bd4e4", - subaccount_id="subaccount_id", - order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", - ), - ] - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgBatchCancelDerivativeOrders(sender="sender", data=orders) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_batch_cancel_derivative_orders instead" - ) - - def test_msg_instant_binary_options_market_launch_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgInstantBinaryOptionsMarketLaunch( - sender="sender", - ticker="B2400/INJ", - oracle_symbol="B2400/INJ", - oracle_provider="injective", - oracle_type="Band", - oracle_scale_factor=6, - maker_fee_rate=0.001, - taker_fee_rate=0.001, - expiration_timestamp=1630000000, - settlement_timestamp=1630000000, - quote_denom="inj", - quote_decimals=18, - min_price_tick_size=0.01, - min_quantity_tick_size=0.01, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_instant_binary_options_market_launch instead" - ) - - def test_msg_create_binary_options_limit_order_deprecation_warning(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateBinaryOptionsLimitOrder( - market_id=market.id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - cid="cid", - is_buy=True, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_create_binary_options_limit_order instead" - ) - - def test_msg_create_binary_options_market_order_deprecation_warning(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCreateBinaryOptionsMarketOrder( - market_id=market.id, - sender="sender", - subaccount_id="subaccount id", - fee_recipient="fee recipient", - price=1, - quantity=1, - cid="cid", - is_buy=True, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_create_binary_options_market_order instead" - ) - - def test_msg_cancel_binary_options_order_deprecation_warning(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgCancelBinaryOptionsOrder( - market_id=market.id, - sender="sender", - subaccount_id="subaccount id", - order_hash="order hash", - cid="cid", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_cancel_binary_options_order instead" - ) - - def test_msg_subaccount_transfer_deprecation_warning(self, basic_composer): - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgSubaccountTransfer( - sender="sender", - source_subaccount_id="source subaccount id", - destination_subaccount_id="destination subaccount id", - amount=1, - denom="INJ", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_subaccount_transfer instead" - - def test_msg_external_transfer_deprecation_warning(self, basic_composer): - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgExternalTransfer( - sender="sender", - source_subaccount_id="source subaccount id", - destination_subaccount_id="destination subaccount id", - amount=1, - denom="INJ", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_external_transfer instead" - - def test_msg_liquidate_position_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgLiquidatePosition( - sender="sender", - subaccount_id="subaccount id", - market_id="0x7cc8b10d7deb61e744ef83bdec2bbcf4a056867e89b062c6a453020ca82bd4e4", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_liquidate_position instead" - - def test_msg_increase_position_margin_deprecation_warning(self, basic_composer): - market_id = list(basic_composer.derivative_markets.keys())[0] - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgIncreasePositionMargin( - sender="sender", - source_subaccount_id="source_subaccount id", - destination_subaccount_id="destination_subaccount id", - market_id=market_id, - amount=1, - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_increase_position_margin instead" - ) - - def test_msg_rewards_opt_out_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgRewardsOptOut( - sender="sender", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert str(deprecation_warnings[0].message) == "This method is deprecated. Use msg_rewards_opt_out instead" - - def test_msg_admin_update_binary_options_market_deprecation_warning(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] - - with warnings.catch_warnings(record=True) as all_warnings: - basic_composer.MsgAdminUpdateBinaryOptionsMarket( - sender="sender", - market_id=market.id, - status="Paused", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_admin_update_binary_options_market instead" - ) - - def test_msg_withdraw_delegator_reward_deprecation_warning(self): - composer = Composer(network=Network.devnet().string()) - - with warnings.catch_warnings(record=True) as all_warnings: - composer.MsgWithdrawDelegatorReward( - delegator_address="delegator address", - validator_address="validator address", - ) - - deprecation_warnings = [warning for warning in all_warnings if issubclass(warning.category, DeprecationWarning)] - assert len(deprecation_warnings) == 1 - assert ( - str(deprecation_warnings[0].message) - == "This method is deprecated. Use msg_withdraw_delegator_reward instead" - ) diff --git a/tests/test_composer.py b/tests/test_composer_v2.py similarity index 52% rename from tests/test_composer.py rename to tests/test_composer_v2.py index 9b7fa84a..c560a7d4 100644 --- a/tests/test_composer.py +++ b/tests/test_composer_v2.py @@ -4,17 +4,16 @@ import pytest from google.protobuf import json_format -from pyinjective.composer import Composer -from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS, INJ_DECIMALS +from pyinjective.composer_v2 import Composer +from pyinjective.constant import INJ_DECIMALS from pyinjective.core.network import Network -from tests.model_fixtures.markets_fixtures import ( # noqa: F401 - btc_usdt_perp_market, - first_match_bet_market, - inj_token, - inj_usdt_spot_market, - usdt_perp_token, - usdt_token, +from pyinjective.core.token import Token +from pyinjective.proto.injective.exchange.v2 import ( + order_pb2 as injective_order_v2_pb, + proposal_pb2 as injective_proposal_v2_pb, ) +from pyinjective.proto.injective.oracle.v1beta1 import oracle_pb2 as injective_oracle_pb +from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as permissions_pb class TestComposer: @@ -23,27 +22,67 @@ def inj_usdt_market_id(self): return "0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0" @pytest.fixture - def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): + def basic_composer(self): composer = Composer( network=Network.devnet().string(), - spot_markets={inj_usdt_spot_market.id: inj_usdt_spot_market}, - derivative_markets={btc_usdt_perp_market.id: btc_usdt_perp_market}, - binary_option_markets={first_match_bet_market.id: first_match_bet_market}, - tokens={ - inj_usdt_spot_market.base_token.symbol: inj_usdt_spot_market.base_token, - inj_usdt_spot_market.quote_token.symbol: inj_usdt_spot_market.quote_token, - btc_usdt_perp_market.quote_token.symbol: btc_usdt_perp_market.quote_token, - }, ) return composer + def test_permissions_action_enum_mirrors_proto(self): + proto_keys = list(permissions_pb.Action.keys()) + # Bracket access works for all members including zero-valued ones across all Python versions. + for name in proto_keys: + assert Composer.PERMISSIONS_ACTION[name].value == permissions_pb.Action.Value(name) + # IntFlag iteration excludes zero-valued members in Python >=3.11 but includes them in + # Python <=3.10, so we filter by value on both sides to get a version-independent comparison. + proto_non_zero_names = [n for n in proto_keys if permissions_pb.Action.Value(n) != 0] + assert [m.name for m in Composer.PERMISSIONS_ACTION if m.value != 0] == proto_non_zero_names + + def test_order_type_enum_mirrors_proto(self): + proto_keys = list(injective_order_v2_pb.OrderType.keys()) + assert [m.name for m in Composer.ORDER_TYPE] == proto_keys + for name in proto_keys: + assert Composer.ORDER_TYPE[name].value == injective_order_v2_pb.OrderType.Value(name) + + def test_oracle_type_enum_mirrors_proto(self): + proto_keys = list(injective_oracle_pb.OracleType.keys()) + assert [m.name for m in Composer.ORACLE_TYPE] == proto_keys + for name in proto_keys: + assert Composer.ORACLE_TYPE[name].value == injective_oracle_pb.OracleType.Value(name) + + def test_cross_margin_eligibility_enum_mirrors_proto(self): + proto_keys = list(injective_proposal_v2_pb.CrossMarginEligibility.keys()) + assert [m.name for m in Composer.CROSS_MARGIN_ELIGIBILITY] == proto_keys + for name in proto_keys: + assert Composer.CROSS_MARGIN_ELIGIBILITY[ + name + ].value == injective_proposal_v2_pb.CrossMarginEligibility.Value(name) + + def test_order_type_enum_accepted_for_order_type_param(self, basic_composer): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" + + order = basic_composer.derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + price=Decimal("36.1"), + quantity=Decimal("100"), + margin=Decimal("36.1") * Decimal("100"), + order_type=Composer.ORDER_TYPE.BUY, + ) + + dict_order = json_format.MessageToDict(message=order, always_print_fields_with_no_presence=True) + assert dict_order["orderType"] == "BUY" + def test_msg_create_denom(self, basic_composer: Composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subdenom = "inj-test" name = "Injective Test" symbol = "INJTEST" decimals = 18 + allow_admin_burn = True message = basic_composer.msg_create_denom( sender=sender, @@ -51,6 +90,7 @@ def test_msg_create_denom(self, basic_composer: Composer): name=name, symbol=symbol, decimals=decimals, + allow_admin_burn=allow_admin_burn, ) expected_message = { @@ -59,6 +99,7 @@ def test_msg_create_denom(self, basic_composer: Composer): "name": name, "symbol": symbol, "decimals": decimals, + "allowAdminBurn": allow_admin_burn, } dict_message = json_format.MessageToDict( message=message, @@ -73,10 +114,12 @@ def test_msg_mint(self, basic_composer: Composer): amount=1_000_000, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + receiver = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_mint( sender=sender, amount=amount, + receiver=receiver, ) expected_message = { @@ -85,6 +128,7 @@ def test_msg_mint(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "receiver": receiver, } dict_message = json_format.MessageToDict( message=message, @@ -99,10 +143,12 @@ def test_msg_burn(self, basic_composer: Composer): amount=100, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + burn_from_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_burn( sender=sender, amount=amount, + burn_from_address=burn_from_address, ) expected_message = { @@ -111,6 +157,7 @@ def test_msg_burn(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "burnFromAddress": burn_from_address, } dict_message = json_format.MessageToDict( message=message, @@ -226,12 +273,10 @@ def test_msg_execute_contract_compat(self, basic_composer): def test_msg_deposit(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" - amount = Decimal(100) - denom = "INJ" - - token = basic_composer.tokens[denom] + amount = 100 + denom = "inj" - expected_amount = token.chain_formatted_value(human_readable_value=Decimal(amount)) + expected_amount = Decimal(str(amount)) message = basic_composer.msg_deposit( sender=sender, @@ -245,7 +290,7 @@ def test_msg_deposit(self, basic_composer): "subaccountId": subaccount_id, "amount": { "amount": f"{expected_amount.normalize():f}", - "denom": token.denom, + "denom": denom, }, } dict_message = json_format.MessageToDict( @@ -257,12 +302,8 @@ def test_msg_deposit(self, basic_composer): def test_msg_withdraw(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" - amount = Decimal(100) - denom = "INJ" - - token = basic_composer.tokens[denom] - - expected_amount = token.chain_formatted_value(human_readable_value=Decimal(amount)) + amount = 100 + denom = "inj" message = basic_composer.msg_withdraw( sender=sender, @@ -275,8 +316,8 @@ def test_msg_withdraw(self, basic_composer): "sender": sender, "subaccountId": subaccount_id, "amount": { - "amount": f"{expected_amount.normalize():f}", - "denom": token.denom, + "amount": f"{Decimal(str(amount)):f}", + "denom": denom, }, } dict_message = json_format.MessageToDict( @@ -288,22 +329,13 @@ def test_msg_withdraw(self, basic_composer): def test_msg_instant_spot_market_launch(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" ticker = "INJ/USDT" - base_denom = "INJ" - quote_denom = "USDT" + base_denom = "inj" + quote_denom = "peggy0xdAC17F958D2ee523a2206206994597C13D831ec7" min_price_tick_size = Decimal("0.01") min_quantity_tick_size = Decimal("1") min_notional = Decimal("2") - - base_token = basic_composer.tokens[base_denom] - quote_token = basic_composer.tokens[quote_denom] - - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{quote_token.decimals - base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal( - f"1e{base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_notional = min_notional * Decimal(f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + base_decimals = 18 + quote_decimals = 6 message = basic_composer.msg_instant_spot_market_launch( sender=sender, @@ -313,16 +345,24 @@ def test_msg_instant_spot_market_launch(self, basic_composer): min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + base_decimals=base_decimals, + quote_decimals=quote_decimals, ) + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + expected_message = { "sender": sender, "ticker": ticker, - "baseDenom": base_token.denom, - "quoteDenom": quote_token.denom, - "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", - "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", - "minNotional": f"{expected_min_notional.normalize():f}", + "baseDenom": base_denom, + "quoteDenom": quote_denom, + "minPriceTickSize": f"{chain_min_price_tick_size.normalize():f}", + "minQuantityTickSize": f"{chain_min_quantity_tick_size.normalize():f}", + "minNotional": f"{chain_min_notional.normalize():f}", + "baseDecimals": base_decimals, + "quoteDecimals": quote_decimals, } dict_message = json_format.MessageToDict( message=message, @@ -333,7 +373,7 @@ def test_msg_instant_spot_market_launch(self, basic_composer): def test_msg_instant_perpetual_market_launch(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" ticker = "BTC/INJ PERP" - quote_denom = "INJ" + quote_denom = "inj" oracle_base = "BTC" oracle_quote = "INJ" oracle_scale_factor = 6 @@ -345,20 +385,24 @@ def test_msg_instant_perpetual_market_launch(self, basic_composer): initial_margin_ratio = Decimal("0.05") maintenance_margin_ratio = Decimal("0.03") min_notional = Decimal("2") - - quote_token = basic_composer.tokens[quote_denom] - - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_initial_margin_ratio = initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maintenance_margin_ratio = maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_min_notional = min_notional * Decimal(f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - - message = basic_composer.msg_instant_perpetual_market_launch( + reduce_margin_ratio = Decimal("3") + cap_value = Decimal("1000") + open_notional_cap = basic_composer.open_notional_cap(value=cap_value) + cross_margin_eligible = True + + expected_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + expected_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + expected_maker_fee_rate = Token.convert_value_to_extended_decimal_format(value=maker_fee_rate) + expected_taker_fee_rate = Token.convert_value_to_extended_decimal_format(value=taker_fee_rate) + expected_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=initial_margin_ratio) + expected_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format( + value=maintenance_margin_ratio + ) + expected_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=reduce_margin_ratio) + expected_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + expected_open_notional_cap_value = Token.convert_value_to_extended_decimal_format(value=cap_value) + + message = basic_composer.msg_instant_perpetual_market_launch_v2( sender=sender, ticker=ticker, quote_denom=quote_denom, @@ -370,15 +414,18 @@ def test_msg_instant_perpetual_market_launch(self, basic_composer): taker_fee_rate=taker_fee_rate, initial_margin_ratio=initial_margin_ratio, maintenance_margin_ratio=maintenance_margin_ratio, + reduce_margin_ratio=reduce_margin_ratio, min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + open_notional_cap=open_notional_cap, + cross_margin_eligible=cross_margin_eligible, ) expected_message = { "sender": sender, "ticker": ticker, - "quoteDenom": quote_token.denom, + "quoteDenom": quote_denom, "oracleBase": oracle_base, "oracleQuote": oracle_quote, "oracleScaleFactor": oracle_scale_factor, @@ -387,9 +434,16 @@ def test_msg_instant_perpetual_market_launch(self, basic_composer): "takerFeeRate": f"{expected_taker_fee_rate.normalize():f}", "initialMarginRatio": f"{expected_initial_margin_ratio.normalize():f}", "maintenanceMarginRatio": f"{expected_maintenance_margin_ratio.normalize():f}", + "reduceMarginRatio": f"{expected_reduce_margin_ratio.normalize():f}", "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", "minNotional": f"{expected_min_notional.normalize():f}", + "openNotionalCap": { + "capped": { + "value": f"{expected_open_notional_cap_value.normalize():f}", + }, + }, + "crossMarginEligible": cross_margin_eligible, } dict_message = json_format.MessageToDict( message=message, @@ -400,7 +454,7 @@ def test_msg_instant_perpetual_market_launch(self, basic_composer): def test_msg_instant_expiry_futures_market_launch(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" ticker = "BTC/INJ PERP" - quote_denom = "INJ" + quote_denom = "inj" oracle_base = "BTC" oracle_quote = "INJ" oracle_scale_factor = 6 @@ -412,21 +466,25 @@ def test_msg_instant_expiry_futures_market_launch(self, basic_composer): taker_fee_rate = Decimal("-0.002") initial_margin_ratio = Decimal("0.05") maintenance_margin_ratio = Decimal("0.03") + reduce_margin_ratio = Decimal("3") min_notional = Decimal("2") - - quote_token = basic_composer.tokens[quote_denom] - - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_initial_margin_ratio = initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maintenance_margin_ratio = maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_min_notional = min_notional * Decimal(f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - - message = basic_composer.msg_instant_expiry_futures_market_launch( + cap_value = Decimal("1000") + open_notional_cap = basic_composer.open_notional_cap(value=cap_value) + cross_margin_eligible = True + + expected_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + expected_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + expected_maker_fee_rate = Token.convert_value_to_extended_decimal_format(value=maker_fee_rate) + expected_taker_fee_rate = Token.convert_value_to_extended_decimal_format(value=taker_fee_rate) + expected_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=initial_margin_ratio) + expected_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format( + value=maintenance_margin_ratio + ) + expected_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=reduce_margin_ratio) + expected_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + expected_open_notional_cap_value = Token.convert_value_to_extended_decimal_format(value=cap_value) + + message = basic_composer.msg_instant_expiry_futures_market_launch_v2( sender=sender, ticker=ticker, quote_denom=quote_denom, @@ -439,15 +497,18 @@ def test_msg_instant_expiry_futures_market_launch(self, basic_composer): taker_fee_rate=taker_fee_rate, initial_margin_ratio=initial_margin_ratio, maintenance_margin_ratio=maintenance_margin_ratio, + reduce_margin_ratio=reduce_margin_ratio, min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + open_notional_cap=open_notional_cap, + cross_margin_eligible=cross_margin_eligible, ) expected_message = { "sender": sender, "ticker": ticker, - "quoteDenom": quote_token.denom, + "quoteDenom": quote_denom, "oracleBase": oracle_base, "oracleQuote": oracle_quote, "oracleType": oracle_type, @@ -457,9 +518,16 @@ def test_msg_instant_expiry_futures_market_launch(self, basic_composer): "takerFeeRate": f"{expected_taker_fee_rate.normalize():f}", "initialMarginRatio": f"{expected_initial_margin_ratio.normalize():f}", "maintenanceMarginRatio": f"{expected_maintenance_margin_ratio.normalize():f}", + "reduceMarginRatio": f"{expected_reduce_margin_ratio.normalize():f}", "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", "minNotional": f"{expected_min_notional.normalize():f}", + "openNotionalCap": { + "capped": { + "value": f"{expected_open_notional_cap_value.normalize():f}", + }, + }, + "crossMarginEligible": cross_margin_eligible, } dict_message = json_format.MessageToDict( message=message, @@ -468,7 +536,7 @@ def test_msg_instant_expiry_futures_market_launch(self, basic_composer): assert dict_message == expected_message def test_spot_order(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" price = Decimal("36.1") @@ -478,7 +546,7 @@ def test_spot_order(self, basic_composer): trigger_price = Decimal("43.5") order = basic_composer.spot_order( - market_id=spot_market.id, + market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, price=price, @@ -486,14 +554,15 @@ def test_spot_order(self, basic_composer): order_type=order_type, cid=cid, trigger_price=trigger_price, + expiration_block=1234567, ) - expected_price = spot_market.price_to_chain_format(human_readable_value=price) - expected_quantity = spot_market.quantity_to_chain_format(human_readable_value=quantity) - expected_trigger_price = spot_market.price_to_chain_format(human_readable_value=trigger_price) + expected_price = Token.convert_value_to_extended_decimal_format(value=price) + expected_quantity = Token.convert_value_to_extended_decimal_format(value=quantity) + expected_trigger_price = Token.convert_value_to_extended_decimal_format(value=trigger_price) expected_order = { - "marketId": spot_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, @@ -503,6 +572,7 @@ def test_spot_order(self, basic_composer): }, "orderType": order_type, "triggerPrice": f"{expected_trigger_price.normalize():f}", + "expirationBlock": "1234567", } dict_message = json_format.MessageToDict( message=order, @@ -511,7 +581,7 @@ def test_spot_order(self, basic_composer): assert dict_message == expected_order def test_derivative_order(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" price = Decimal("36.1") @@ -522,7 +592,7 @@ def test_derivative_order(self, basic_composer): trigger_price = Decimal("43.5") order = basic_composer.derivative_order( - market_id=derivative_market.id, + market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, price=price, @@ -531,15 +601,16 @@ def test_derivative_order(self, basic_composer): order_type=order_type, cid=cid, trigger_price=trigger_price, + expiration_block=1234567, ) - expected_price = derivative_market.price_to_chain_format(human_readable_value=price) - expected_quantity = derivative_market.quantity_to_chain_format(human_readable_value=quantity) - expected_margin = derivative_market.margin_to_chain_format(human_readable_value=margin) - expected_trigger_price = derivative_market.price_to_chain_format(human_readable_value=trigger_price) + expected_price = Token.convert_value_to_extended_decimal_format(value=price) + expected_quantity = Token.convert_value_to_extended_decimal_format(value=quantity) + expected_margin = Token.convert_value_to_extended_decimal_format(value=margin) + expected_trigger_price = Token.convert_value_to_extended_decimal_format(value=trigger_price) expected_order = { - "marketId": derivative_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, @@ -550,6 +621,7 @@ def test_derivative_order(self, basic_composer): "orderType": order_type, "margin": f"{expected_margin.normalize():f}", "triggerPrice": f"{expected_trigger_price.normalize():f}", + "expirationBlock": "1234567", } dict_message = json_format.MessageToDict( message=order, @@ -558,7 +630,7 @@ def test_derivative_order(self, basic_composer): assert dict_message == expected_order def test_msg_create_spot_limit_order(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -567,9 +639,10 @@ def test_msg_create_spot_limit_order(self, basic_composer): order_type = "BUY" cid = "test_cid" trigger_price = Decimal("43.5") + expiration_block = 123456789 message = basic_composer.msg_create_spot_limit_order( - market_id=spot_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -578,17 +651,18 @@ def test_msg_create_spot_limit_order(self, basic_composer): order_type=order_type, cid=cid, trigger_price=trigger_price, + expiration_block=expiration_block, ) - expected_price = spot_market.price_to_chain_format(human_readable_value=price) - expected_quantity = spot_market.quantity_to_chain_format(human_readable_value=quantity) - expected_trigger_price = spot_market.price_to_chain_format(human_readable_value=trigger_price) + expected_price = Token.convert_value_to_extended_decimal_format(value=price) + expected_quantity = Token.convert_value_to_extended_decimal_format(value=quantity) + expected_trigger_price = Token.convert_value_to_extended_decimal_format(value=trigger_price) - assert "injective.exchange.v1beta1.MsgCreateSpotLimitOrder" == message.DESCRIPTOR.full_name + assert "injective.exchange.v2.MsgCreateSpotLimitOrder" == message.DESCRIPTOR.full_name expected_message = { "sender": sender, "order": { - "marketId": spot_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, @@ -598,6 +672,7 @@ def test_msg_create_spot_limit_order(self, basic_composer): }, "orderType": order_type, "triggerPrice": f"{expected_trigger_price.normalize():f}", + "expirationBlock": str(expiration_block), }, } dict_message = json_format.MessageToDict( @@ -607,7 +682,7 @@ def test_msg_create_spot_limit_order(self, basic_composer): assert dict_message == expected_message def test_msg_batch_create_spot_limit_orders(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -618,7 +693,7 @@ def test_msg_batch_create_spot_limit_orders(self, basic_composer): trigger_price = Decimal("43.5") order = basic_composer.spot_order( - market_id=spot_market.id, + market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, price=price, @@ -644,7 +719,7 @@ def test_msg_batch_create_spot_limit_orders(self, basic_composer): assert dict_message == expected_message def test_msg_create_spot_market_order(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -655,7 +730,7 @@ def test_msg_create_spot_market_order(self, basic_composer): trigger_price = Decimal("43.5") message = basic_composer.msg_create_spot_market_order( - market_id=spot_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -666,24 +741,21 @@ def test_msg_create_spot_market_order(self, basic_composer): trigger_price=trigger_price, ) - expected_price = spot_market.price_to_chain_format(human_readable_value=price) - expected_quantity = spot_market.quantity_to_chain_format(human_readable_value=quantity) - expected_trigger_price = spot_market.price_to_chain_format(human_readable_value=trigger_price) - - assert "injective.exchange.v1beta1.MsgCreateSpotMarketOrder" == message.DESCRIPTOR.full_name + assert "injective.exchange.v2.MsgCreateSpotMarketOrder" == message.DESCRIPTOR.full_name expected_message = { "sender": sender, "order": { - "marketId": spot_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, - "price": f"{expected_price.normalize():f}", - "quantity": f"{expected_quantity.normalize():f}", + "price": f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}", + "quantity": f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}", "cid": cid, }, "orderType": order_type, - "triggerPrice": f"{expected_trigger_price.normalize():f}", + "triggerPrice": f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}", + "expirationBlock": "0", }, } dict_message = json_format.MessageToDict( @@ -693,14 +765,14 @@ def test_msg_create_spot_market_order(self, basic_composer): assert dict_message == expected_message def test_msg_cancel_spot_order(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" order_hash = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" cid = "test_cid" message = basic_composer.msg_cancel_spot_order( - market_id=spot_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, order_hash=order_hash, @@ -709,7 +781,7 @@ def test_msg_cancel_spot_order(self, basic_composer): expected_message = { "sender": sender, - "marketId": spot_market.id, + "marketId": market_id, "subaccountId": subaccount_id, "orderHash": order_hash, "cid": cid, @@ -721,12 +793,12 @@ def test_msg_cancel_spot_order(self, basic_composer): assert dict_message == expected_message def test_msg_batch_cancel_spot_orders(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - order_data = basic_composer.order_data( - market_id=spot_market.id, + order_data = basic_composer.order_data_without_mask( + market_id=market_id, subaccount_id=subaccount_id, order_hash="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000", ) @@ -736,7 +808,7 @@ def test_msg_batch_cancel_spot_orders(self, basic_composer): orders_data=[order_data], ) - assert "injective.exchange.v1beta1.MsgBatchCancelSpotOrders" == message.DESCRIPTOR.full_name + assert "injective.exchange.v2.MsgBatchCancelSpotOrders" == message.DESCRIPTOR.full_name expected_message = { "sender": sender, "data": [json_format.MessageToDict(message=order_data, always_print_fields_with_no_presence=True)], @@ -748,26 +820,24 @@ def test_msg_batch_cancel_spot_orders(self, basic_composer): assert dict_message == expected_message def test_msg_batch_update_orders(self, basic_composer): - spot_market = list(basic_composer.spot_markets.values())[0] - derivative_market = list(basic_composer.derivative_markets.values())[0] - binary_options_market = list(basic_composer.binary_option_markets.values())[0] + spot_market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + derivative_market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + binary_options_market_id = "0x00617e128fdc0c0423dd18a1ff454511af14c4db6bdd98005a99cdf8fdbf74e9" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" - spot_market_id = spot_market.id - derivative_market_id = derivative_market.id - binary_options_market_id = binary_options_market.id - spot_order_to_cancel = basic_composer.order_data( + + spot_order_to_cancel = basic_composer.order_data_without_mask( market_id=spot_market_id, subaccount_id=subaccount_id, order_hash="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000", ) - derivative_order_to_cancel = basic_composer.order_data( + derivative_order_to_cancel = basic_composer.order_data_without_mask( market_id=derivative_market_id, subaccount_id=subaccount_id, order_hash="0x222daa22f60fe9f075ed0ca583459e121c23e64431c3fbffdedda04598ede0d2", ) - binary_options_order_to_cancel = basic_composer.order_data( + binary_options_order_to_cancel = basic_composer.order_data_without_mask( market_id=binary_options_market_id, subaccount_id=subaccount_id, order_hash="0x7ee76255d7ca763c56b0eab9828fca89fdd3739645501c8a80f58b62b4f76da5", @@ -800,6 +870,33 @@ def test_msg_batch_update_orders(self, basic_composer): margin=Decimal("36.1") * Decimal("100"), order_type="BUY", ) + spot_market_order_to_create = basic_composer.spot_order( + market_id=spot_market_id, + subaccount_id=subaccount_id, + fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q4r", + price=Decimal("37"), + quantity=Decimal("1"), + order_type="BUY", + cid="test_cid_spot_market", + ) + derivative_market_order_to_create = basic_composer.derivative_order( + market_id=derivative_market_id, + subaccount_id=subaccount_id, + fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q5r", + price=Decimal("38"), + quantity=Decimal("1"), + margin=Decimal("38") * Decimal("1"), + order_type="BUY", + ) + binary_options_market_order_to_create = basic_composer.binary_options_order( + market_id=binary_options_market_id, + subaccount_id=subaccount_id, + fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q6r", + price=Decimal("39"), + quantity=Decimal("1"), + margin=Decimal("39") * Decimal("1"), + order_type="BUY", + ) message = basic_composer.msg_batch_update_orders( sender=sender, @@ -813,6 +910,9 @@ def test_msg_batch_update_orders(self, basic_composer): binary_options_orders_to_cancel=[binary_options_order_to_cancel], binary_options_market_ids_to_cancel_all=[binary_options_market_id], binary_options_orders_to_create=[binary_options_order_to_create], + spot_market_orders_to_create=[spot_market_order_to_create], + derivative_market_orders_to_create=[derivative_market_order_to_create], + binary_options_market_orders_to_create=[binary_options_market_order_to_create], ) expected_message = { @@ -843,11 +943,27 @@ def test_msg_batch_update_orders(self, basic_composer): message=binary_options_order_to_create, always_print_fields_with_no_presence=True ) ], + "spotMarketOrdersToCreate": [ + json_format.MessageToDict( + message=spot_market_order_to_create, always_print_fields_with_no_presence=True + ) + ], + "derivativeMarketOrdersToCreate": [ + json_format.MessageToDict( + message=derivative_market_order_to_create, always_print_fields_with_no_presence=True + ) + ], + "binaryOptionsMarketOrdersToCreate": [ + json_format.MessageToDict( + message=binary_options_market_order_to_create, always_print_fields_with_no_presence=True + ) + ], } dict_message = json_format.MessageToDict( message=message, always_print_fields_with_no_presence=True, ) + assert dict_message == expected_message def test_msg_privileged_execute_contract(self, basic_composer): @@ -876,7 +992,7 @@ def test_msg_privileged_execute_contract(self, basic_composer): assert dict_message == expected_message def test_msg_create_derivative_limit_order(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -886,9 +1002,10 @@ def test_msg_create_derivative_limit_order(self, basic_composer): order_type = "BUY" cid = "test_cid" trigger_price = Decimal("43.5") + expiration_block = 123456789 message = basic_composer.msg_create_derivative_limit_order( - market_id=derivative_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -898,27 +1015,24 @@ def test_msg_create_derivative_limit_order(self, basic_composer): order_type=order_type, cid=cid, trigger_price=trigger_price, + expiration_block=expiration_block, ) - expected_price = derivative_market.price_to_chain_format(human_readable_value=price) - expected_quantity = derivative_market.quantity_to_chain_format(human_readable_value=quantity) - expected_margin = derivative_market.margin_to_chain_format(human_readable_value=margin) - expected_trigger_price = derivative_market.price_to_chain_format(human_readable_value=trigger_price) - expected_message = { "sender": sender, "order": { - "marketId": derivative_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, - "price": f"{expected_price.normalize():f}", - "quantity": f"{expected_quantity.normalize():f}", + "price": f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}", + "quantity": f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}", "cid": cid, }, - "margin": f"{expected_margin.normalize():f}", + "margin": f"{Token.convert_value_to_extended_decimal_format(value=margin).normalize():f}", "orderType": order_type, - "triggerPrice": f"{expected_trigger_price.normalize():f}", + "triggerPrice": f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}", + "expirationBlock": str(expiration_block), }, } dict_message = json_format.MessageToDict( @@ -928,7 +1042,7 @@ def test_msg_create_derivative_limit_order(self, basic_composer): assert dict_message == expected_message def test_msg_batch_create_derivative_limit_orders(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -939,7 +1053,7 @@ def test_msg_batch_create_derivative_limit_orders(self, basic_composer): trigger_price = Decimal("43.5") order = basic_composer.derivative_order( - market_id=derivative_market.id, + market_id=market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, price=price, @@ -966,7 +1080,8 @@ def test_msg_batch_create_derivative_limit_orders(self, basic_composer): assert dict_message == expected_message def test_msg_create_derivative_market_order(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -978,7 +1093,7 @@ def test_msg_create_derivative_market_order(self, basic_composer): trigger_price = Decimal("43.5") message = basic_composer.msg_create_derivative_market_order( - market_id=derivative_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -990,25 +1105,21 @@ def test_msg_create_derivative_market_order(self, basic_composer): trigger_price=trigger_price, ) - expected_price = derivative_market.price_to_chain_format(human_readable_value=price) - expected_quantity = derivative_market.quantity_to_chain_format(human_readable_value=quantity) - expected_margin = derivative_market.margin_to_chain_format(human_readable_value=margin) - expected_trigger_price = derivative_market.price_to_chain_format(human_readable_value=trigger_price) - expected_message = { "sender": sender, "order": { - "marketId": derivative_market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, - "price": f"{expected_price.normalize():f}", - "quantity": f"{expected_quantity.normalize():f}", + "price": f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}", + "quantity": f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}", "cid": cid, }, - "margin": f"{expected_margin.normalize():f}", + "margin": f"{Token.convert_value_to_extended_decimal_format(value=margin).normalize():f}", "orderType": order_type, - "triggerPrice": f"{expected_trigger_price.normalize():f}", + "triggerPrice": f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}", + "expirationBlock": "0", }, } dict_message = json_format.MessageToDict( @@ -1018,7 +1129,8 @@ def test_msg_create_derivative_market_order(self, basic_composer): assert dict_message == expected_message def test_msg_cancel_derivative_order(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" order_hash = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" @@ -1034,7 +1146,7 @@ def test_msg_cancel_derivative_order(self, basic_composer): ) message = basic_composer.msg_cancel_derivative_order( - market_id=derivative_market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, order_hash=order_hash, @@ -1046,7 +1158,7 @@ def test_msg_cancel_derivative_order(self, basic_composer): expected_message = { "sender": sender, - "marketId": derivative_market.id, + "marketId": market_id, "subaccountId": subaccount_id, "orderHash": order_hash, "orderMask": expected_order_mask, @@ -1059,12 +1171,13 @@ def test_msg_cancel_derivative_order(self, basic_composer): assert dict_message == expected_message def test_msg_batch_cancel_derivative_orders(self, basic_composer): - derivative_market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - order_data = basic_composer.order_data( - market_id=derivative_market.id, + order_data = basic_composer.order_data_without_mask( + market_id=market_id, subaccount_id=subaccount_id, order_hash="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000", ) @@ -1091,7 +1204,7 @@ def test_msg_instant_binary_options_market_launch(self, basic_composer): oracle_provider = "Injective" oracle_scale_factor = 6 oracle_type = "Band" - quote_denom = "INJ" + quote_denom = "inj" min_price_tick_size = Decimal("0.01") min_quantity_tick_size = Decimal("1") maker_fee_rate = Decimal("0.001") @@ -1100,16 +1213,8 @@ def test_msg_instant_binary_options_market_launch(self, basic_composer): settlement_timestamp = 1660000000 admin = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" min_notional = Decimal("2") - - quote_token = basic_composer.tokens[quote_denom] - - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maker_fee_rate = maker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_taker_fee_rate = taker_fee_rate * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_min_notional = min_notional * Decimal(f"1e{quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + cap_value = Decimal("1000") + open_notional_cap = basic_composer.open_notional_cap(value=cap_value) message = basic_composer.msg_instant_binary_options_market_launch( sender=sender, @@ -1127,8 +1232,14 @@ def test_msg_instant_binary_options_market_launch(self, basic_composer): min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + open_notional_cap=open_notional_cap, ) + chain_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + chain_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + chain_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + expected_open_notional_cap_value = Token.convert_value_to_extended_decimal_format(value=cap_value) + expected_message = { "sender": sender, "ticker": ticker, @@ -1136,15 +1247,20 @@ def test_msg_instant_binary_options_market_launch(self, basic_composer): "oracleProvider": oracle_provider, "oracleType": oracle_type, "oracleScaleFactor": oracle_scale_factor, - "makerFeeRate": f"{expected_maker_fee_rate.normalize():f}", - "takerFeeRate": f"{expected_taker_fee_rate.normalize():f}", + "makerFeeRate": f"{Token.convert_value_to_extended_decimal_format(value=maker_fee_rate).normalize():f}", + "takerFeeRate": f"{Token.convert_value_to_extended_decimal_format(value=taker_fee_rate).normalize():f}", "expirationTimestamp": str(expiration_timestamp), "settlementTimestamp": str(settlement_timestamp), "admin": admin, - "quoteDenom": quote_token.denom, - "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", - "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", - "minNotional": f"{expected_min_notional.normalize():f}", + "quoteDenom": quote_denom, + "minPriceTickSize": f"{chain_min_price_tick_size.normalize():f}", + "minQuantityTickSize": f"{chain_min_quantity_tick_size.normalize():f}", + "minNotional": f"{chain_min_notional.normalize():f}", + "openNotionalCap": { + "capped": { + "value": f"{expected_open_notional_cap_value.normalize():f}", + }, + }, } dict_message = json_format.MessageToDict( message=message, @@ -1153,7 +1269,8 @@ def test_msg_instant_binary_options_market_launch(self, basic_composer): assert dict_message == expected_message def test_msg_create_binary_options_limit_order(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] + market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb" + subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -1163,9 +1280,10 @@ def test_msg_create_binary_options_limit_order(self, basic_composer): order_type = "BUY" cid = "test_cid" trigger_price = Decimal("43.5") + expiration_block = 123456789 message = basic_composer.msg_create_binary_options_limit_order( - market_id=market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -1175,17 +1293,18 @@ def test_msg_create_binary_options_limit_order(self, basic_composer): order_type=order_type, cid=cid, trigger_price=trigger_price, + expiration_block=expiration_block, ) - expected_price = market.price_to_chain_format(human_readable_value=price) - expected_quantity = market.quantity_to_chain_format(human_readable_value=quantity) - expected_margin = market.margin_to_chain_format(human_readable_value=margin) - expected_trigger_price = market.price_to_chain_format(human_readable_value=trigger_price) + expected_price = Token.convert_value_to_extended_decimal_format(value=price) + expected_quantity = Token.convert_value_to_extended_decimal_format(value=quantity) + expected_margin = Token.convert_value_to_extended_decimal_format(value=margin) + expected_trigger_price = Token.convert_value_to_extended_decimal_format(value=trigger_price) expected_message = { "sender": sender, "order": { - "marketId": market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, @@ -1196,6 +1315,7 @@ def test_msg_create_binary_options_limit_order(self, basic_composer): "margin": f"{expected_margin.normalize():f}", "orderType": order_type, "triggerPrice": f"{expected_trigger_price.normalize():f}", + "expirationBlock": str(expiration_block), }, } dict_message = json_format.MessageToDict( @@ -1205,7 +1325,8 @@ def test_msg_create_binary_options_limit_order(self, basic_composer): assert dict_message == expected_message def test_msg_create_binary_options_market_order(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] + market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb" + subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" @@ -1217,7 +1338,7 @@ def test_msg_create_binary_options_market_order(self, basic_composer): trigger_price = Decimal("43.5") message = basic_composer.msg_create_binary_options_market_order( - market_id=market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -1229,25 +1350,21 @@ def test_msg_create_binary_options_market_order(self, basic_composer): trigger_price=trigger_price, ) - expected_price = market.price_to_chain_format(human_readable_value=price) - expected_quantity = market.quantity_to_chain_format(human_readable_value=quantity) - expected_margin = market.margin_to_chain_format(human_readable_value=margin) - expected_trigger_price = market.price_to_chain_format(human_readable_value=trigger_price) - expected_message = { "sender": sender, "order": { - "marketId": market.id, + "marketId": market_id, "orderInfo": { "subaccountId": subaccount_id, "feeRecipient": fee_recipient, - "price": f"{expected_price.normalize():f}", - "quantity": f"{expected_quantity.normalize():f}", + "price": f"{Token.convert_value_to_extended_decimal_format(value=price).normalize():f}", + "quantity": f"{Token.convert_value_to_extended_decimal_format(value=quantity).normalize():f}", "cid": cid, }, - "margin": f"{expected_margin.normalize():f}", + "margin": f"{Token.convert_value_to_extended_decimal_format(value=margin).normalize():f}", "orderType": order_type, - "triggerPrice": f"{expected_trigger_price.normalize():f}", + "triggerPrice": f"{Token.convert_value_to_extended_decimal_format(value=trigger_price).normalize():f}", + "expirationBlock": "0", }, } dict_message = json_format.MessageToDict( @@ -1257,7 +1374,8 @@ def test_msg_create_binary_options_market_order(self, basic_composer): assert dict_message == expected_message def test_msg_cancel_derivative_order(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] + market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" order_hash = "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000" @@ -1273,7 +1391,7 @@ def test_msg_cancel_derivative_order(self, basic_composer): ) message = basic_composer.msg_cancel_derivative_order( - market_id=market.id, + market_id=market_id, sender=sender, subaccount_id=subaccount_id, order_hash=order_hash, @@ -1285,7 +1403,7 @@ def test_msg_cancel_derivative_order(self, basic_composer): expected_message = { "sender": sender, - "marketId": market.id, + "marketId": market_id, "subaccountId": subaccount_id, "orderHash": order_hash, "orderMask": expected_order_mask, @@ -1301,12 +1419,8 @@ def test_msg_subaccount_transfer(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" source_subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" destination_subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002" - amount = Decimal(100) - denom = "INJ" - - token = basic_composer.tokens[denom] - - expected_amount = token.chain_formatted_value(human_readable_value=amount) + amount = 100 + denom = "inj" message = basic_composer.msg_subaccount_transfer( sender=sender, @@ -1321,8 +1435,8 @@ def test_msg_subaccount_transfer(self, basic_composer): "sourceSubaccountId": source_subaccount_id, "destinationSubaccountId": destination_subaccount_id, "amount": { - "amount": f"{expected_amount.normalize():f}", - "denom": token.denom, + "amount": f"{Decimal(str(amount)).normalize():f}", + "denom": denom, }, } dict_message = json_format.MessageToDict( @@ -1335,18 +1449,14 @@ def test_msg_external_transfer(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" source_subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" destination_subaccount_id = "0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000" - amount = Decimal(100) - denom = "INJ" - - token = basic_composer.tokens[denom] - - expected_amount = token.chain_formatted_value(human_readable_value=amount) + amount = 100 + denom = "inj" - message = basic_composer.msg_subaccount_transfer( + message = basic_composer.msg_external_transfer( sender=sender, source_subaccount_id=source_subaccount_id, destination_subaccount_id=destination_subaccount_id, - amount=amount, + amount=100, denom=denom, ) @@ -1355,8 +1465,8 @@ def test_msg_external_transfer(self, basic_composer): "sourceSubaccountId": source_subaccount_id, "destinationSubaccountId": destination_subaccount_id, "amount": { - "amount": f"{expected_amount.normalize():f}", - "denom": token.denom, + "amount": f"{Decimal(str(amount)).normalize():f}", + "denom": denom, }, } dict_message = json_format.MessageToDict( @@ -1366,11 +1476,12 @@ def test_msg_external_transfer(self, basic_composer): assert dict_message == expected_message def test_msg_liquidate_position(self, basic_composer): - market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" order = basic_composer.derivative_order( - market_id=market.id, + market_id=market_id, subaccount_id=subaccount_id, fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", price=Decimal("36.1"), @@ -1382,14 +1493,14 @@ def test_msg_liquidate_position(self, basic_composer): message = basic_composer.msg_liquidate_position( sender=sender, subaccount_id=subaccount_id, - market_id=market.id, + market_id=market_id, order=order, ) expected_message = { "sender": sender, "subaccountId": subaccount_id, - "marketId": market.id, + "marketId": market_id, "order": json_format.MessageToDict(message=order, always_print_fields_with_no_presence=True), } dict_message = json_format.MessageToDict( @@ -1398,21 +1509,86 @@ def test_msg_liquidate_position(self, basic_composer): ) assert dict_message == expected_message + def test_msg_batch_liquidate_positions(self, basic_composer): + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" + subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" + second_subaccount_id = "0x156df4d5bc8e7dd9191433e54bd6a11eeb390921000000000000000000000000" + + order = basic_composer.derivative_order( + market_id=market_id, + subaccount_id=subaccount_id, + fee_recipient="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + price=Decimal("36.1"), + quantity=Decimal("100"), + margin=Decimal("36.1") * Decimal("100"), + order_type="BUY", + ) + + liquidation_with_order = basic_composer.liquidate_position_data( + subaccount_id=subaccount_id, + market_id=market_id, + order=order, + ) + liquidation_without_order = basic_composer.liquidate_position_data( + subaccount_id=second_subaccount_id, + market_id=market_id, + ) + + message = basic_composer.msg_batch_liquidate_positions( + sender=sender, + liquidations=[liquidation_with_order, liquidation_without_order], + ) + + expected_message = { + "sender": sender, + "liquidations": [ + { + "subaccountId": subaccount_id, + "marketId": market_id, + "order": { + "marketId": market_id, + "orderInfo": { + "subaccountId": subaccount_id, + "feeRecipient": "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", + "price": "36100000000000000000", + "quantity": "100000000000000000000", + "cid": "", + }, + "orderType": "BUY", + "margin": "3610000000000000000000", + "triggerPrice": "0", + "expirationBlock": "0", + }, + }, + { + "subaccountId": second_subaccount_id, + "marketId": market_id, + }, + ], + } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + def test_msg_emergency_settle_market(self, basic_composer): - market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" message = basic_composer.msg_emergency_settle_market( sender=sender, subaccount_id=subaccount_id, - market_id=market.id, + market_id=market_id, ) expected_message = { "sender": sender, "subaccountId": subaccount_id, - "marketId": market.id, + "marketId": market_id, } dict_message = json_format.MessageToDict( message=message, @@ -1421,19 +1597,20 @@ def test_msg_emergency_settle_market(self, basic_composer): assert dict_message == expected_message def test_msg_increase_position_margin(self, basic_composer): - market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" source_subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" destination_subaccount_id = "0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000" amount = Decimal(100) - expected_amount = market.margin_to_chain_format(human_readable_value=amount) + expected_amount = Token.convert_value_to_extended_decimal_format(value=amount) message = basic_composer.msg_increase_position_margin( sender=sender, source_subaccount_id=source_subaccount_id, destination_subaccount_id=destination_subaccount_id, - market_id=market.id, + market_id=market_id, amount=amount, ) @@ -1441,7 +1618,7 @@ def test_msg_increase_position_margin(self, basic_composer): "sender": sender, "sourceSubaccountId": source_subaccount_id, "destinationSubaccountId": destination_subaccount_id, - "marketId": market.id, + "marketId": market_id, "amount": f"{expected_amount.normalize():f}", } dict_message = json_format.MessageToDict( @@ -1451,19 +1628,20 @@ def test_msg_increase_position_margin(self, basic_composer): assert dict_message == expected_message def test_msg_decrease_position_margin(self, basic_composer): - market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" source_subaccount_id = "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001" destination_subaccount_id = "0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000" amount = Decimal(100) - expected_amount = market.margin_to_chain_format(human_readable_value=amount) + expected_amount = Token.convert_value_to_extended_decimal_format(value=amount) message = basic_composer.msg_decrease_position_margin( sender=sender, source_subaccount_id=source_subaccount_id, destination_subaccount_id=destination_subaccount_id, - market_id=market.id, + market_id=market_id, amount=amount, ) @@ -1471,7 +1649,7 @@ def test_msg_decrease_position_margin(self, basic_composer): "sender": sender, "sourceSubaccountId": source_subaccount_id, "destinationSubaccountId": destination_subaccount_id, - "marketId": market.id, + "marketId": market_id, "amount": f"{expected_amount.normalize():f}", } dict_message = json_format.MessageToDict( @@ -1497,18 +1675,19 @@ def test_msg_rewards_opt_out(self, basic_composer): assert dict_message == expected_message def test_msg_admin_update_binary_options_market(self, basic_composer): - market = list(basic_composer.binary_option_markets.values())[0] + market_id = "0x767e1542fbc111e88901e223e625a4a8eb6d630c96884bbde672e8bc874075bb" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" status = "Paused" settlement_price = Decimal("100.5") expiration_timestamp = 1630000000 settlement_timestamp = 1660000000 - expected_settlement_price = market.price_to_chain_format(human_readable_value=settlement_price) + expected_settlement_price = Token.convert_value_to_extended_decimal_format(value=settlement_price) message = basic_composer.msg_admin_update_binary_options_market( sender=sender, - market_id=market.id, + market_id=market_id, status=status, settlement_price=settlement_price, expiration_timestamp=expiration_timestamp, @@ -1517,7 +1696,7 @@ def test_msg_admin_update_binary_options_market(self, basic_composer): expected_message = { "sender": sender, - "marketId": market.id, + "marketId": market_id, "settlementPrice": f"{expected_settlement_price.normalize():f}", "expirationTimestamp": str(expiration_timestamp), "settlementTimestamp": str(settlement_timestamp), @@ -1530,26 +1709,20 @@ def test_msg_admin_update_binary_options_market(self, basic_composer): assert dict_message == expected_message def test_msg_update_spot_market(self, basic_composer): - market = list(basic_composer.spot_markets.values())[0] + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" new_ticker = "NEW/TICKER" min_price_tick_size = Decimal("0.0009") min_quantity_tick_size = Decimal("10") min_notional = Decimal("5") - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{market.quote_token.decimals - market.base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal( - f"1e{market.base_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_min_notional = min_notional * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) + expected_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + expected_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + expected_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) message = basic_composer.msg_update_spot_market( admin=sender, - market_id=market.id, + market_id=market_id, new_ticker=new_ticker, new_min_price_tick_size=min_price_tick_size, new_min_quantity_tick_size=min_quantity_tick_size, @@ -1558,7 +1731,7 @@ def test_msg_update_spot_market(self, basic_composer): expected_message = { "admin": sender, - "marketId": market.id, + "marketId": market_id, "newTicker": new_ticker, "newMinPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "newMinQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", @@ -1571,7 +1744,8 @@ def test_msg_update_spot_market(self, basic_composer): assert dict_message == expected_message def test_msg_update_derivative_market(self, basic_composer): - market = list(basic_composer.derivative_markets.values())[0] + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" new_ticker = "NEW/TICKER" min_price_tick_size = Decimal("0.0009") @@ -1579,37 +1753,51 @@ def test_msg_update_derivative_market(self, basic_composer): min_notional = Decimal("5") initial_margin_ratio = Decimal("0.05") maintenance_margin_ratio = Decimal("0.009") + reduce_margin_ration = Decimal("3") + cross_margin_eligibility = Composer.CROSS_MARGIN_ELIGIBILITY.CM_ELIGIBILITY_ELIGIBLE - expected_min_price_tick_size = min_price_tick_size * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" + expected_min_price_tick_size = Token.convert_value_to_extended_decimal_format(value=min_price_tick_size) + expected_min_quantity_tick_size = Token.convert_value_to_extended_decimal_format(value=min_quantity_tick_size) + expected_min_notional = Token.convert_value_to_extended_decimal_format(value=min_notional) + expected_initial_margin_ratio = Token.convert_value_to_extended_decimal_format(value=initial_margin_ratio) + expected_maintenance_margin_ratio = Token.convert_value_to_extended_decimal_format( + value=maintenance_margin_ratio ) - expected_min_quantity_tick_size = min_quantity_tick_size * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_min_notional = min_notional * Decimal( - f"1e{market.quote_token.decimals + ADDITIONAL_CHAIN_FORMAT_DECIMALS}" - ) - expected_initial_margin_ratio = initial_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") - expected_maintenance_margin_ratio = maintenance_margin_ratio * Decimal(f"1e{ADDITIONAL_CHAIN_FORMAT_DECIMALS}") + expected_reduce_margin_ratio = Token.convert_value_to_extended_decimal_format(value=reduce_margin_ration) + open_notional_cap_value = Decimal("100000") + expected_open_notional_cap_value = Token.convert_value_to_extended_decimal_format(value=open_notional_cap_value) + open_notional_cap = basic_composer.open_notional_cap(value=open_notional_cap_value) message = basic_composer.msg_update_derivative_market( admin=sender, - market_id=market.id, + market_id=market_id, new_ticker=new_ticker, new_min_price_tick_size=min_price_tick_size, new_min_quantity_tick_size=min_quantity_tick_size, new_min_notional=min_notional, new_initial_margin_ratio=initial_margin_ratio, new_maintenance_margin_ratio=maintenance_margin_ratio, + new_reduce_margin_ratio=reduce_margin_ration, + new_open_notional_cap=open_notional_cap, + cross_margin_eligibility=cross_margin_eligibility, ) expected_message = { "admin": sender, - "marketId": market.id, + "marketId": market_id, "newTicker": new_ticker, "newMinPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "newMinQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", "newMinNotional": f"{expected_min_notional.normalize():f}", "newInitialMarginRatio": f"{expected_initial_margin_ratio.normalize():f}", "newMaintenanceMarginRatio": f"{expected_maintenance_margin_ratio.normalize():f}", + "newReduceMarginRatio": f"{expected_reduce_margin_ratio.normalize():f}", + "newOpenNotionalCap": { + "capped": { + "value": f"{expected_open_notional_cap_value.normalize():f}", + }, + }, + "crossMarginEligibility": cross_margin_eligibility.name, } dict_message = json_format.MessageToDict( message=message, @@ -1669,7 +1857,10 @@ def test_msg_ibc_transfer(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" source_port = "transfer" source_channel = "channel-126" - token_amount = basic_composer.create_coin_amount(amount=Decimal("0.1"), token_name="INJ") + token_decimals = 18 + transfer_amount = Decimal("0.1") * Decimal(f"1e{token_decimals}") + inj_chain_denom = "inj" + token_amount = basic_composer.coin(amount=int(transfer_amount), denom=inj_chain_denom) receiver = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" timeout_height = 10 timeout_timestamp = 1630000000 @@ -1708,58 +1899,133 @@ def test_msg_ibc_transfer(self, basic_composer): def test_msg_create_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True + wasm_hook = "wasmhook" + evm_hook = "evmhook" permissions_role1 = basic_composer.permissions_role( - role="role1", - permissions=1, + name="role1", + role_id=1, + permissions=5, ) permissions_role2 = basic_composer.permissions_role( - role="role2", - permissions=2, + name="role2", + role_id=2, + permissions=6, + ) + actor_roles1 = basic_composer.permissions_actor_roles( + actor="actor1", + roles=["role1"], + ) + actor_roles2 = basic_composer.permissions_actor_roles( + actor="actor2", + roles=["role2"], ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", roles=["role1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", roles=["role2"], ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, + ) message = basic_composer.msg_create_namespace( sender=sender, denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + wasm_hook=wasm_hook, role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + actor_roles=[actor_roles1, actor_roles2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], + evm_hook=evm_hook, ) expected_message = { "sender": sender, "namespace": { "denom": denom, - "wasmHook": wasmhook, - "mintsPaused": mints_paused, - "sendsPaused": sends_paused, - "burnsPaused": burns_paused, + "wasmHook": wasm_hook, "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, + ], + "actorRoles": [ + { + "actor": actor_roles1.actor, + "roles": actor_roles1.roles, + }, + { + "actor": actor_roles2.actor, + "roles": actor_roles2.roles, + }, + ], + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, ], + "evmHook": evm_hook, }, } @@ -1769,50 +2035,120 @@ def test_msg_create_namespace(self, basic_composer): ) assert dict_message == expected_message - def test_msg_delete_namespace(self, basic_composer): + def test_msg_update_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - - message = basic_composer.msg_delete_namespace( - sender=sender, - namespace_denom=denom, + wasm_hook = "wasmhook" + evm_hook = "evmhook" + permissions_role1 = basic_composer.permissions_role( + name="role1", + role_id=1, + permissions=5, ) - - expected_message = { - "sender": sender, - "namespaceDenom": denom, - } - - dict_message = json_format.MessageToDict( - message=message, - always_print_fields_with_no_presence=True, + permissions_role2 = basic_composer.permissions_role( + name="role2", + role_id=2, + permissions=6, + ) + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", + roles=["role1"], + ) + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", + roles=["role2"], + ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, ) - assert dict_message == expected_message - - def test_msg_update_namespace(self, basic_composer): - sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True message = basic_composer.msg_update_namespace( sender=sender, - namespace_denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + denom=denom, + wasm_hook=wasm_hook, + role_permissions=[permissions_role1, permissions_role2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], + evm_hook=evm_hook, ) expected_message = { "sender": sender, - "namespaceDenom": denom, - "wasmHook": {"newValue": wasmhook}, - "mintsPaused": {"newValue": mints_paused}, - "sendsPaused": {"newValue": sends_paused}, - "burnsPaused": {"newValue": burns_paused}, + "denom": denom, + "wasmHook": { + "newValue": wasm_hook, + }, + "rolePermissions": [ + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, + ], + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, + ], + "evmHook": { + "newValue": evm_hook, + }, } dict_message = json_format.MessageToDict( @@ -1821,47 +2157,55 @@ def test_msg_update_namespace(self, basic_composer): ) assert dict_message == expected_message - def test_msg_update_namespace_roles(self, basic_composer): + def test_msg_update_actor_roles(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - permissions_role1 = basic_composer.permissions_role( + role_actors1 = basic_composer.permissions_role_actors( role="role1", - permissions=1, + actors=["actor1"], ) - permissions_role2 = basic_composer.permissions_role( + role_actors2 = basic_composer.permissions_role_actors( role="role2", - permissions=2, + actors=["actor2"], ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role1"], + role_actors3 = basic_composer.permissions_role_actors( + role="role3", + actors=["actor3"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role2"], + role_actors4 = basic_composer.permissions_role_actors( + role="role4", + actors=["actor4"], ) - message = basic_composer.msg_update_namespace_roles( + message = basic_composer.msg_update_actor_roles( sender=sender, - namespace_denom=denom, - role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], ) expected_message = { "sender": sender, - "namespaceDenom": denom, - "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + "denom": denom, + "roleActorsToAdd": [ + { + "role": role_actors1.role, + "actors": role_actors1.actors, + }, + { + "role": role_actors2.role, + "actors": role_actors2.actors, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "roleActorsToRevoke": [ + { + "role": role_actors3.role, + "actors": role_actors3.actors, + }, + { + "role": role_actors4.role, + "actors": role_actors4.actors, + }, ], } @@ -1871,35 +2215,192 @@ def test_msg_update_namespace_roles(self, basic_composer): ) assert dict_message == expected_message - def test_msg_revoke_namespace_roles(self, basic_composer): + def test_msg_claim_voucher(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role1"], + message = basic_composer.msg_claim_voucher( + sender=sender, + denom=denom, ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role2"], + + expected_message = { + "sender": sender, + "denom": denom, + } + + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_order_data_without_mask(self, basic_composer): + market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" + + order_data = basic_composer.order_data_without_mask( + market_id=market_id, + subaccount_id="subaccount_id", + order_hash="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000", + ) + + expected_message = { + "marketId": market_id, + "subaccountId": "subaccount_id", + "orderHash": "0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000000", + "orderMask": 1, + "cid": "", + } + + dict_message = json_format.MessageToDict( + message=order_data, + always_print_fields_with_no_presence=True, ) - message = basic_composer.msg_revoke_namespace_roles( + + assert dict_message == expected_message + + def test_msg_privileged_execute_contract(self, basic_composer): + sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" + contract_address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7" + data = "test_data" + funds = "100inj,420peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7" + + message = basic_composer.msg_privileged_execute_contract( sender=sender, - namespace_denom=denom, - address_roles_to_revoke=[permissions_address_roles1, permissions_address_roles2], + contract_address=contract_address, + data=data, + funds=funds, ) expected_message = { "sender": sender, - "namespaceDenom": denom, - "addressRolesToRevoke": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "funds": funds, + "contractAddress": contract_address, + "data": data, + } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_create_insurance_fund(self, basic_composer): + message = basic_composer.msg_create_insurance_fund( + sender="sender", + ticker="AAVE/USDT PERP", + quote_denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + oracle_base="0x2b9ab1e972a281585084148ba1389800799bd4be63b957507db1349314e47445", + oracle_quote="0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b", + oracle_type="Band", + expiry=-1, + initial_deposit=1, + ) + + expected_message = { + "sender": "sender", + "ticker": "AAVE/USDT PERP", + "quoteDenom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + "oracleBase": "0x2b9ab1e972a281585084148ba1389800799bd4be63b957507db1349314e47445", + "oracleQuote": "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b", + "oracleType": "Band", + "expiry": "-1", + "initialDeposit": { + "amount": f"{Decimal('1').normalize():f}", + "denom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + }, + } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_send_to_eth_fund(self, basic_composer): + message = basic_composer.msg_send_to_eth( + denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + sender="sender", + eth_dest="eth_dest", + amount=1, + bridge_fee=2, + ) + + expected_message = { + "sender": "sender", + "ethDest": "eth_dest", + "amount": { + "amount": f"{Decimal(1).normalize():f}", + "denom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + }, + "bridgeFee": { + "amount": f"{Decimal(2).normalize():f}", + "denom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + }, + } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_underwrite(self, basic_composer): + message = basic_composer.msg_underwrite( + sender="sender", + market_id="market_id", + quote_denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + amount=1, + ) + + expected_message = { + "sender": "sender", + "marketId": "market_id", + "deposit": { + "amount": f"{Decimal('1').normalize():f}", + "denom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + }, + } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_send(self, basic_composer): + message = basic_composer.msg_send( + from_address="from_address", + to_address="to_address", + amount=1, + denom="peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + ) + + expected_message = { + "fromAddress": "from_address", + "toAddress": "to_address", + "amount": [ + { + "amount": f"{Decimal('1').normalize():f}", + "denom": "peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7", + }, ], } + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_create_token_pair(self, basic_composer): + message = basic_composer.msg_create_token_pair( + sender="sender", + bank_denom="denom", + erc20_address="erc20_address", + ) + + expected_message = { + "sender": "sender", + "tokenPair": { + "bankDenom": "denom", + "erc20Address": "erc20_address", + }, + } dict_message = json_format.MessageToDict( message=message, @@ -1907,17 +2408,33 @@ def test_msg_revoke_namespace_roles(self, basic_composer): ) assert dict_message == expected_message - def test_msg_claim_voucher(self, basic_composer): + def test_msg_delete_token_pair(self, basic_composer): + message = basic_composer.msg_delete_token_pair( + sender="sender", + bank_denom="denom", + ) + + expected_message = { + "sender": "sender", + "bankDenom": "denom", + } + + dict_message = json_format.MessageToDict( + message=message, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_msg_cancel_post_only_mode(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" - message = basic_composer.msg_claim_voucher( + + message = basic_composer.msg_cancel_post_only_mode( sender=sender, - denom=denom, ) + assert "injective.exchange.v2.MsgCancelPostOnlyMode" == message.DESCRIPTOR.full_name expected_message = { "sender": sender, - "denom": denom, } dict_message = json_format.MessageToDict( @@ -1925,3 +2442,332 @@ def test_msg_claim_voucher(self, basic_composer): always_print_fields_with_no_presence=True, ) assert dict_message == expected_message + + def test_open_notional_cap(self, basic_composer): + cap_value = Decimal("100000") + expected_cap_value = Token.convert_value_to_extended_decimal_format(value=cap_value) + + open_notional_cap = basic_composer.open_notional_cap(value=cap_value) + + expected_message = { + "capped": { + "value": f"{expected_cap_value.normalize():f}", + }, + } + + dict_message = json_format.MessageToDict( + message=open_notional_cap, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_uncapped_open_notional_cap(self, basic_composer): + open_notional_cap = basic_composer.uncapped_open_notional_cap() + + expected_message = { + "uncapped": {}, + } + + dict_message = json_format.MessageToDict( + message=open_notional_cap, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_bank_balances_filter(self, basic_composer): + accounts = ["inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"] + + filter_result = basic_composer.chain_stream_bank_balances_filter(accounts=accounts) + + expected_message = { + "accounts": accounts, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_bank_balances_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_bank_balances_filter() + + expected_message = { + "accounts": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_subaccount_deposits_filter(self, basic_composer): + subaccount_ids = [ + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002", + ] + + filter_result = basic_composer.chain_stream_subaccount_deposits_filter(subaccount_ids=subaccount_ids) + + expected_message = { + "subaccountIds": subaccount_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_subaccount_deposits_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_subaccount_deposits_filter() + + expected_message = { + "subaccountIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_trades_filter(self, basic_composer): + subaccount_ids = [ + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002", + ] + market_ids = [ + "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ] + + filter_result = basic_composer.chain_stream_trades_filter(subaccount_ids=subaccount_ids, market_ids=market_ids) + + expected_message = { + "subaccountIds": subaccount_ids, + "marketIds": market_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_trades_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_trades_filter() + + expected_message = { + "subaccountIds": ["*"], + "marketIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_orders_filter(self, basic_composer): + subaccount_ids = [ + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002", + ] + market_ids = [ + "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ] + + filter_result = basic_composer.chain_stream_orders_filter(subaccount_ids=subaccount_ids, market_ids=market_ids) + + expected_message = { + "subaccountIds": subaccount_ids, + "marketIds": market_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_orders_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_orders_filter() + + expected_message = { + "subaccountIds": ["*"], + "marketIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_orderbooks_filter(self, basic_composer): + market_ids = [ + "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ] + + filter_result = basic_composer.chain_stream_orderbooks_filter(market_ids=market_ids) + + expected_message = { + "marketIds": market_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_orderbooks_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_orderbooks_filter() + + expected_message = { + "marketIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_positions_filter(self, basic_composer): + subaccount_ids = [ + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002", + ] + market_ids = [ + "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ] + + filter_result = basic_composer.chain_stream_positions_filter( + subaccount_ids=subaccount_ids, market_ids=market_ids + ) + + expected_message = { + "subaccountIds": subaccount_ids, + "marketIds": market_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_positions_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_positions_filter() + + expected_message = { + "subaccountIds": ["*"], + "marketIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_oracle_price_filter(self, basic_composer): + symbols = ["BTC/USD", "ETH/USD", "INJ/USD"] + + filter_result = basic_composer.chain_stream_oracle_price_filter(symbols=symbols) + + expected_message = { + "symbol": symbols, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_oracle_price_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_oracle_price_filter() + + expected_message = { + "symbol": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_order_failures_filter(self, basic_composer): + accounts = ["inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r"] + + filter_result = basic_composer.chain_stream_order_failures_filter(accounts=accounts) + + expected_message = { + "accounts": accounts, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_order_failures_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_order_failures_filter() + + expected_message = { + "accounts": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_conditional_order_trigger_failures_filter(self, basic_composer): + subaccount_ids = [ + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", + "0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000002", + ] + market_ids = [ + "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", + "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", + ] + + filter_result = basic_composer.chain_stream_conditional_order_trigger_failures_filter( + subaccount_ids=subaccount_ids, market_ids=market_ids + ) + + expected_message = { + "subaccountIds": subaccount_ids, + "marketIds": market_ids, + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message + + def test_chain_stream_conditional_order_trigger_failures_filter_default(self, basic_composer): + filter_result = basic_composer.chain_stream_conditional_order_trigger_failures_filter() + + expected_message = { + "subaccountIds": ["*"], + "marketIds": ["*"], + } + + dict_message = json_format.MessageToDict( + message=filter_result, + always_print_fields_with_no_presence=True, + ) + assert dict_message == expected_message diff --git a/tests/test_orderhash.py b/tests/test_orderhash.py index dd6d2895..2ce99be1 100644 --- a/tests/test_orderhash.py +++ b/tests/test_orderhash.py @@ -1,40 +1,15 @@ from decimal import Decimal -import pytest - from pyinjective import PrivateKey -from pyinjective.composer import Composer +from pyinjective.composer_v2 import Composer from pyinjective.core.network import Network from pyinjective.orderhash import OrderHashManager -from tests.model_fixtures.markets_fixtures import ( # noqa: F401 - btc_usdt_perp_market, - first_match_bet_market, - inj_token, - inj_usdt_spot_market, - usdt_perp_token, - usdt_token, -) class TestOrderHashManager: - @pytest.fixture - def basic_composer(self, inj_usdt_spot_market, btc_usdt_perp_market, first_match_bet_market): - composer = Composer( - network=Network.devnet().string(), - spot_markets={inj_usdt_spot_market.id: inj_usdt_spot_market}, - derivative_markets={btc_usdt_perp_market.id: btc_usdt_perp_market}, - binary_option_markets={first_match_bet_market.id: first_match_bet_market}, - tokens={ - inj_usdt_spot_market.base_token.symbol: inj_usdt_spot_market.base_token, - inj_usdt_spot_market.quote_token.symbol: inj_usdt_spot_market.quote_token, - btc_usdt_perp_market.quote_token.symbol: btc_usdt_perp_market.quote_token, - }, - ) - - return composer - - def test_spot_order_hash(self, requests_mock, basic_composer): + def test_spot_order_hash(self, requests_mock): network = Network.devnet() + composer = Composer(network=network.string()) priv_key = PrivateKey.from_mnemonic("test one few words") pub_key = priv_key.to_public_key() address = pub_key.to_address() @@ -45,11 +20,11 @@ def test_spot_order_hash(self, requests_mock, basic_composer): requests_mock.get(url, json={"nonce": 0}) order_hash_manager = OrderHashManager(address=address, network=network, subaccount_indexes=[0]) - spot_market_id = list(basic_composer.spot_markets.keys())[0] + spot_market_id = "0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0" fee_recipient = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" spot_orders = [ - basic_composer.spot_order( + composer.spot_order( market_id=spot_market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -57,7 +32,7 @@ def test_spot_order_hash(self, requests_mock, basic_composer): quantity=Decimal("0.01"), order_type="BUY", ), - basic_composer.spot_order( + composer.spot_order( market_id=spot_market_id, subaccount_id=subaccount_id, fee_recipient=fee_recipient, @@ -73,5 +48,5 @@ def test_spot_order_hash(self, requests_mock, basic_composer): assert len(order_hashes_response.spot) == 2 assert len(order_hashes_response.derivative) == 0 - assert order_hashes_response.spot[0] == "0x79f259a10d813f11c9582b94950b5a0922180c1b2785638d8aefa04e0c8ae4aa" - assert order_hashes_response.spot[1] == "0x96c2c4a5d38a20457e8f3319b9aac194ad03b2ce80d0acd718190487bf12e434" + assert order_hashes_response.spot[0] == "0x4f70723b33db271e6c56201e42c5911dd97a9f5345c7fcf12eb69c2689f94e78" + assert order_hashes_response.spot[1] == "0x2cc1acacf0e576ea41e9381725f4c78fc5c191f9df4e3e98402c09b8ad2c82e8" diff --git a/tests/test_wallet.py b/tests/test_wallet.py index a2740a97..5b62dd2a 100644 --- a/tests/test_wallet.py +++ b/tests/test_wallet.py @@ -28,3 +28,19 @@ def test_convert_public_key_to_address(self): expected_address = Address(hashed_value[12:]) assert expected_address == address + + +class TestAddress: + def test_from_acc_bech32(self): + address = Address.from_acc_bech32("inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r") + assert address.to_acc_bech32() == "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + eth_address = address.get_ethereum_address() + assert eth_address == "0xbdaedec95d563fb05240d6e01821008454c24c36" + + def test_from_eth(self): + address = Address.from_eth_address("0xbdaedec95d563fb05240d6e01821008454c24c36") + assert address.to_acc_bech32() == "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + eth_address = address.get_ethereum_address() + assert eth_address == "0xbdaedec95d563fb05240d6e01821008454c24c36"