diff --git a/Makefile b/Makefile index 76e8dbc6..f4471dec 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,29 @@ -all: +all: gen gen: gen-client -gen-client: clone-all copy-proto +gen-client: mkdir -p ./pyinjective/proto buf generate --template buf.gen.yaml rm -rf proto $(call clean_repos) - $(MAKE) fix-generated-proto-imports + $(MAKE) fix-generated-proto-imports-1 -PROTO_MODULES := cosmwasm exchange gogoproto cosmos_proto cosmos testpb ibc amino tendermint injective +PROTO_MODULES := cosmwasm gogoproto cosmos_proto cosmos testpb ibc amino tendermint injective -fix-generated-proto-imports: +fix-generated-proto-imports-1: @touch pyinjective/proto/__init__.py @for module in $(PROTO_MODULES); do \ - find ./pyinjective/proto -type f -name "*.py" -exec sed -i "" -e "s/from $${module}/from pyinjective.proto.$${module}/g" {} \; ; \ + find ./pyinjective/proto -type f -name "*.py" -exec sed -i "s/from $${module}/from pyinjective.proto.$${module}/g" {} \; ; \ + done + @find ./pyinjective/proto -type f -name "*.py" -exec sed -i "s/from google.api/from pyinjective.proto.google.api/g" {} \; +fix-generated-proto-imports: + @echo "Listing all Python files in pyinjective/proto:" + @find ./pyinjective/proto -type f -name "*.py" -ls + @echo "\nModules that will be processed:" + @for module in $(PROTO_MODULES); do \ + echo "$$module"; \ done - @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 @@ -24,22 +31,10 @@ define clean_repos rm -Rf cometbft rm -Rf wasmd rm -Rf injective-core - rm -Rf injective-indexer endef 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 - -clone-all: clone-injective-indexer - -copy-proto: - rm -rf pyinjective/proto - mkdir -p proto/exchange - find ./injective-indexer/api/gen/grpc -type f -name "*.proto" -exec cp {} ./proto/exchange/ \; - tests: poetry run pytest -v diff --git a/buf.gen.yaml b/buf.gen.yaml index 82747c53..ceee3c62 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -20,10 +20,11 @@ inputs: # - git_repo: https://github.com/InjectiveLabs/wasmd # branch: v0.51.x-inj # subdir: proto - - git_repo: https://github.com/InjectiveLabs/injective-core - tag: v1.13.0 + - git_repo: https://github.com/enigmarikki/injective-core + #tag: v1.13.2 + branch: master subdir: proto # - git_repo: https://github.com/InjectiveLabs/injective-core # branch: master # subdir: proto - - directory: proto +#- directory: proto diff --git a/poetry.lock b/poetry.lock index 1cc5c3be..1745824e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" @@ -6,6 +6,7 @@ version = "2.4.4" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.8" +groups = ["main", "test"] files = [ {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, @@ -13,87 +14,88 @@ files = [ [[package]] name = "aiohttp" -version = "3.11.10" +version = "3.11.11" 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"}, +groups = ["main", "test"] +files = [ + {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a60804bff28662cbcf340a4d61598891f12eea3a66af48ecfdc975ceec21e3c8"}, + {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b4fa1cb5f270fb3eab079536b764ad740bb749ce69a94d4ec30ceee1b5940d5"}, + {file = "aiohttp-3.11.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:731468f555656767cda219ab42e033355fe48c85fbe3ba83a349631541715ba2"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb23d8bb86282b342481cad4370ea0853a39e4a32a0042bb52ca6bdde132df43"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f047569d655f81cb70ea5be942ee5d4421b6219c3f05d131f64088c73bb0917f"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7659baae9ccf94ae5fe8bfaa2c7bc2e94d24611528395ce88d009107e00c6d"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af01e42ad87ae24932138f154105e88da13ce7d202a6de93fafdafb2883a00ef"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5854be2f3e5a729800bac57a8d76af464e160f19676ab6aea74bde18ad19d438"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6526e5fb4e14f4bbf30411216780c9967c20c5a55f2f51d3abd6de68320cc2f3"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:85992ee30a31835fc482468637b3e5bd085fa8fe9392ba0bdcbdc1ef5e9e3c55"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:88a12ad8ccf325a8a5ed80e6d7c3bdc247d66175afedbe104ee2aaca72960d8e"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0a6d3fbf2232e3a08c41eca81ae4f1dff3d8f1a30bae415ebe0af2d2458b8a33"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84a585799c58b795573c7fa9b84c455adf3e1d72f19a2bf498b54a95ae0d194c"}, + {file = "aiohttp-3.11.11-cp310-cp310-win32.whl", hash = "sha256:bfde76a8f430cf5c5584553adf9926534352251d379dcb266ad2b93c54a29745"}, + {file = "aiohttp-3.11.11-cp310-cp310-win_amd64.whl", hash = "sha256:0fd82b8e9c383af11d2b26f27a478640b6b83d669440c0a71481f7c865a51da9"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba74ec819177af1ef7f59063c6d35a214a8fde6f987f7661f4f0eecc468a8f76"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4af57160800b7a815f3fe0eba9b46bf28aafc195555f1824555fa2cfab6c1538"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffa336210cf9cd8ed117011085817d00abe4c08f99968deef0013ea283547204"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b8fe282183e4a3c7a1b72f5ade1094ed1c6345a8f153506d114af5bf8accd9"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af41686ccec6a0f2bdc66686dc0f403c41ac2089f80e2214a0f82d001052c03"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70d1f9dde0e5dd9e292a6d4d00058737052b01f3532f69c0c65818dac26dc287"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:249cc6912405917344192b9f9ea5cd5b139d49e0d2f5c7f70bdfaf6b4dbf3a2e"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0eb98d90b6690827dcc84c246811feeb4e1eea683c0eac6caed7549be9c84665"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec82bf1fda6cecce7f7b915f9196601a1bd1a3079796b76d16ae4cce6d0ef89b"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9fd46ce0845cfe28f108888b3ab17abff84ff695e01e73657eec3f96d72eef34"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd176afcf8f5d2aed50c3647d4925d0db0579d96f75a31e77cbaf67d8a87742d"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ec2aa89305006fba9ffb98970db6c8221541be7bee4c1d027421d6f6df7d1ce2"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:92cde43018a2e17d48bb09c79e4d4cb0e236de5063ce897a5e40ac7cb4878773"}, + {file = "aiohttp-3.11.11-cp311-cp311-win32.whl", hash = "sha256:aba807f9569455cba566882c8938f1a549f205ee43c27b126e5450dc9f83cc62"}, + {file = "aiohttp-3.11.11-cp311-cp311-win_amd64.whl", hash = "sha256:ae545f31489548c87b0cced5755cfe5a5308d00407000e72c4fa30b19c3220ac"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e"}, + {file = "aiohttp-3.11.11-cp312-cp312-win32.whl", hash = "sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600"}, + {file = "aiohttp-3.11.11-cp312-cp312-win_amd64.whl", hash = "sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:541d823548ab69d13d23730a06f97460f4238ad2e5ed966aaf850d7c369782d9"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:929f3ed33743a49ab127c58c3e0a827de0664bfcda566108989a14068f820194"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0882c2820fd0132240edbb4a51eb8ceb6eef8181db9ad5291ab3332e0d71df5f"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63de12e44935d5aca7ed7ed98a255a11e5cb47f83a9fded7a5e41c40277d104"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa54f8ef31d23c506910c21163f22b124facb573bff73930735cf9fe38bf7dff"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344d5dc18074e3872777b62f5f7d584ae4344cd6006c17ba12103759d407af3"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7fb429ab1aafa1f48578eb315ca45bd46e9c37de11fe45c7f5f4138091e2f1"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c341c7d868750e31961d6d8e60ff040fb9d3d3a46d77fd85e1ab8e76c3e9a5c4"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed9ee95614a71e87f1a70bc81603f6c6760128b140bc4030abe6abaa988f1c3d"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:de8d38f1c2810fa2a4f1d995a2e9c70bb8737b18da04ac2afbf3971f65781d87"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a9b7371665d4f00deb8f32208c7c5e652059b0fda41cf6dbcac6114a041f1cc2"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:620598717fce1b3bd14dd09947ea53e1ad510317c85dda2c9c65b622edc96b12"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf8d9bfee991d8acc72d060d53860f356e07a50f0e0d09a8dfedea1c554dd0d5"}, + {file = "aiohttp-3.11.11-cp313-cp313-win32.whl", hash = "sha256:9d73ee3725b7a737ad86c2eac5c57a4a97793d9f442599bea5ec67ac9f4bdc3d"}, + {file = "aiohttp-3.11.11-cp313-cp313-win_amd64.whl", hash = "sha256:c7a06301c2fb096bdb0bd25fe2011531c1453b9f2c163c8031600ec73af1cc99"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3e23419d832d969f659c208557de4a123e30a10d26e1e14b73431d3c13444c2e"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:21fef42317cf02e05d3b09c028712e1d73a9606f02467fd803f7c1f39cc59add"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f21bb8d0235fc10c09ce1d11ffbd40fc50d3f08a89e4cf3a0c503dc2562247a"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1642eceeaa5ab6c9b6dfeaaa626ae314d808188ab23ae196a34c9d97efb68350"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2170816e34e10f2fd120f603e951630f8a112e1be3b60963a1f159f5699059a6"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8be8508d110d93061197fd2d6a74f7401f73b6d12f8822bbcd6d74f2b55d71b1"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eed954b161e6b9b65f6be446ed448ed3921763cc432053ceb606f89d793927e"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6c9af134da4bc9b3bd3e6a70072509f295d10ee60c697826225b60b9959acdd"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44167fc6a763d534a6908bdb2592269b4bf30a03239bcb1654781adf5e49caf1"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:479b8c6ebd12aedfe64563b85920525d05d394b85f166b7873c8bde6da612f9c"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:10b4ff0ad793d98605958089fabfa350e8e62bd5d40aa65cdc69d6785859f94e"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b540bd67cfb54e6f0865ceccd9979687210d7ed1a1cc8c01f8e67e2f1e883d28"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1dac54e8ce2ed83b1f6b1a54005c87dfed139cf3f777fdc8afc76e7841101226"}, + {file = "aiohttp-3.11.11-cp39-cp39-win32.whl", hash = "sha256:568c1236b2fde93b7720f95a890741854c1200fba4a3471ff48b2934d2d93fd3"}, + {file = "aiohttp-3.11.11-cp39-cp39-win_amd64.whl", hash = "sha256:943a8b052e54dfd6439fd7989f67fc6a7f2138d0a2cf0a7de5f18aa4fe7eb3b1"}, + {file = "aiohttp-3.11.11.tar.gz", hash = "sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e"}, ] [package.dependencies] @@ -111,13 +113,14 @@ speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[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 = "*" +groups = ["test"] 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,13 +129,14 @@ packaging = ">=22.0" [[package]] name = "aiosignal" -version = "1.3.1" +version = "1.3.2" description = "aiosignal: a list of registered asynchronous callbacks" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" +groups = ["main", "test"] 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.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, + {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, ] [package.dependencies] @@ -144,6 +148,7 @@ version = "1.5.1" description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, @@ -155,6 +160,8 @@ version = "5.0.1" description = "Timeout context manager for asyncio programs" optional = false python-versions = ">=3.8" +groups = ["main", "test"] +markers = "python_version < \"3.11\"" files = [ {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, @@ -162,19 +169,20 @@ files = [ [[package]] name = "attrs" -version = "24.2.0" +version = "25.1.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +groups = ["main", "test"] 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-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [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]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "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"] @@ -185,6 +193,7 @@ version = "1.2.0" description = "Reference implementation for Bech32 and segwit addresses." optional = false python-versions = ">=3.5" +groups = ["main"] files = [ {file = "bech32-1.2.0-py3-none-any.whl", hash = "sha256:990dc8e5a5e4feabbdf55207b5315fdd9b73db40be294a19b3752cde9e79d981"}, {file = "bech32-1.2.0.tar.gz", hash = "sha256:7d6db8214603bd7871fcfa6c0826ef68b85b0abd90fa21c285a9c5e21d2bd899"}, @@ -196,6 +205,7 @@ version = "4.0" description = "Minimalistic implementation of the BIP32 key derivation scheme" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "bip32-4.0-py3-none-any.whl", hash = "sha256:9728b38336129c00e1f870bbb3e328c9632d51c1bddeef4011fd3115cb3aeff9"}, {file = "bip32-4.0.tar.gz", hash = "sha256:8035588f252f569bb414bc60df151ae431fc1c6789a19488a32890532ef3a2fc"}, @@ -210,6 +220,7 @@ version = "3.0.0" description = "efficient arrays of booleans -- C extension" optional = false python-versions = "*" +groups = ["main"] 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"}, @@ -356,6 +367,7 @@ version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" +groups = ["dev"] 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"}, @@ -396,15 +408,40 @@ d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "cached-property" +version = "2.0.1" +description = "A decorator for caching properties in classes." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "cached_property-2.0.1-py3-none-any.whl", hash = "sha256:f617d70ab1100b7bcf6e42228f9ddcb78c676ffa167278d9f730d1c2fba69ccb"}, + {file = "cached_property-2.0.1.tar.gz", hash = "sha256:484d617105e3ee0e4f1f58725e72a8ef9e93deee462222dbd51cd91230897641"}, +] + +[[package]] +name = "cachetools" +version = "5.5.1" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb"}, + {file = "cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95"}, +] + [[package]] name = "certifi" -version = "2024.8.30" +version = "2025.1.31" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" +groups = ["main", "test"] 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-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, + {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, ] [[package]] @@ -413,6 +450,7 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" +groups = ["main"] 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"}, @@ -492,6 +530,7 @@ version = "3.4.0" description = "Validate configuration and produce human readable error messages." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, @@ -499,116 +538,104 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.1" 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" +groups = ["main", "test"] +files = [ + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, ] [[package]] @@ -617,6 +644,7 @@ version = "1.0.2" description = "Python bindings for C-KZG-4844" optional = false python-versions = "*" +groups = ["main"] 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"}, @@ -707,13 +735,14 @@ files = [ [[package]] name = "click" -version = "8.1.7" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" +groups = ["dev"] 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.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -725,6 +754,7 @@ version = "20.0.0" description = "Cross-platform Python CFFI bindings for libsecp256k1" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "coincurve-20.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d559b22828638390118cae9372a1bb6f6594f5584c311deb1de6a83163a0919b"}, {file = "coincurve-20.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33d7f6ebd90fcc550f819f7f2cce2af525c342aac07f0ccda46ad8956ad9d99b"}, @@ -791,80 +821,83 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev", "test"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +markers = {test = "sys_platform == \"win32\""} [[package]] name = "coverage" -version = "7.6.9" +version = "7.6.10" 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"}, +groups = ["test"] +files = [ + {file = "coverage-7.6.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5c912978f7fbf47ef99cec50c4401340436d200d41d714c7a4766f377c5b7b78"}, + {file = "coverage-7.6.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a01ec4af7dfeb96ff0078ad9a48810bb0cc8abcb0115180c6013a6b26237626c"}, + {file = "coverage-7.6.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3b204c11e2b2d883946fe1d97f89403aa1811df28ce0447439178cc7463448a"}, + {file = "coverage-7.6.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32ee6d8491fcfc82652a37109f69dee9a830e9379166cb73c16d8dc5c2915165"}, + {file = "coverage-7.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675cefc4c06e3b4c876b85bfb7c59c5e2218167bbd4da5075cbe3b5790a28988"}, + {file = "coverage-7.6.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f4f620668dbc6f5e909a0946a877310fb3d57aea8198bde792aae369ee1c23b5"}, + {file = "coverage-7.6.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4eea95ef275de7abaef630c9b2c002ffbc01918b726a39f5a4353916ec72d2f3"}, + {file = "coverage-7.6.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e2f0280519e42b0a17550072861e0bc8a80a0870de260f9796157d3fca2733c5"}, + {file = "coverage-7.6.10-cp310-cp310-win32.whl", hash = "sha256:bc67deb76bc3717f22e765ab3e07ee9c7a5e26b9019ca19a3b063d9f4b874244"}, + {file = "coverage-7.6.10-cp310-cp310-win_amd64.whl", hash = "sha256:0f460286cb94036455e703c66988851d970fdfd8acc2a1122ab7f4f904e4029e"}, + {file = "coverage-7.6.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ea3c8f04b3e4af80e17bab607c386a830ffc2fb88a5484e1df756478cf70d1d3"}, + {file = "coverage-7.6.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:507a20fc863cae1d5720797761b42d2d87a04b3e5aeb682ef3b7332e90598f43"}, + {file = "coverage-7.6.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d37a84878285b903c0fe21ac8794c6dab58150e9359f1aaebbeddd6412d53132"}, + {file = "coverage-7.6.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a534738b47b0de1995f85f582d983d94031dffb48ab86c95bdf88dc62212142f"}, + {file = "coverage-7.6.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d7a2bf79378d8fb8afaa994f91bfd8215134f8631d27eba3e0e2c13546ce994"}, + {file = "coverage-7.6.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6713ba4b4ebc330f3def51df1d5d38fad60b66720948112f114968feb52d3f99"}, + {file = "coverage-7.6.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ab32947f481f7e8c763fa2c92fd9f44eeb143e7610c4ca9ecd6a36adab4081bd"}, + {file = "coverage-7.6.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7bbd8c8f1b115b892e34ba66a097b915d3871db7ce0e6b9901f462ff3a975377"}, + {file = "coverage-7.6.10-cp311-cp311-win32.whl", hash = "sha256:299e91b274c5c9cdb64cbdf1b3e4a8fe538a7a86acdd08fae52301b28ba297f8"}, + {file = "coverage-7.6.10-cp311-cp311-win_amd64.whl", hash = "sha256:489a01f94aa581dbd961f306e37d75d4ba16104bbfa2b0edb21d29b73be83609"}, + {file = "coverage-7.6.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27c6e64726b307782fa5cbe531e7647aee385a29b2107cd87ba7c0105a5d3853"}, + {file = "coverage-7.6.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c56e097019e72c373bae32d946ecf9858fda841e48d82df7e81c63ac25554078"}, + {file = "coverage-7.6.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7827a5bc7bdb197b9e066cdf650b2887597ad124dd99777332776f7b7c7d0d0"}, + {file = "coverage-7.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:204a8238afe787323a8b47d8be4df89772d5c1e4651b9ffa808552bdf20e1d50"}, + {file = "coverage-7.6.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67926f51821b8e9deb6426ff3164870976fe414d033ad90ea75e7ed0c2e5022"}, + {file = "coverage-7.6.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e78b270eadb5702938c3dbe9367f878249b5ef9a2fcc5360ac7bff694310d17b"}, + {file = "coverage-7.6.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:714f942b9c15c3a7a5fe6876ce30af831c2ad4ce902410b7466b662358c852c0"}, + {file = "coverage-7.6.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:abb02e2f5a3187b2ac4cd46b8ced85a0858230b577ccb2c62c81482ca7d18852"}, + {file = "coverage-7.6.10-cp312-cp312-win32.whl", hash = "sha256:55b201b97286cf61f5e76063f9e2a1d8d2972fc2fcfd2c1272530172fd28c359"}, + {file = "coverage-7.6.10-cp312-cp312-win_amd64.whl", hash = "sha256:e4ae5ac5e0d1e4edfc9b4b57b4cbecd5bc266a6915c500f358817a8496739247"}, + {file = "coverage-7.6.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:05fca8ba6a87aabdd2d30d0b6c838b50510b56cdcfc604d40760dae7153b73d9"}, + {file = "coverage-7.6.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9e80eba8801c386f72e0712a0453431259c45c3249f0009aff537a517b52942b"}, + {file = "coverage-7.6.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a372c89c939d57abe09e08c0578c1d212e7a678135d53aa16eec4430adc5e690"}, + {file = "coverage-7.6.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec22b5e7fe7a0fa8509181c4aac1db48f3dd4d3a566131b313d1efc102892c18"}, + {file = "coverage-7.6.10-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26bcf5c4df41cad1b19c84af71c22cbc9ea9a547fc973f1f2cc9a290002c8b3c"}, + {file = "coverage-7.6.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e4630c26b6084c9b3cb53b15bd488f30ceb50b73c35c5ad7871b869cb7365fd"}, + {file = "coverage-7.6.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2396e8116db77789f819d2bc8a7e200232b7a282c66e0ae2d2cd84581a89757e"}, + {file = "coverage-7.6.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79109c70cc0882e4d2d002fe69a24aa504dec0cc17169b3c7f41a1d341a73694"}, + {file = "coverage-7.6.10-cp313-cp313-win32.whl", hash = "sha256:9e1747bab246d6ff2c4f28b4d186b205adced9f7bd9dc362051cc37c4a0c7bd6"}, + {file = "coverage-7.6.10-cp313-cp313-win_amd64.whl", hash = "sha256:254f1a3b1eef5f7ed23ef265eaa89c65c8c5b6b257327c149db1ca9d4a35f25e"}, + {file = "coverage-7.6.10-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2ccf240eb719789cedbb9fd1338055de2761088202a9a0b73032857e53f612fe"}, + {file = "coverage-7.6.10-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0c807ca74d5a5e64427c8805de15b9ca140bba13572d6d74e262f46f50b13273"}, + {file = "coverage-7.6.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bcfa46d7709b5a7ffe089075799b902020b62e7ee56ebaed2f4bdac04c508d8"}, + {file = "coverage-7.6.10-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e0de1e902669dccbf80b0415fb6b43d27edca2fbd48c74da378923b05316098"}, + {file = "coverage-7.6.10-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7b444c42bbc533aaae6b5a2166fd1a797cdb5eb58ee51a92bee1eb94a1e1cb"}, + {file = "coverage-7.6.10-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b330368cb99ef72fcd2dc3ed260adf67b31499584dc8a20225e85bfe6f6cfed0"}, + {file = "coverage-7.6.10-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9a7cfb50515f87f7ed30bc882f68812fd98bc2852957df69f3003d22a2aa0abf"}, + {file = "coverage-7.6.10-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f93531882a5f68c28090f901b1d135de61b56331bba82028489bc51bdd818d2"}, + {file = "coverage-7.6.10-cp313-cp313t-win32.whl", hash = "sha256:89d76815a26197c858f53c7f6a656686ec392b25991f9e409bcef020cd532312"}, + {file = "coverage-7.6.10-cp313-cp313t-win_amd64.whl", hash = "sha256:54a5f0f43950a36312155dae55c505a76cd7f2b12d26abeebbe7a0b36dbc868d"}, + {file = "coverage-7.6.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:656c82b8a0ead8bba147de9a89bda95064874c91a3ed43a00e687f23cc19d53a"}, + {file = "coverage-7.6.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ccc2b70a7ed475c68ceb548bf69cec1e27305c1c2606a5eb7c3afff56a1b3b27"}, + {file = "coverage-7.6.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5e37dc41d57ceba70956fa2fc5b63c26dba863c946ace9705f8eca99daecdc4"}, + {file = "coverage-7.6.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0aa9692b4fdd83a4647eeb7db46410ea1322b5ed94cd1715ef09d1d5922ba87f"}, + {file = "coverage-7.6.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa744da1820678b475e4ba3dfd994c321c5b13381d1041fe9c608620e6676e25"}, + {file = "coverage-7.6.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0b1818063dc9e9d838c09e3a473c1422f517889436dd980f5d721899e66f315"}, + {file = "coverage-7.6.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:59af35558ba08b758aec4d56182b222976330ef8d2feacbb93964f576a7e7a90"}, + {file = "coverage-7.6.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7ed2f37cfce1ce101e6dffdfd1c99e729dd2ffc291d02d3e2d0af8b53d13840d"}, + {file = "coverage-7.6.10-cp39-cp39-win32.whl", hash = "sha256:4bcc276261505d82f0ad426870c3b12cb177752834a633e737ec5ee79bbdff18"}, + {file = "coverage-7.6.10-cp39-cp39-win_amd64.whl", hash = "sha256:457574f4599d2b00f7f637a0700a6422243b3565509457b2dbd3f50703e11f59"}, + {file = "coverage-7.6.10-pp39.pp310-none-any.whl", hash = "sha256:fd34e7b3405f0cc7ab03d54a334c17a9e802897580d964bd8c2001f4b9fd488f"}, + {file = "coverage-7.6.10.tar.gz", hash = "sha256:7fb105327c8f8f0682e29843e2ff96af9dcbe5bab8eeb4b398c6a33a16d80a23"}, ] [package.dependencies] @@ -875,97 +908,113 @@ toml = ["tomli"] [[package]] name = "cytoolz" -version = "1.0.0" +version = "1.0.1" description = "Cython implementation of Toolz: High performance functional utilities" optional = false python-versions = ">=3.8" -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"}, +groups = ["main"] +markers = "implementation_name == \"cpython\"" +files = [ + {file = "cytoolz-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cec9af61f71fc3853eb5dca3d42eb07d1f48a4599fa502cbe92adde85f74b042"}, + {file = "cytoolz-1.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:140bbd649dbda01e91add7642149a5987a7c3ccc251f2263de894b89f50b6608"}, + {file = "cytoolz-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90124bdc42ff58b88cdea1d24a6bc5f776414a314cc4d94f25c88badb3a16d1"}, + {file = "cytoolz-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e74801b751e28f7c5cc3ad264c123954a051f546f2fdfe089f5aa7a12ccfa6da"}, + {file = "cytoolz-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:582dad4545ddfb5127494ef23f3fa4855f1673a35d50c66f7638e9fb49805089"}, + {file = "cytoolz-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7bd0618e16efe03bd12f19c2a26a27e6e6b75d7105adb7be1cd2a53fa755d8"}, + {file = "cytoolz-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d74cca6acf1c4af58b2e4a89cc565ed61c5e201de2e434748c93e5a0f5c541a5"}, + {file = "cytoolz-1.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:823a3763828d8d457f542b2a45d75d6b4ced5e470b5c7cf2ed66a02f508ed442"}, + {file = "cytoolz-1.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51633a14e6844c61db1d68c1ffd077cf949f5c99c60ed5f1e265b9e2966f1b52"}, + {file = "cytoolz-1.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f3ec9b01c45348f1d0d712507d54c2bfd69c62fbd7c9ef555c9d8298693c2432"}, + {file = "cytoolz-1.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1855022b712a9c7a5bce354517ab4727a38095f81e2d23d3eabaf1daeb6a3b3c"}, + {file = "cytoolz-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9930f7288c4866a1dc1cc87174f0c6ff4cad1671eb1f6306808aa6c445857d78"}, + {file = "cytoolz-1.0.1-cp310-cp310-win32.whl", hash = "sha256:a9baad795d72fadc3445ccd0f122abfdbdf94269157e6d6d4835636dad318804"}, + {file = "cytoolz-1.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:ad95b386a84e18e1f6136f6d343d2509d4c3aae9f5a536f3dc96808fcc56a8cf"}, + {file = "cytoolz-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d958d4f04d9d7018e5c1850790d9d8e68b31c9a2deebca74b903706fdddd2b6"}, + {file = "cytoolz-1.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0f445b8b731fc0ecb1865b8e68a070084eb95d735d04f5b6c851db2daf3048ab"}, + {file = "cytoolz-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f546a96460a7e28eb2ec439f4664fa646c9b3e51c6ebad9a59d3922bbe65e30"}, + {file = "cytoolz-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0317681dd065532d21836f860b0563b199ee716f55d0c1f10de3ce7100c78a3b"}, + {file = "cytoolz-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0ef52febd5a7821a3fd8d10f21d460d1a3d2992f724ba9c91fbd7a96745d41"}, + {file = "cytoolz-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebaf419acf2de73b643cf96108702b8aef8e825cf4f63209ceb078d5fbbbfd"}, + {file = "cytoolz-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f7f04eeb4088947585c92d6185a618b25ad4a0f8f66ea30c8db83cf94a425e3"}, + {file = "cytoolz-1.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f61928803bb501c17914b82d457c6f50fe838b173fb40d39c38d5961185bd6c7"}, + {file = "cytoolz-1.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d2960cb4fa01ccb985ad1280db41f90dc97a80b397af970a15d5a5de403c8c61"}, + {file = "cytoolz-1.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2b407cc3e9defa8df5eb46644f6f136586f70ba49eba96f43de67b9a0984fd3"}, + {file = "cytoolz-1.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8245f929144d4d3bd7b972c9593300195c6cea246b81b4c46053c48b3f044580"}, + {file = "cytoolz-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e37385db03af65763933befe89fa70faf25301effc3b0485fec1c15d4ce4f052"}, + {file = "cytoolz-1.0.1-cp311-cp311-win32.whl", hash = "sha256:50f9c530f83e3e574fc95c264c3350adde8145f4f8fc8099f65f00cc595e5ead"}, + {file = "cytoolz-1.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:b7f6b617454b4326af7bd3c7c49b0fc80767f134eb9fd6449917a058d17a0e3c"}, + {file = "cytoolz-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4"}, + {file = "cytoolz-1.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:207d4e4b445e087e65556196ff472ff134370d9a275d591724142e255f384662"}, + {file = "cytoolz-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21cdf6bac6fd843f3b20280a66fd8df20dea4c58eb7214a2cd8957ec176f0bb3"}, + {file = "cytoolz-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a55ec098036c0dea9f3bdc021f8acd9d105a945227d0811589f0573f21c9ce1"}, + {file = "cytoolz-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a13ab79ff4ce202e03ab646a2134696988b554b6dc4b71451e948403db1331d8"}, + {file = "cytoolz-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2d944799026e1ff08a83241f1027a2d9276c41f7a74224cd98b7df6e03957d"}, + {file = "cytoolz-1.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88ba85834cd523b91fdf10325e1e6d71c798de36ea9bdc187ca7bd146420de6f"}, + {file = "cytoolz-1.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a750b1af7e8bf6727f588940b690d69e25dc47cce5ce467925a76561317eaf7"}, + {file = "cytoolz-1.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44a71870f7eae31d263d08b87da7c2bf1176f78892ed8bdade2c2850478cb126"}, + {file = "cytoolz-1.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0"}, + {file = "cytoolz-1.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:aa87599ccc755de5a096a4d6c34984de6cd9dc928a0c5eaa7607457317aeaf9b"}, + {file = "cytoolz-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67cd16537df51baabde3baa770ab7b8d16839c4d21219d5b96ac59fb012ebd2d"}, + {file = "cytoolz-1.0.1-cp312-cp312-win32.whl", hash = "sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9"}, + {file = "cytoolz-1.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:8f89c48d8e5aec55ffd566a8ec858706d70ed0c6a50228eca30986bfa5b4da8b"}, + {file = "cytoolz-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6944bb93b287032a4c5ca6879b69bcd07df46f3079cf8393958cf0b0454f50c0"}, + {file = "cytoolz-1.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e027260fd2fc5cb041277158ac294fc13dca640714527219f702fb459a59823a"}, + {file = "cytoolz-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88662c0e07250d26f5af9bc95911e6137e124a5c1ec2ce4a5d74de96718ab242"}, + {file = "cytoolz-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309dffa78b0961b4c0cf55674b828fbbc793cf2d816277a5c8293c0c16155296"}, + {file = "cytoolz-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:edb34246e6eb40343c5860fc51b24937698e4fa1ee415917a73ad772a9a1746b"}, + {file = "cytoolz-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54da7a8e4348a18d45d4d5bc84af6c716d7f131113a4f1cc45569d37edff1b"}, + {file = "cytoolz-1.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:241c679c3b1913c0f7259cf1d9639bed5084c86d0051641d537a0980548aa266"}, + {file = "cytoolz-1.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5bfc860251a8f280ac79696fc3343cfc3a7c30b94199e0240b6c9e5b6b01a2a5"}, + {file = "cytoolz-1.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8edd1547014050c1bdad3ff85d25c82bd1c2a3c96830c6181521eb78b9a42b3"}, + {file = "cytoolz-1.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b349bf6162e8de215403d7f35f8a9b4b1853dc2a48e6e1a609a5b1a16868b296"}, + {file = "cytoolz-1.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1b18b35256219b6c3dd0fa037741b85d0bea39c552eab0775816e85a52834140"}, + {file = "cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581"}, + {file = "cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9"}, + {file = "cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297"}, + {file = "cytoolz-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f3a509e4ac8e711703c368476b9bbce921fcef6ebb87fa3501525f7000e44185"}, + {file = "cytoolz-1.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a7eecab6373e933dfbf4fdc0601d8fd7614f8de76793912a103b5fccf98170cd"}, + {file = "cytoolz-1.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e55ed62087f6e3e30917b5f55350c3b6be6470b849c6566018419cd159d2cebc"}, + {file = "cytoolz-1.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43de33d99a4ccc07234cecd81f385456b55b0ea9c39c9eebf42f024c313728a5"}, + {file = "cytoolz-1.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139bed875828e1727018aa0982aa140e055cbafccb7fd89faf45cbb4f2a21514"}, + {file = "cytoolz-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22c12671194b518aa8ce2f4422bd5064f25ab57f410ba0b78705d0a219f4a97a"}, + {file = "cytoolz-1.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79888f2f7dc25709cd5d37b032a8833741e6a3692c8823be181d542b5999128e"}, + {file = "cytoolz-1.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:51628b4eb41fa25bd428f8f7b5b74fbb05f3ae65fbd265019a0dd1ded4fdf12a"}, + {file = "cytoolz-1.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:1db9eb7179285403d2fb56ba1ff6ec35a44921b5e2fa5ca19d69f3f9f0285ea5"}, + {file = "cytoolz-1.0.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:08ab7efae08e55812340bfd1b3f09f63848fe291675e2105eab1aa5327d3a16e"}, + {file = "cytoolz-1.0.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e5fdc5264f884e7c0a1711a81dff112708a64b9c8561654ee578bfdccec6be09"}, + {file = "cytoolz-1.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:90d6a2e6ab891043ee655ec99d5e77455a9bee9e1131bdfcfb745edde81200dd"}, + {file = "cytoolz-1.0.1-cp38-cp38-win32.whl", hash = "sha256:08946e083faa5147751b34fbf78ab931f149ef758af5c1092932b459e18dcf5c"}, + {file = "cytoolz-1.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:a91b4e10a9c03796c0dc93e47ebe25bb41ecc6fafc3cf5197c603cf767a3d44d"}, + {file = "cytoolz-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:980c323e626ba298b77ae62871b2de7c50b9d7219e2ddf706f52dd34b8be7349"}, + {file = "cytoolz-1.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:45f6fa1b512bc2a0f2de5123db932df06c7f69d12874fe06d67772b2828e2c8b"}, + {file = "cytoolz-1.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93f42d9100c415155ad1f71b0de362541afd4ac95e3153467c4c79972521b6b"}, + {file = "cytoolz-1.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a76d20dec9c090cdf4746255bbf06a762e8cc29b5c9c1d138c380bbdb3122ade"}, + {file = "cytoolz-1.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:239039585487c69aa50c5b78f6a422016297e9dea39755761202fb9f0530fe87"}, + {file = "cytoolz-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c28307640ca2ab57b9fbf0a834b9bf563958cd9e038378c3a559f45f13c3c541"}, + {file = "cytoolz-1.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:454880477bb901cee3a60f6324ec48c95d45acc7fecbaa9d49a5af737ded0595"}, + {file = "cytoolz-1.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:902115d1b1f360fd81e44def30ac309b8641661150fcbdde18ead446982ada6a"}, + {file = "cytoolz-1.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e68e6b38473a3a79cee431baa22be31cac39f7df1bf23eaa737eaff42e213883"}, + {file = "cytoolz-1.0.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:32fba3f63fcb76095b0a22f4bdcc22bc62a2bd2d28d58bf02fd21754c155a3ec"}, + {file = "cytoolz-1.0.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0724ba4cf41eb40b6cf75250820ab069e44bdf4183ff78857aaf4f0061551075"}, + {file = "cytoolz-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c42420e0686f887040d5230420ed44f0e960ccbfa29a0d65a3acd9ca52459209"}, + {file = "cytoolz-1.0.1-cp39-cp39-win32.whl", hash = "sha256:4ba8b16358ea56b1fe8e637ec421e36580866f2e787910bac1cf0a6997424a34"}, + {file = "cytoolz-1.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:92d27f84bf44586853d9562bfa3610ecec000149d030f793b4cb614fd9da1813"}, + {file = "cytoolz-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:83d19d55738ad9c60763b94f3f6d3c6e4de979aeb8d76841c1401081e0e58d96"}, + {file = "cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f112a71fad6ea824578e6393765ce5c054603afe1471a5c753ff6c67fd872d10"}, + {file = "cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee"}, + {file = "cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3"}, + {file = "cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47"}, + {file = "cytoolz-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba0d1da50aab1909b165f615ba1125c8b01fcc30d606c42a61c42ea0269b5e2c"}, + {file = "cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25b6e8dec29aa5a390092d193abd673e027d2c0b50774ae816a31454286c45c7"}, + {file = "cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36cd6989ebb2f18fe9af8f13e3c61064b9f741a40d83dc5afeb0322338ad25f2"}, + {file = "cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47394f8ab7fca3201f40de61fdeea20a2baffb101485ae14901ea89c3f6c95d"}, + {file = "cytoolz-1.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d00ac423542af944302e034e618fb055a0c4e87ba704cd6a79eacfa6ac83a3c9"}, + {file = "cytoolz-1.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a5ca923d1fa632f7a4fb33c0766c6fba7f87141a055c305c3e47e256fb99c413"}, + {file = "cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:058bf996bcae9aad3acaeeb937d42e0c77c081081e67e24e9578a6a353cb7fb2"}, + {file = "cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69e2a1f41a3dad94a17aef4a5cc003323359b9f0a9d63d4cc867cb5690a2551d"}, + {file = "cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67daeeeadb012ec2b59d63cb29c4f2a2023b0c4957c3342d354b8bb44b209e9a"}, + {file = "cytoolz-1.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:54d3d36bbf0d4344d1afa22c58725d1668e30ff9de3a8f56b03db1a6da0acb11"}, + {file = "cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6"}, ] [package.dependencies] @@ -980,6 +1029,7 @@ version = "0.11.1" description = "A fast and flexible reimplementation of data classes" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "dataclassy-0.11.1-py3-none-any.whl", hash = "sha256:bcb030d3d700cf9b1597042bbc8375b92773e6f68f65675a7071862c0ddb87f5"}, {file = "dataclassy-0.11.1.tar.gz", hash = "sha256:ad6622cb91e644d13f68768558983fbc22c90a8ff7e355638485d18b9baf1198"}, @@ -991,6 +1041,7 @@ version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, @@ -1002,6 +1053,7 @@ version = "0.19.0" description = "ECDSA cryptographic signature library (pure python)" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6" +groups = ["main"] files = [ {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"}, {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"}, @@ -1020,6 +1072,7 @@ version = "0.2.10" description = "eip712: Message classes for typed structured data hashing and signing in Ethereum" optional = false python-versions = "<4,>=3.9" +groups = ["main"] files = [ {file = "eip712-0.2.10-py3-none-any.whl", hash = "sha256:5e8cbf092b1943d787c97b91116791b14f3d4b122bc3aab198ba599ff3256a67"}, {file = "eip712-0.2.10.tar.gz", hash = "sha256:fed8caaab859fb342e4b9b2f1c84f4cb3145144645985177cb9cdf457edbf911"}, @@ -1046,6 +1099,7 @@ version = "0.4" description = "Discover and load entry points from installed packages." optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"}, {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"}, @@ -1053,13 +1107,14 @@ files = [ [[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" +groups = ["main"] 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,10 +1123,10 @@ 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" @@ -1079,6 +1134,7 @@ version = "0.11.3" description = "eth-account: Sign Ethereum transactions and messages with local private keys" optional = false python-versions = "<4,>=3.8" +groups = ["main"] 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"}, @@ -1102,55 +1158,59 @@ test = ["coverage", "hypothesis (>=4.18.0,<5)", "pytest (>=7.0.0)", "pytest-xdis [[package]] name = "eth-hash" -version = "0.7.0" +version = "0.7.1" description = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3" optional = false -python-versions = ">=3.8, <4" +python-versions = "<4,>=3.8" +groups = ["main"] 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.7.1-py3-none-any.whl", hash = "sha256:0fb1add2adf99ef28883fd6228eb447ef519ea72933535ad1a0b28c6f65f868a"}, + {file = "eth_hash-0.7.1.tar.gz", hash = "sha256:d2411a403a0b0a62e8247b4117932d900ffb4c8c64b15f92620547ca5ce46be5"}, ] [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.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)"] 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)"] [[package]] name = "eth-keyfile" -version = "0.8.1" +version = "0.9.0" description = "eth-keyfile: A library for handling the encrypted keyfiles used to store ethereum private keys" optional = false python-versions = "<4,>=3.8" +groups = ["main"] files = [ - {file = "eth_keyfile-0.8.1-py3-none-any.whl", hash = "sha256:65387378b82fe7e86d7cb9f8d98e6d639142661b2f6f490629da09fddbef6d64"}, - {file = "eth_keyfile-0.8.1.tar.gz", hash = "sha256:9708bc31f386b52cca0969238ff35b1ac72bd7a7186f2a84b86110d3c973bec1"}, + {file = "eth_keyfile-0.9.0-py3-none-any.whl", hash = "sha256:45d3513b6433ad885370225ba0429ed26493ba23589c5b1ca5da024765020fef"}, + {file = "eth_keyfile-0.9.0.tar.gz", hash = "sha256:8621c35e83cbc05909d2f23dbb8a87633918733caea553ae0e298f6a06291526"}, ] [package.dependencies] eth-keys = ">=0.4.0" eth-utils = ">=2" +py_ecc = ">=5.2.0" pycryptodome = ">=3.6.6,<4" [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)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -docs = ["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)", "towncrier (>=24,<25)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["towncrier (>=24,<25)"] test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-keys" -version = "0.6.0" +version = "0.6.1" description = "eth-keys: Common API for Ethereum key operations" optional = false python-versions = "<4,>=3.8" +groups = ["main"] 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.6.1-py3-none-any.whl", hash = "sha256:7deae4cd56e862e099ec58b78176232b931c4ea5ecded2f50c7b1ccbc10c24cf"}, + {file = "eth_keys-0.6.1.tar.gz", hash = "sha256:a43e263cbcabfd62fa769168efc6c27b1f5603040e4de22bb84d12567e4fd962"}, ] [package.dependencies] @@ -1159,8 +1219,8 @@ 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)"] +dev = ["asn1tools (>=0.146.2)", "build (>=0.9.0)", "bump_my_version (>=0.19.0)", "coincurve (>=12.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]] @@ -1169,6 +1229,7 @@ version = "1.0.1" description = "eth-rlp: RLP definitions for common Ethereum objects in Python" optional = false python-versions = ">=3.8, <4" +groups = ["main"] 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"}, @@ -1191,6 +1252,7 @@ version = "4.4.0" description = "eth-typing: Common type annotations for ethereum python packages" optional = false python-versions = "<4,>=3.8" +groups = ["main"] 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"}, @@ -1210,6 +1272,7 @@ version = "4.1.1" description = "eth-utils: Common utility functions for python code that interacts with Ethereum" optional = false python-versions = "<4,>=3.8" +groups = ["main"] 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"}, @@ -1232,6 +1295,8 @@ version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" +groups = ["test"] +markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -1242,18 +1307,19 @@ test = ["pytest (>=6)"] [[package]] name = "filelock" -version = "3.16.1" +version = "3.17.0" description = "A platform independent file lock." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["dev"] 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.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, + {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, ] [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)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] typing = ["typing-extensions (>=4.12.2)"] [[package]] @@ -1262,6 +1328,7 @@ version = "4.0.1" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, @@ -1278,6 +1345,7 @@ 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" +groups = ["dev"] files = [ {file = "flakeheaven-3.3.0-py3-none-any.whl", hash = "sha256:ae246197a178845b30b63fc03023f7ba925cc84cc96314ec19807dafcd6b39a3"}, {file = "flakeheaven-3.3.0.tar.gz", hash = "sha256:eb07860e028ff8dd56cce742c4766624a37a4ce397fd34300254ab623d13047b"}, @@ -1300,6 +1368,7 @@ version = "1.5.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" +groups = ["main", "test"] 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"}, @@ -1395,139 +1464,212 @@ files = [ {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, ] +[[package]] +name = "google-api-core" +version = "2.24.1" +description = "Google API client core library" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "google_api_core-2.24.1-py3-none-any.whl", hash = "sha256:bc78d608f5a5bf853b80bd70a795f703294de656c096c0968320830a4bc280f1"}, + {file = "google_api_core-2.24.1.tar.gz", hash = "sha256:f8b36f5456ab0dd99a1b693a40a31d1e7757beea380ad1b38faaf8941eae9d8a"}, +] + +[package.dependencies] +google-auth = ">=2.14.1,<3.0.dev0" +googleapis-common-protos = ">=1.56.2,<2.0.dev0" +proto-plus = [ + {version = ">=1.25.0,<2.0.0dev", markers = "python_version >= \"3.13\""}, + {version = ">=1.22.3,<2.0.0dev", markers = "python_version < \"3.13\""}, +] +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" +requests = ">=2.18.0,<3.0.0.dev0" + +[package.extras] +async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] +grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] + +[[package]] +name = "google-auth" +version = "2.38.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "google_auth-2.38.0-py2.py3-none-any.whl", hash = "sha256:e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a"}, + {file = "google_auth-2.38.0.tar.gz", hash = "sha256:8285113607d3b80a3f1543b75962447ba8a09fe85783432a784fdeef6ac094c4"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "googleapis-common-protos" +version = "1.66.0" +description = "Common protobufs used in Google APIs" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, + {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, +] + +[package.dependencies] +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + [[package]] name = "grpcio" -version = "1.68.1" +version = "1.70.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.8" -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"}, +groups = ["main"] +files = [ + {file = "grpcio-1.70.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:95469d1977429f45fe7df441f586521361e235982a0b39e33841549143ae2851"}, + {file = "grpcio-1.70.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:ed9718f17fbdb472e33b869c77a16d0b55e166b100ec57b016dc7de9c8d236bf"}, + {file = "grpcio-1.70.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:374d014f29f9dfdb40510b041792e0e2828a1389281eb590df066e1cc2b404e5"}, + {file = "grpcio-1.70.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2af68a6f5c8f78d56c145161544ad0febbd7479524a59c16b3e25053f39c87f"}, + {file = "grpcio-1.70.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce7df14b2dcd1102a2ec32f621cc9fab6695effef516efbc6b063ad749867295"}, + {file = "grpcio-1.70.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c78b339869f4dbf89881e0b6fbf376313e4f845a42840a7bdf42ee6caed4b11f"}, + {file = "grpcio-1.70.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:58ad9ba575b39edef71f4798fdb5c7b6d02ad36d47949cd381d4392a5c9cbcd3"}, + {file = "grpcio-1.70.0-cp310-cp310-win32.whl", hash = "sha256:2b0d02e4b25a5c1f9b6c7745d4fa06efc9fd6a611af0fb38d3ba956786b95199"}, + {file = "grpcio-1.70.0-cp310-cp310-win_amd64.whl", hash = "sha256:0de706c0a5bb9d841e353f6343a9defc9fc35ec61d6eb6111802f3aa9fef29e1"}, + {file = "grpcio-1.70.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:17325b0be0c068f35770f944124e8839ea3185d6d54862800fc28cc2ffad205a"}, + {file = "grpcio-1.70.0-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:dbe41ad140df911e796d4463168e33ef80a24f5d21ef4d1e310553fcd2c4a386"}, + {file = "grpcio-1.70.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:5ea67c72101d687d44d9c56068328da39c9ccba634cabb336075fae2eab0d04b"}, + {file = "grpcio-1.70.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb5277db254ab7586769e490b7b22f4ddab3876c490da0a1a9d7c695ccf0bf77"}, + {file = "grpcio-1.70.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7831a0fc1beeeb7759f737f5acd9fdcda520e955049512d68fda03d91186eea"}, + {file = "grpcio-1.70.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:27cc75e22c5dba1fbaf5a66c778e36ca9b8ce850bf58a9db887754593080d839"}, + {file = "grpcio-1.70.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d63764963412e22f0491d0d32833d71087288f4e24cbcddbae82476bfa1d81fd"}, + {file = "grpcio-1.70.0-cp311-cp311-win32.whl", hash = "sha256:bb491125103c800ec209d84c9b51f1c60ea456038e4734688004f377cfacc113"}, + {file = "grpcio-1.70.0-cp311-cp311-win_amd64.whl", hash = "sha256:d24035d49e026353eb042bf7b058fb831db3e06d52bee75c5f2f3ab453e71aca"}, + {file = "grpcio-1.70.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:ef4c14508299b1406c32bdbb9fb7b47612ab979b04cf2b27686ea31882387cff"}, + {file = "grpcio-1.70.0-cp312-cp312-macosx_10_14_universal2.whl", hash = "sha256:aa47688a65643afd8b166928a1da6247d3f46a2784d301e48ca1cc394d2ffb40"}, + {file = "grpcio-1.70.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:880bfb43b1bb8905701b926274eafce5c70a105bc6b99e25f62e98ad59cb278e"}, + {file = "grpcio-1.70.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e654c4b17d07eab259d392e12b149c3a134ec52b11ecdc6a515b39aceeec898"}, + {file = "grpcio-1.70.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2394e3381071045a706ee2eeb6e08962dd87e8999b90ac15c55f56fa5a8c9597"}, + {file = "grpcio-1.70.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:b3c76701428d2df01964bc6479422f20e62fcbc0a37d82ebd58050b86926ef8c"}, + {file = "grpcio-1.70.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac073fe1c4cd856ebcf49e9ed6240f4f84d7a4e6ee95baa5d66ea05d3dd0df7f"}, + {file = "grpcio-1.70.0-cp312-cp312-win32.whl", hash = "sha256:cd24d2d9d380fbbee7a5ac86afe9787813f285e684b0271599f95a51bce33528"}, + {file = "grpcio-1.70.0-cp312-cp312-win_amd64.whl", hash = "sha256:0495c86a55a04a874c7627fd33e5beaee771917d92c0e6d9d797628ac40e7655"}, + {file = "grpcio-1.70.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:aa573896aeb7d7ce10b1fa425ba263e8dddd83d71530d1322fd3a16f31257b4a"}, + {file = "grpcio-1.70.0-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:d405b005018fd516c9ac529f4b4122342f60ec1cee181788249372524e6db429"}, + {file = "grpcio-1.70.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f32090238b720eb585248654db8e3afc87b48d26ac423c8dde8334a232ff53c9"}, + {file = "grpcio-1.70.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa089a734f24ee5f6880c83d043e4f46bf812fcea5181dcb3a572db1e79e01c"}, + {file = "grpcio-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f19375f0300b96c0117aca118d400e76fede6db6e91f3c34b7b035822e06c35f"}, + {file = "grpcio-1.70.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:7c73c42102e4a5ec76608d9b60227d917cea46dff4d11d372f64cbeb56d259d0"}, + {file = "grpcio-1.70.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:0a5c78d5198a1f0aa60006cd6eb1c912b4a1520b6a3968e677dbcba215fabb40"}, + {file = "grpcio-1.70.0-cp313-cp313-win32.whl", hash = "sha256:fe9dbd916df3b60e865258a8c72ac98f3ac9e2a9542dcb72b7a34d236242a5ce"}, + {file = "grpcio-1.70.0-cp313-cp313-win_amd64.whl", hash = "sha256:4119fed8abb7ff6c32e3d2255301e59c316c22d31ab812b3fbcbaf3d0d87cc68"}, + {file = "grpcio-1.70.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:8058667a755f97407fca257c844018b80004ae8035565ebc2812cc550110718d"}, + {file = "grpcio-1.70.0-cp38-cp38-macosx_10_14_universal2.whl", hash = "sha256:879a61bf52ff8ccacbedf534665bb5478ec8e86ad483e76fe4f729aaef867cab"}, + {file = "grpcio-1.70.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:0ba0a173f4feacf90ee618fbc1a27956bfd21260cd31ced9bc707ef551ff7dc7"}, + {file = "grpcio-1.70.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558c386ecb0148f4f99b1a65160f9d4b790ed3163e8610d11db47838d452512d"}, + {file = "grpcio-1.70.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:412faabcc787bbc826f51be261ae5fa996b21263de5368a55dc2cf824dc5090e"}, + {file = "grpcio-1.70.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3b0f01f6ed9994d7a0b27eeddea43ceac1b7e6f3f9d86aeec0f0064b8cf50fdb"}, + {file = "grpcio-1.70.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7385b1cb064734005204bc8994eed7dcb801ed6c2eda283f613ad8c6c75cf873"}, + {file = "grpcio-1.70.0-cp38-cp38-win32.whl", hash = "sha256:07269ff4940f6fb6710951116a04cd70284da86d0a4368fd5a3b552744511f5a"}, + {file = "grpcio-1.70.0-cp38-cp38-win_amd64.whl", hash = "sha256:aba19419aef9b254e15011b230a180e26e0f6864c90406fdbc255f01d83bc83c"}, + {file = "grpcio-1.70.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:4f1937f47c77392ccd555728f564a49128b6a197a05a5cd527b796d36f3387d0"}, + {file = "grpcio-1.70.0-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:0cd430b9215a15c10b0e7d78f51e8a39d6cf2ea819fd635a7214fae600b1da27"}, + {file = "grpcio-1.70.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:e27585831aa6b57b9250abaf147003e126cd3a6c6ca0c531a01996f31709bed1"}, + {file = "grpcio-1.70.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c1af8e15b0f0fe0eac75195992a63df17579553b0c4af9f8362cc7cc99ccddf4"}, + {file = "grpcio-1.70.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbce24409beaee911c574a3d75d12ffb8c3e3dd1b813321b1d7a96bbcac46bf4"}, + {file = "grpcio-1.70.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ff4a8112a79464919bb21c18e956c54add43ec9a4850e3949da54f61c241a4a6"}, + {file = "grpcio-1.70.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5413549fdf0b14046c545e19cfc4eb1e37e9e1ebba0ca390a8d4e9963cab44d2"}, + {file = "grpcio-1.70.0-cp39-cp39-win32.whl", hash = "sha256:b745d2c41b27650095e81dea7091668c040457483c9bdb5d0d9de8f8eb25e59f"}, + {file = "grpcio-1.70.0-cp39-cp39-win_amd64.whl", hash = "sha256:a31d7e3b529c94e930a117b2175b2efd179d96eb3c7a21ccb0289a8ab05b645c"}, + {file = "grpcio-1.70.0.tar.gz", hash = "sha256:8d1584a68d5922330025881e63a6c1b54cc8117291d382e4fa69339b6d914c56"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.68.1)"] +protobuf = ["grpcio-tools (>=1.70.0)"] [[package]] name = "grpcio-tools" -version = "1.68.1" +version = "1.70.0" description = "Protobuf code generator for gRPC" optional = false python-versions = ">=3.8" -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"}, +groups = ["main"] +files = [ + {file = "grpcio_tools-1.70.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:4d456521290e25b1091975af71604facc5c7db162abdca67e12a0207b8bbacbe"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d50080bca84f53f3a05452e06e6251cbb4887f5a1d1321d1989e26d6e0dc398d"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:02e3bf55fb569fe21b54a32925979156e320f9249bb247094c4cbaa60c23a80d"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88a3ec6fa2381f616d567f996503e12ca353777941b61030fd9733fd5772860e"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6034a0579fab2aed8685fa1a558de084668b1e9b01a82a4ca7458b9bedf4654c"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:701bbb1ff406a21a771f5b1df6be516c0a59236774b6836eaad7696b1d128ea8"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6eeb86864e1432fc1ab61e03395a2a4c04e9dd9c89db07e6fe68c7c2ac8ec24f"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-win32.whl", hash = "sha256:d53c8c45e843b5836781ad6b82a607c72c2f9a3f556e23d703a0e099222421fa"}, + {file = "grpcio_tools-1.70.0-cp310-cp310-win_amd64.whl", hash = "sha256:22024caee36ab65c2489594d718921dcbb5bd18d61c5417a9ede94fd8dc8a589"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:5f5aba12d98d25c7ab2dd983939e2c21556a7d15f903b286f24d88d2c6e30c0a"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:d47a6c6cfc526b290b7b53a37dd7e6932983f7a168b56aab760b4b597c47f30f"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:b5a9beadd1e24772ffa2c70f07d72f73330d356b78b246e424f4f2ed6c6713f3"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb8135eef160a62505f074bf7a3d62f3b13911c3c14037c5392bf877114213b5"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7ac9b3e13ace8467a586c53580ee22f9732c355583f3c344ef8c6c0666219cc"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:63f367363a4a1489a0046b19f9d561216ea0d206c40a6f1bf07a58ccfb7be480"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:54ceffef59a059d2c7304554a8bbb20eedb05a3f937159ab1c332c1b28e12c9f"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-win32.whl", hash = "sha256:7a90a66a46821140a2a2b0be787dfabe42e22e9a5ba9cc70726b3e5c71a3b785"}, + {file = "grpcio_tools-1.70.0-cp311-cp311-win_amd64.whl", hash = "sha256:4ebf09733545a69c166b02caa14c34451e38855544820dab7fdde5c28e2dbffe"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:ec5d6932c3173d7618267b3b3fd77b9243949c5ec04302b7338386d4f8544e0b"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-macosx_10_14_universal2.whl", hash = "sha256:f22852da12f53b02a3bdb29d0c32fcabab9c7c8f901389acffec8461083f110d"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:7d45067e6efd20881e98a0e1d7edd7f207b1625ad7113321becbfe0a6ebee46c"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3020c97f03b30eee3c26aa2a55fbe003f1729c6f879a378507c2c78524db7c12"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7fd472fce3b33bdf7fbc24d40da7ab10d7a088bcaf59c37433c2c57330fbcb6"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3875543d74ce1a698a11f498f83795216ce929cb29afa5fac15672c7ba1d6dd2"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a130c24d617a3a57369da784080dfa8848444d41b7ae1250abc06e72e706a8d9"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-win32.whl", hash = "sha256:8eae17c920d14e2e451dbb18f5d8148f884e10228061941b33faa8fceee86e73"}, + {file = "grpcio_tools-1.70.0-cp312-cp312-win_amd64.whl", hash = "sha256:99caa530242a0a832d8b6a6ab94b190c9b449d3e237f953911b4d56207569436"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:f024688d04e7a9429489ed695b85628075c3c6d655198ba3c6ccbd1d8b7c333b"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:1fa9a81621d7178498dedcf94eb8f276a7594327faf3dd5fd1935ce2819a2bdb"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:c6da2585c0950cdb650df1ff6d85b3fe31e22f8370b9ee11f8fe641d5b4bf096"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70234b592af17050ec30cf35894790cef52aeae87639efe6db854a7fa783cc8c"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c021b040d0a9f5bb96a725c4d2b95008aad127d6bed124a7bbe854973014f5b"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:114a42e566e5b16a47e98f7910a6c0074b37e2d1faacaae13222e463d0d0d43c"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:4cae365d7e3ba297256216a9a256458b286f75c64603f017972b3ad1ee374437"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-win32.whl", hash = "sha256:ae139a8d3ddd8353f62af3af018e99ebcd2f4a237bd319cb4b6f58dd608aaa54"}, + {file = "grpcio_tools-1.70.0-cp313-cp313-win_amd64.whl", hash = "sha256:04bf30c0eb2741defe3ab6e0a6102b022d69cfd39d68fab9b954993ceca8d346"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:076f71c6d5adcf237ebca63f1ed51098293261dab9f301e3dfd180e896e5fa89"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-macosx_10_14_universal2.whl", hash = "sha256:d1fc2112e9c40167086e2e6a929b253e5281bffd070fab7cd1ae019317ffc11d"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:904f13d2d04f88178b09d8ef89549b90cbf8792b684a7c72540fc1a9887697e2"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1de6c71833d36fb8cc8ac10539681756dc2c5c67e5d4aa4d05adb91ecbdd8474"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ab788afced2d2c59bef86479967ce0b28485789a9f2cc43793bb7aa67f9528b"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:836293dcbb1e59fa52aa8aa890bd7a32a8eea7651cd614e96d86de4f3032fe73"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:740b3741d124c5f390dd50ad1c42c11788882baf3c202cd3e69adee0e3dde559"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-win32.whl", hash = "sha256:b9e4a12b862ba5e42d8028da311e8d4a2c307362659b2f4141d0f940f8c12b49"}, + {file = "grpcio_tools-1.70.0-cp38-cp38-win_amd64.whl", hash = "sha256:fd04c93af460b1456cd12f8f85502503e1db6c4adc1b7d4bd775b12c1fd94fee"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:52d7e7ef11867fe7de577076b1f2ac6bf106b2325130e3de66f8c364c96ff332"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:0f7ed0372afd9f5eb938334e84681396257015ab92e03de009aa3170e64b24d0"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:24a5b0328ffcfe0c4a9024f302545abdb8d6f24921409a5839f2879555b96fea"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9387b30f3b2f46942fb5718624d7421875a6ce458620d6e15817172d78db1e1a"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4545264e06e1cd7fb21b9447bb5126330bececb4bc626c98f793fda2fd910bf8"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:79b723ce30416e8e1d7ff271f97ade79aaf30309a595d80c377105c07f5b20fd"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1c0917dce12af04529606d437def83962d51c59dcde905746134222e94a2ab1b"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-win32.whl", hash = "sha256:5cb0baa52d4d44690fac6b1040197c694776a291a90e2d3c369064b4d5bc6642"}, + {file = "grpcio_tools-1.70.0-cp39-cp39-win_amd64.whl", hash = "sha256:840ec536ab933db2ef8d5acaa6b712d0e9e8f397f62907c852ec50a3f69cdb78"}, + {file = "grpcio_tools-1.70.0.tar.gz", hash = "sha256:e578fee7c1c213c8e471750d92631d00f178a15479fb2cb3b939a07fc125ccd3"}, ] [package.dependencies] -grpcio = ">=1.68.1" +grpcio = ">=1.70.0" protobuf = ">=5.26.1,<6.0dev" setuptools = "*" @@ -1537,6 +1679,7 @@ version = "0.1.2" description = "Python implementation of the BIP32 key derivation scheme" optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "hdwallets-0.1.2-py3-none-any.whl", hash = "sha256:455b55b061f2b356a93e305b0c2263a6007d2ed45e48749975f09308499a2fdb"}, {file = "hdwallets-0.1.2.tar.gz", hash = "sha256:c85d08b59c3fd3bc5b29398583d7d7dc46f95456f69ff15a3ab0353084ee7529"}, @@ -1551,6 +1694,7 @@ version = "0.3.1" description = "hexbytes: Python `bytes` subclass that decodes hex, with a readable console output" optional = false python-versions = ">=3.7, <4" +groups = ["main"] files = [ {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, @@ -1564,13 +1708,14 @@ test = ["eth-utils (>=1.0.1,<3)", "hypothesis (>=3.44.24,<=6.31.6)", "pytest (>= [[package]] name = "identify" -version = "2.6.3" +version = "2.6.6" description = "File identification library for Python" optional = false python-versions = ">=3.9" +groups = ["dev"] 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.6-py2.py3-none-any.whl", hash = "sha256:cbd1810bce79f8b671ecb20f53ee0ae8e86ae84b557de31d89709dc2a48ba881"}, + {file = "identify-2.6.6.tar.gz", hash = "sha256:7bec12768ed44ea4761efb47806f0a41f86e7c0a5fdf5950d4648c90eca7e251"}, ] [package.extras] @@ -1582,6 +1727,7 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" +groups = ["main", "test"] files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1596,6 +1742,7 @@ version = "4.13.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.7" +groups = ["dev"] 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"}, @@ -1615,6 +1762,7 @@ version = "2.0.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" +groups = ["test"] files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, @@ -1626,6 +1774,7 @@ version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" +groups = ["dev"] files = [ {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, @@ -1640,6 +1789,7 @@ version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1661,6 +1811,7 @@ version = "2024.10.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" +groups = ["main"] 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"}, @@ -1675,6 +1826,7 @@ version = "1.2.0" description = "An Dict like LRU container." optional = false python-versions = "*" +groups = ["main"] 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"}, @@ -1769,6 +1921,7 @@ version = "0.6.1" description = "McCabe checker, plugin for flake8" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, @@ -1780,6 +1933,7 @@ version = "0.21" description = "Implementation of Bitcoin BIP-0039" optional = false python-versions = ">=3.8.1" +groups = ["main"] files = [ {file = "mnemonic-0.21-py3-none-any.whl", hash = "sha256:72dc9de16ec5ef47287237b9b6943da11647a03fe7cf1f139fc3d7c4a7439288"}, {file = "mnemonic-0.21.tar.gz", hash = "sha256:1fe496356820984f45559b1540c80ff10de448368929b9c60a2b55744cc88acf"}, @@ -1791,6 +1945,7 @@ version = "6.1.0" description = "multidict implementation" optional = false python-versions = ">=3.8" +groups = ["main", "test"] 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"}, @@ -1895,6 +2050,7 @@ version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.5" +groups = ["dev"] 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"}, @@ -1906,6 +2062,7 @@ version = "1.9.1" 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" +groups = ["dev"] files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, @@ -1917,6 +2074,7 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["dev", "test"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -1928,6 +2086,7 @@ version = "0.10.0" description = "(Soon to be) the fastest pure-Python PEG parser I could muster" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "parsimonious-0.10.0-py3-none-any.whl", hash = "sha256:982ab435fabe86519b57f6b35610aa4e4e977e9f02a14353edf4bbc75369fc0f"}, {file = "parsimonious-0.10.0.tar.gz", hash = "sha256:8281600da180ec8ae35427a4ab4f7b82bfec1e3d1e52f80cb60ea82b9512501c"}, @@ -1942,6 +2101,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -1953,6 +2113,7 @@ version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -1969,6 +2130,7 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" +groups = ["test"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -1984,6 +2146,7 @@ version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.9" +groups = ["dev"] 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"}, @@ -2002,6 +2165,7 @@ version = "0.2.1" description = "Accelerated property cache" optional = false python-versions = ">=3.9" +groups = ["main", "test"] 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"}, @@ -2087,32 +2251,101 @@ files = [ {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, ] +[[package]] +name = "proto-plus" +version = "1.26.0" +description = "Beautiful, Pythonic protocol buffers" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "proto_plus-1.26.0-py3-none-any.whl", hash = "sha256:bf2dfaa3da281fc3187d12d224c707cb57214fb2c22ba854eb0c105a3fb2d4d7"}, + {file = "proto_plus-1.26.0.tar.gz", hash = "sha256:6e93d5f5ca267b54300880fff156b6a3386b3fa3f43b1da62e680fc0c586ef22"}, +] + +[package.dependencies] +protobuf = ">=3.19.0,<6.0.0dev" + +[package.extras] +testing = ["google-api-core (>=1.31.5)"] + [[package]] name = "protobuf" -version = "5.29.1" +version = "5.29.3" description = "" optional = false python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "protobuf-5.29.3-cp310-abi3-win32.whl", hash = "sha256:3ea51771449e1035f26069c4c7fd51fba990d07bc55ba80701c78f886bf9c888"}, + {file = "protobuf-5.29.3-cp310-abi3-win_amd64.whl", hash = "sha256:a4fa6f80816a9a0678429e84973f2f98cbc218cca434abe8db2ad0bffc98503a"}, + {file = "protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8434404bbf139aa9e1300dbf989667a83d42ddda9153d8ab76e0d5dcaca484e"}, + {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:daaf63f70f25e8689c072cfad4334ca0ac1d1e05a92fc15c54eb9cf23c3efd84"}, + {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:c027e08a08be10b67c06bf2370b99c811c466398c357e615ca88c91c07f0910f"}, + {file = "protobuf-5.29.3-cp38-cp38-win32.whl", hash = "sha256:84a57163a0ccef3f96e4b6a20516cedcf5bb3a95a657131c5c3ac62200d23252"}, + {file = "protobuf-5.29.3-cp38-cp38-win_amd64.whl", hash = "sha256:b89c115d877892a512f79a8114564fb435943b59067615894c3b13cd3e1fa107"}, + {file = "protobuf-5.29.3-cp39-cp39-win32.whl", hash = "sha256:0eb32bfa5219fc8d4111803e9a690658aa2e6366384fd0851064b963b6d1f2a7"}, + {file = "protobuf-5.29.3-cp39-cp39-win_amd64.whl", hash = "sha256:6ce8cc3389a20693bfde6c6562e03474c40851b44975c9b2bf6df7d8c4f864da"}, + {file = "protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f"}, + {file = "protobuf-5.29.3.tar.gz", hash = "sha256:5da0f41edaf117bde316404bad1a486cb4ededf8e4a54891296f648e8e076620"}, +] + +[[package]] +name = "py-ecc" +version = "7.0.1" +description = "py-ecc: Elliptic curve crypto in python including secp256k1, alt_bn128, and bls12_381" +optional = false +python-versions = "<4,>=3.8" +groups = ["main"] +files = [ + {file = "py_ecc-7.0.1-py3-none-any.whl", hash = "sha256:84a8b4d436163c83c65345a68e32f921ef6e64374a36f8e561f0455b4b08f5f2"}, + {file = "py_ecc-7.0.1.tar.gz", hash = "sha256:557461f42e57294d734305a30faf6b8903421651871e9cdeff8d8e67c6796c70"}, +] + +[package.dependencies] +cached-property = ">=1.5.1" +eth-typing = ">=3.0.0" +eth-utils = ">=2.0.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-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 = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] + +[[package]] +name = "pyasn1" +version = "0.6.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +groups = ["main"] 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 = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, ] +[[package]] +name = "pyasn1-modules" +version = "0.4.1" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.7.0" + [[package]] name = "pycodestyle" version = "2.8.0" description = "Python style guide checker" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["dev"] files = [ {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, @@ -2124,6 +2357,7 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, @@ -2135,6 +2369,7 @@ version = "3.21.0" description = "Cryptographic library for Python" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +groups = ["main"] 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"}, @@ -2176,6 +2411,7 @@ version = "2.4.0" description = "passive checker of Python programs" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["dev"] files = [ {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, @@ -2183,13 +2419,14 @@ files = [ [[package]] name = "pygments" -version = "2.18.0" +version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" +groups = ["dev"] 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.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, + {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, ] [package.extras] @@ -2201,6 +2438,7 @@ version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" +groups = ["test"] files = [ {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, @@ -2223,6 +2461,7 @@ version = "0.2.0" description = "py.test integration for aioresponses" optional = false python-versions = ">=3.6,<4.0" +groups = ["test"] 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"}, @@ -2235,20 +2474,21 @@ pytest-asyncio = ">=0.14.0" [[package]] name = "pytest-asyncio" -version = "0.24.0" +version = "0.25.3" description = "Pytest support for asyncio" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["test"] 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-0.25.3-py3-none-any.whl", hash = "sha256:9e89518e0f9bd08928f97a3482fdc4e244df17529460bc038291ccaf8f85c7c3"}, + {file = "pytest_asyncio-0.25.3.tar.gz", hash = "sha256:fc1da2cf9f125ada7e710b4ddad05518d4cee187ae9412e9ac9271003497f07a"}, ] [package.dependencies] pytest = ">=8.2,<9" [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]] @@ -2257,6 +2497,7 @@ version = "4.1.0" description = "Pytest plugin for measuring coverage." optional = false python-versions = ">=3.7" +groups = ["test"] 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"}, @@ -2275,6 +2516,7 @@ version = "0.8.0" description = "pytest plugin for grpc" optional = false python-versions = "*" +groups = ["test"] files = [ {file = "pytest-grpc-0.8.0.tar.gz", hash = "sha256:0bd2683ffd34199444d707c0ab01970b22e0afbba6cb1ddb6d578c85ebfe09bd"}, {file = "pytest_grpc-0.8.0-py3-none-any.whl", hash = "sha256:5b062cf498e59995e84b3051da76f7bcff8cfe307927869f7bdc27ab967eee35"}, @@ -2289,6 +2531,7 @@ version = "1.0.1" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false python-versions = ">=3.8" +groups = ["dev"] 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"}, @@ -2303,6 +2546,7 @@ version = "16.0.0" description = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent of the Python core Unicode database." optional = false python-versions = ">=3.6" +groups = ["main"] files = [ {file = "pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152"}, {file = "pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7"}, @@ -2314,6 +2558,8 @@ version = "308" description = "Python for Window Extensions" optional = false python-versions = "*" +groups = ["main"] +markers = "platform_system == \"Windows\"" files = [ {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, @@ -2341,6 +2587,7 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] 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"}, @@ -2399,18 +2646,20 @@ files = [ [[package]] name = "referencing" -version = "0.35.1" +version = "0.36.2" description = "JSON Referencing + Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [package.dependencies] attrs = ">=22.2.0" rpds-py = ">=0.7.0" +typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} [[package]] name = "regex" @@ -2418,6 +2667,7 @@ version = "2024.11.6" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" +groups = ["main"] 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"}, @@ -2521,6 +2771,7 @@ version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" +groups = ["main", "test"] files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -2542,6 +2793,7 @@ version = "1.12.1" description = "Mock out responses from the requests package" optional = false python-versions = ">=3.5" +groups = ["test"] files = [ {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, @@ -2559,6 +2811,7 @@ version = "4.0.1" description = "rlp: A package for Recursive Length Prefix encoding and decoding" optional = false python-versions = "<4,>=3.8" +groups = ["main"] files = [ {file = "rlp-4.0.1-py3-none-any.whl", hash = "sha256:ff6846c3c27b97ee0492373aa074a7c3046aadd973320f4fffa7ac45564b0258"}, {file = "rlp-4.0.1.tar.gz", hash = "sha256:bcefb11013dfadf8902642337923bd0c786dc8a27cb4c21da6e154e52869ecb1"}, @@ -2579,6 +2832,7 @@ version = "0.22.3" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" +groups = ["main"] 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"}, @@ -2685,35 +2939,52 @@ files = [ {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, ] +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +groups = ["main"] +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + [[package]] name = "safe-pysha3" version = "1.0.4" description = "SHA-3 (Keccak) for Python 3.9 - 3.11" optional = false python-versions = "*" +groups = ["main"] files = [ {file = "safe-pysha3-1.0.4.tar.gz", hash = "sha256:e429146b1edd198b2ca934a2046a65656c5d31b0ec894bbd6055127f4deaff17"}, ] [[package]] name = "setuptools" -version = "75.6.0" +version = "75.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" +groups = ["main"] 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-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, + {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.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)"] 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.14.*)", "pytest-mypy"] [[package]] name = "six" @@ -2721,6 +2992,7 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -2732,6 +3004,7 @@ 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.*" +groups = ["dev"] files = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, @@ -2743,6 +3016,7 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["dev", "test"] 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"}, @@ -2777,6 +3051,7 @@ files = [ {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] +markers = {dev = "python_version < \"3.11\"", test = "python_full_version <= \"3.11.0a6\""} [[package]] name = "toolz" @@ -2784,6 +3059,8 @@ version = "1.0.0" description = "List processing tools and functional utilities" optional = false python-versions = ">=3.8" +groups = ["main"] +markers = "implementation_name == \"cpython\" or implementation_name == \"pypy\"" files = [ {file = "toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236"}, {file = "toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02"}, @@ -2795,20 +3072,23 @@ version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" +groups = ["main", "dev", "test"] 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"}, ] +markers = {dev = "python_version < \"3.11\"", test = "python_version < \"3.11\""} [[package]] name = "urllib3" -version = "2.2.3" +version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" +groups = ["main", "dev", "test"] 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.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, + {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, ] [package.extras] @@ -2819,13 +3099,14 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.28.0" +version = "20.29.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" +groups = ["dev"] 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-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779"}, + {file = "virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35"}, ] [package.dependencies] @@ -2843,6 +3124,7 @@ version = "6.20.3" description = "web3.py" optional = false python-versions = ">=3.7.2" +groups = ["main"] files = [ {file = "web3-6.20.3-py3-none-any.whl", hash = "sha256:529fbb33f2476ce8185f7a2ed7e2e07c4c28621b0e89b845fbfdcaea9571286d"}, {file = "web3-6.20.3.tar.gz", hash = "sha256:c69dbf1a61ace172741d06990e60afc7f55f303eac087e7235f382df3047d017"}, @@ -2874,80 +3156,81 @@ tester = ["eth-tester[py-evm] (>=0.11.0b1,<0.12.0b1)", "eth-tester[py-evm] (>=0. [[package]] name = "websockets" -version = "14.1" +version = "14.2" 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"}, +groups = ["main"] +files = [ + {file = "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"}, + {file = "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"}, + {file = "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"}, + {file = "websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"}, + {file = "websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"}, + {file = "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"}, + {file = "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"}, + {file = "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"}, + {file = "websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"}, + {file = "websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"}, + {file = "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"}, + {file = "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"}, + {file = "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"}, + {file = "websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"}, + {file = "websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"}, + {file = "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"}, + {file = "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"}, + {file = "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"}, + {file = "websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"}, + {file = "websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"}, + {file = "websockets-14.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7cd5706caec1686c5d233bc76243ff64b1c0dc445339bd538f30547e787c11fe"}, + {file = "websockets-14.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ec607328ce95a2f12b595f7ae4c5d71bf502212bddcea528290b35c286932b12"}, + {file = "websockets-14.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da85651270c6bfb630136423037dd4975199e5d4114cae6d3066641adcc9d1c7"}, + {file = "websockets-14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ecadc7ce90accf39903815697917643f5b7cfb73c96702318a096c00aa71f5"}, + {file = "websockets-14.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1979bee04af6a78608024bad6dfcc0cc930ce819f9e10342a29a05b5320355d0"}, + {file = "websockets-14.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dddacad58e2614a24938a50b85969d56f88e620e3f897b7d80ac0d8a5800258"}, + {file = "websockets-14.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:89a71173caaf75fa71a09a5f614f450ba3ec84ad9fca47cb2422a860676716f0"}, + {file = "websockets-14.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6af6a4b26eea4fc06c6818a6b962a952441e0e39548b44773502761ded8cc1d4"}, + {file = "websockets-14.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:80c8efa38957f20bba0117b48737993643204645e9ec45512579132508477cfc"}, + {file = "websockets-14.2-cp39-cp39-win32.whl", hash = "sha256:2e20c5f517e2163d76e2729104abc42639c41cf91f7b1839295be43302713661"}, + {file = "websockets-14.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4c8cef610e8d7c70dea92e62b6814a8cd24fbd01d7103cc89308d2bfe1659ef"}, + {file = "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"}, + {file = "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"}, + {file = "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"}, + {file = "websockets-14.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bbe03eb853e17fd5b15448328b4ec7fb2407d45fb0245036d06a3af251f8e48f"}, + {file = "websockets-14.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a3c4aa3428b904d5404a0ed85f3644d37e2cb25996b7f096d77caeb0e96a3b42"}, + {file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:577a4cebf1ceaf0b65ffc42c54856214165fb8ceeba3935852fc33f6b0c55e7f"}, + {file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad1c1d02357b7665e700eca43a31d52814ad9ad9b89b58118bdabc365454b574"}, + {file = "websockets-14.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f390024a47d904613577df83ba700bd189eedc09c57af0a904e5c39624621270"}, + {file = "websockets-14.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3c1426c021c38cf92b453cdf371228d3430acd775edee6bac5a4d577efc72365"}, + {file = "websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"}, + {file = "websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"}, ] [[package]] @@ -2956,6 +3239,7 @@ version = "1.18.3" description = "Yet another URL library" optional = false python-versions = ">=3.9" +groups = ["main", "test"] 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"}, @@ -3052,6 +3336,7 @@ version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, @@ -3066,6 +3351,6 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = "^3.9" -content-hash = "f14650203ccf0f3b487bc33f0765cfade66566d752bf39abfab0bc3b7e93a43e" +content-hash = "9903f7598c779ecee3daf3cc800bea7bea668ddd36757334b0ca89149fdfcffd" diff --git a/pyinjective/async_client.py b/pyinjective/async_client.py index ea12cb1d..61682ac2 100644 --- a/pyinjective/async_client.py +++ b/pyinjective/async_client.py @@ -16,36 +16,19 @@ 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.client.chain.grpc_stream import ChainGrpcChainStream +from pyinjective.client.model 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.ibc.channel.grpc import IBCChannelGrpcApi +from pyinjective.core.ibc.client.grpc import IBCClientGrpcApi +from pyinjective.core.ibc.connection.grpc import IBCConnectionGrpcApi +from pyinjective.core.ibc.transfer.grpc 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.tendermint.grpc 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.core.tx.grpc 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 @@ -57,26 +40,7 @@ ) 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, ) @@ -134,21 +98,6 @@ def __init__( 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) @@ -225,77 +174,6 @@ def __init__( 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: @@ -678,7 +556,7 @@ async def fetch_denom_decimal(self, denom: str) -> Dict[str, Any]: 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( + async def fetch_spot_markets( self, status: Optional[str] = None, market_ids: Optional[List[str]] = None, @@ -688,7 +566,7 @@ async def fetch_chain_spot_markets( market_ids=market_ids, ) - async def fetch_chain_spot_market( + async def fetch_spot_market( self, market_id: str, ) -> Dict[str, Any]: @@ -696,7 +574,7 @@ async def fetch_chain_spot_market( market_id=market_id, ) - async def fetch_chain_full_spot_markets( + async def fetch_full_spot_markets( self, status: Optional[str] = None, market_ids: Optional[List[str]] = None, @@ -708,7 +586,7 @@ async def fetch_chain_full_spot_markets( with_mid_price_and_tob=with_mid_price_and_tob, ) - async def fetch_chain_full_spot_market( + async def fetch_full_spot_market( self, market_id: str, with_mid_price_and_tob: Optional[bool] = None, @@ -718,7 +596,7 @@ async def fetch_chain_full_spot_market( with_mid_price_and_tob=with_mid_price_and_tob, ) - async def fetch_chain_spot_orderbook( + async def fetch_spot_orderbook( self, market_id: str, order_side: Optional[str] = None, @@ -735,7 +613,10 @@ async def fetch_chain_spot_orderbook( pagination=pagination, ) - async def fetch_chain_trader_spot_orders( + async def fetch_full_spot_orderbook(self, market_id: str) -> Dict[str, any]: + return await self.chain_exchange_api.fetch_l3_spot_orderbook(market_id=market_id) + + async def fetch_trader_spot_orders( self, market_id: str, subaccount_id: str, @@ -745,7 +626,7 @@ async def fetch_chain_trader_spot_orders( subaccount_id=subaccount_id, ) - async def fetch_chain_account_address_spot_orders( + async def fetch_account_address_spot_orders( self, market_id: str, account_address: str, @@ -755,7 +636,7 @@ async def fetch_chain_account_address_spot_orders( account_address=account_address, ) - async def fetch_chain_spot_orders_by_hashes( + async def fetch_spot_orders_by_hashes( self, market_id: str, subaccount_id: str, @@ -767,7 +648,7 @@ async def fetch_chain_spot_orders_by_hashes( order_hashes=order_hashes, ) - async def fetch_chain_subaccount_orders( + async def fetch_subaccount_orders( self, subaccount_id: str, market_id: str, @@ -777,7 +658,7 @@ async def fetch_chain_subaccount_orders( market_id=market_id, ) - async def fetch_chain_trader_spot_transient_orders( + async def fetch_trader_spot_transient_orders( self, market_id: str, subaccount_id: str, @@ -803,7 +684,7 @@ async def fetch_derivative_mid_price_and_tob( market_id=market_id, ) - async def fetch_chain_derivative_orderbook( + async def fetch_derivative_orderbook( self, market_id: str, limit_cumulative_notional: Optional[str] = None, @@ -815,7 +696,13 @@ async def fetch_chain_derivative_orderbook( pagination=pagination, ) - async def fetch_chain_trader_derivative_orders( + async def fetch_full_derivative_orderbook( + self, + market_id: str, + ) -> Dict[str, Any]: + return await self.chain_exchange_api.fetch_l3_derivative_orderbook(market_id=market_id) + + async def fetch_trader_derivative_orders( self, market_id: str, subaccount_id: str, @@ -825,7 +712,7 @@ async def fetch_chain_trader_derivative_orders( subaccount_id=subaccount_id, ) - async def fetch_chain_account_address_derivative_orders( + async def fetch_account_address_derivative_orders( self, market_id: str, account_address: str, @@ -835,7 +722,7 @@ async def fetch_chain_account_address_derivative_orders( account_address=account_address, ) - async def fetch_chain_derivative_orders_by_hashes( + async def fetch_derivative_orders_by_hashes( self, market_id: str, subaccount_id: str, @@ -847,7 +734,7 @@ async def fetch_chain_derivative_orders_by_hashes( order_hashes=order_hashes, ) - async def fetch_chain_trader_derivative_transient_orders( + async def fetch_trader_derivative_transient_orders( self, market_id: str, subaccount_id: str, @@ -857,7 +744,7 @@ async def fetch_chain_trader_derivative_transient_orders( subaccount_id=subaccount_id, ) - async def fetch_chain_derivative_markets( + async def fetch_derivative_markets( self, status: Optional[str] = None, market_ids: Optional[List[str]] = None, @@ -869,7 +756,7 @@ async def fetch_chain_derivative_markets( with_mid_price_and_tob=with_mid_price_and_tob, ) - async def fetch_chain_derivative_market( + async def fetch_derivative_market( self, market_id: str, ) -> Dict[str, Any]: @@ -883,33 +770,31 @@ async def fetch_derivative_market_address(self, market_id: str) -> Dict[str, Any 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]: + async def fetch_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]: + async def fetch_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]: + async def fetch_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]: + async def fetch_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]: + async def fetch_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]: + async def fetch_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]: + async def fetch_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]: @@ -984,7 +869,7 @@ async def fetch_market_volatility( include_metadata=include_metadata, ) - async def fetch_chain_binary_options_markets(self, status: Optional[str] = None) -> Dict[str, Any]: + async def fetch_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( @@ -1007,38 +892,6 @@ async def fetch_market_atomic_execution_fee_multiplier( # 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, @@ -1052,50 +905,6 @@ async def listen_bids_updates( ) # 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, @@ -1234,1899 +1043,172 @@ async def abci_query( # ------------------------------ # Explorer RPC + # AccountsRPC + # OracleRPC + # InsuranceRPC + # SpotRPC - 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( + # TODO (Hrishikesh) : add liquidable positions + # PortfolioRPC + async def chain_stream( 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): + 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 `fetch_txs` instead + This method is deprecated and will be removed soon. Please use `listen_chain_stream_updates` 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, + 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 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( + 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, ): - await self.exchange_explorer_stream_api.stream_txs( + 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, ) - 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) + # 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 listen_blocks_updates( + 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, - 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, + 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 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"), + 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 ) - 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, + async def fetch_ibc_packet_commitments( + self, port_id: str, channel_id: str, pagination: Optional[PaginationOption] = None ) -> Dict[str, Any]: - return await self.exchange_explorer_api.fetch_peggy_deposit_txs( - sender=sender, - receiver=receiver, - pagination=pagination, + return await self.ibc_channel_api.fetch_packet_commitments( + port_id=port_id, channel_id=channel_id, 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"), + 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 ) - 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 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 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( + async def fetch_ibc_packet_acknowledgements( 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, + port_id: str, + channel_id: str, + packet_commitment_sequences: Optional[List[int]] = 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, + 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, ) - # 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 + 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 ) - 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_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]: @@ -3294,7 +1376,7 @@ async def _initialize_tokens_and_markets(self): 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"] + markets_info = (await self.fetch_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"]) @@ -3321,9 +1403,7 @@ async def _initialize_tokens_and_markets(self): spot_markets[market.id] = market - markets_info = (await self.fetch_chain_derivative_markets(status="Active", with_mid_price_and_tob=False))[ - "markets" - ] + markets_info = (await self.fetch_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"]) @@ -3359,7 +1439,7 @@ async def _initialize_tokens_and_markets(self): derivative_markets[derivative_market.id] = derivative_market - markets_info = (await self.fetch_chain_binary_options_markets(status="Active"))["markets"] + markets_info = (await self.fetch_binary_options_markets(status="Active"))["markets"] for market_info in markets_info: quote_token = self._tokens_by_denom.get(market_info["quoteDenom"]) @@ -3386,9 +1466,11 @@ async def _initialize_tokens_and_markets(self): 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"])), + 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 diff --git a/pyinjective/client/chain/grpc/chain_grpc_auth_api.py b/pyinjective/client/chain/grpc/chain_grpc_auth_api.py index 6980369a..55f8ce39 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_auth_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_auth_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.cosmos.auth.v1beta1 import query_pb2 as auth_query_pb, query_pb2_grpc as auth_query_grpc from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant diff --git a/pyinjective/client/chain/grpc/chain_grpc_authz_api.py b/pyinjective/client/chain/grpc/chain_grpc_authz_api.py index d06b4e8c..5d181942 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_authz_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_authz_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.cosmos.authz.v1beta1 import query_pb2 as authz_query, query_pb2_grpc as authz_query_grpc from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant diff --git a/pyinjective/client/chain/grpc/chain_grpc_bank_api.py b/pyinjective/client/chain/grpc/chain_grpc_bank_api.py index cdbd3f1b..1baeb0d1 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_bank_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_bank_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.cosmos.bank.v1beta1 import query_pb2 as bank_query_pb, query_pb2_grpc as bank_query_grpc from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant diff --git a/pyinjective/client/chain/grpc/chain_grpc_distribution_api.py b/pyinjective/client/chain/grpc/chain_grpc_distribution_api.py index 7e201a42..a99ecc5e 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_distribution_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_distribution_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.cosmos.distribution.v1beta1 import ( query_pb2 as distribution_query_pb, diff --git a/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py b/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py index 6ac66a67..165d3dbd 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_exchange_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.injective.exchange.v1beta1 import ( query_pb2 as exchange_query_pb, @@ -118,6 +118,11 @@ async def fetch_spot_market(self, market_id: str) -> Dict[str, Any]: 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_full_spot_markets( self, status: Optional[str] = None, @@ -275,6 +280,11 @@ async def fetch_derivative_orderbook( 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_trader_derivative_orders( self, market_id: str, diff --git a/pyinjective/client/chain/grpc/chain_grpc_wasm_api.py b/pyinjective/client/chain/grpc/chain_grpc_wasm_api.py index adc65e88..c616fd89 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_wasm_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_wasm_api.py @@ -2,7 +2,7 @@ from grpc.aio import Channel -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import CookieAssistant from pyinjective.proto.cosmwasm.wasm.v1 import query_pb2 as wasm_query_pb, query_pb2_grpc as wasm_query_grpc from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant diff --git a/pyinjective/client/chain/grpc_stream/__init__.py b/pyinjective/client/chain/grpc_stream/__init__.py index e69de29b..019ecc31 100644 --- a/pyinjective/client/chain/grpc_stream/__init__.py +++ b/pyinjective/client/chain/grpc_stream/__init__.py @@ -0,0 +1,50 @@ +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.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._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) + + async def stream( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + bank_balances_filter: Optional[chain_stream_pb.BankBalancesFilter] = None, + subaccount_deposits_filter: Optional[chain_stream_pb.SubaccountDepositsFilter] = None, + spot_trades_filter: Optional[chain_stream_pb.TradesFilter] = None, + derivative_trades_filter: Optional[chain_stream_pb.TradesFilter] = None, + spot_orders_filter: Optional[chain_stream_pb.OrdersFilter] = None, + derivative_orders_filter: Optional[chain_stream_pb.OrdersFilter] = None, + spot_orderbooks_filter: Optional[chain_stream_pb.OrderbookFilter] = None, + derivative_orderbooks_filter: Optional[chain_stream_pb.OrderbookFilter] = None, + positions_filter: Optional[chain_stream_pb.PositionsFilter] = None, + oracle_price_filter: Optional[chain_stream_pb.OraclePriceFilter] = None, + ): + request = chain_stream_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, + ) + + await self._assistant.listen_stream( + call=self._stub.Stream, + request=request, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) diff --git a/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py b/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py deleted file mode 100644 index 019ecc31..00000000 --- a/pyinjective/client/chain/grpc_stream/chain_grpc_chain_stream.py +++ /dev/null @@ -1,50 +0,0 @@ -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.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._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - bank_balances_filter: Optional[chain_stream_pb.BankBalancesFilter] = None, - subaccount_deposits_filter: Optional[chain_stream_pb.SubaccountDepositsFilter] = None, - spot_trades_filter: Optional[chain_stream_pb.TradesFilter] = None, - derivative_trades_filter: Optional[chain_stream_pb.TradesFilter] = None, - spot_orders_filter: Optional[chain_stream_pb.OrdersFilter] = None, - derivative_orders_filter: Optional[chain_stream_pb.OrdersFilter] = None, - spot_orderbooks_filter: Optional[chain_stream_pb.OrderbookFilter] = None, - derivative_orderbooks_filter: Optional[chain_stream_pb.OrderbookFilter] = None, - positions_filter: Optional[chain_stream_pb.PositionsFilter] = None, - oracle_price_filter: Optional[chain_stream_pb.OraclePriceFilter] = None, - ): - request = chain_stream_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, - ) - - await self._assistant.listen_stream( - call=self._stub.Stream, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) diff --git a/pyinjective/client/indexer/__init__.py b/pyinjective/client/indexer/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pyinjective/client/indexer/grpc/__init__.py b/pyinjective/client/indexer/grpc/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pyinjective/client/indexer/grpc/indexer_grpc_account_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_account_api.py deleted file mode 100644 index 3d985595..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_account_api.py +++ /dev/null @@ -1,108 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_accounts_rpc_pb2 as exchange_accounts_pb, - injective_accounts_rpc_pb2_grpc as exchange_accounts_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcAccountApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_accounts_grpc.InjectiveAccountsRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_portfolio(self, account_address: str) -> Dict[str, Any]: - request = exchange_accounts_pb.PortfolioRequest(account_address=account_address) - response = await self._execute_call(call=self._stub.Portfolio, request=request) - - return response - - async def fetch_order_states( - self, - spot_order_hashes: Optional[List[str]] = None, - derivative_order_hashes: Optional[List[str]] = None, - ) -> Dict[str, Any]: - spot_order_hashes = spot_order_hashes or [] - derivative_order_hashes = derivative_order_hashes or [] - - request = exchange_accounts_pb.OrderStatesRequest( - spot_order_hashes=spot_order_hashes, derivative_order_hashes=derivative_order_hashes - ) - response = await self._execute_call(call=self._stub.OrderStates, request=request) - - return response - - async def fetch_subaccounts_list(self, address: str) -> Dict[str, Any]: - request = exchange_accounts_pb.SubaccountsListRequest(account_address=address) - response = await self._execute_call(call=self._stub.SubaccountsList, request=request) - - return response - - async def fetch_subaccount_balances_list( - self, subaccount_id: str, denoms: Optional[List[str]] = None - ) -> Dict[str, Any]: - request = exchange_accounts_pb.SubaccountBalancesListRequest( - subaccount_id=subaccount_id, - denoms=denoms, - ) - response = await self._execute_call(call=self._stub.SubaccountBalancesList, request=request) - - return response - - async def fetch_subaccount_balance(self, subaccount_id: str, denom: str) -> Dict[str, Any]: - request = exchange_accounts_pb.SubaccountBalanceEndpointRequest( - subaccount_id=subaccount_id, - denom=denom, - ) - response = await self._execute_call(call=self._stub.SubaccountBalanceEndpoint, request=request) - - return response - - 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]: - pagination = pagination or PaginationOption() - request = exchange_accounts_pb.SubaccountHistoryRequest( - subaccount_id=subaccount_id, - denom=denom, - transfer_types=transfer_types, - skip=pagination.skip, - limit=pagination.limit, - end_time=pagination.end_time, - ) - response = await self._execute_call(call=self._stub.SubaccountHistory, request=request) - - return response - - async def fetch_subaccount_order_summary( - self, - subaccount_id: str, - market_id: Optional[str] = None, - order_direction: Optional[str] = None, - ) -> Dict[str, Any]: - request = exchange_accounts_pb.SubaccountOrderSummaryRequest( - subaccount_id=subaccount_id, - market_id=market_id, - order_direction=order_direction, - ) - response = await self._execute_call(call=self._stub.SubaccountOrderSummary, request=request) - - return response - - async def fetch_rewards(self, account_address: Optional[str] = None, epoch: Optional[int] = None) -> Dict[str, Any]: - request = exchange_accounts_pb.RewardsRequest(account_address=account_address, epoch=epoch) - response = await self._execute_call(call=self._stub.Rewards, 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_auction_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py deleted file mode 100644 index e543d16e..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_auction_api.py +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Any, Callable, Dict - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_auction_rpc_pb2 as exchange_auction_pb, - injective_auction_rpc_pb2_grpc as exchange_auction_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcAuctionApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_auction_grpc.InjectiveAuctionRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_auction(self, round: int) -> Dict[str, Any]: - request = exchange_auction_pb.AuctionEndpointRequest(round=round) - response = await self._execute_call(call=self._stub.AuctionEndpoint, request=request) - - return response - - async def fetch_auctions(self) -> Dict[str, Any]: - request = exchange_auction_pb.AuctionsRequest() - response = await self._execute_call(call=self._stub.Auctions, 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 deleted file mode 100644 index 1d0220ee..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_derivative_api.py +++ /dev/null @@ -1,348 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb, - injective_derivative_exchange_rpc_pb2_grpc as exchange_derivative_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcDerivativeApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_derivative_grpc.InjectiveDerivativeExchangeRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_markets( - self, - market_statuses: Optional[List[str]] = None, - quote_denom: Optional[str] = None, - ) -> Dict[str, Any]: - request = exchange_derivative_pb.MarketsRequest( - market_statuses=market_statuses, - quote_denom=quote_denom, - ) - response = await self._execute_call(call=self._stub.Markets, request=request) - - return response - - async def fetch_market(self, market_id: str) -> Dict[str, Any]: - request = exchange_derivative_pb.MarketRequest(market_id=market_id) - response = await self._execute_call(call=self._stub.Market, request=request) - - return response - - async def fetch_binary_options_markets( - self, - market_status: Optional[str] = None, - quote_denom: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.BinaryOptionsMarketsRequest( - market_status=market_status, - quote_denom=quote_denom, - skip=pagination.skip, - limit=pagination.limit, - ) - response = await self._execute_call(call=self._stub.BinaryOptionsMarkets, request=request) - - return response - - async def fetch_binary_options_market(self, market_id: str) -> Dict[str, Any]: - request = exchange_derivative_pb.BinaryOptionsMarketRequest(market_id=market_id) - response = await self._execute_call(call=self._stub.BinaryOptionsMarket, request=request) - - return response - - async def fetch_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - request = exchange_derivative_pb.OrderbookV2Request(market_id=market_id) - 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) - response = await self._execute_call(call=self._stub.OrderbooksV2, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.OrdersRequest( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - is_conditional=is_conditional, - order_type=order_type, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.Orders, request=request) - - return response - - async def fetch_positions( - 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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.PositionsRequest( - market_ids=market_ids, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - direction=direction, - subaccount_total_positions=subaccount_total_positions, - ) - - response = await self._execute_call(call=self._stub.Positions, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.PositionsV2Request( - market_ids=market_ids, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - direction=direction, - subaccount_total_positions=subaccount_total_positions, - ) - - response = await self._execute_call(call=self._stub.PositionsV2, request=request) - - return response - - async def fetch_liquidable_positions( - self, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.LiquidablePositionsRequest( - market_id=market_id, - skip=pagination.skip, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.LiquidablePositions, request=request) - - return response - - async def fetch_funding_payments( - self, - market_ids: Optional[List[str]] = None, - subaccount_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.FundingPaymentsRequest( - market_ids=market_ids, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - end_time=pagination.end_time, - ) - - response = await self._execute_call(call=self._stub.FundingPayments, request=request) - - return response - - async def fetch_funding_rates( - self, - market_id: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.FundingRatesRequest( - market_id=market_id, - skip=pagination.skip, - limit=pagination.limit, - end_time=pagination.end_time, - ) - - response = await self._execute_call(call=self._stub.FundingRates, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.TradesRequest( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.Trades, request=request) - - return response - - async def fetch_subaccount_orders_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.SubaccountOrdersListRequest( - subaccount_id=subaccount_id, - market_id=market_id, - skip=pagination.skip, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.SubaccountOrdersList, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.SubaccountTradesListRequest( - subaccount_id=subaccount_id, - market_id=market_id, - execution_type=execution_type, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.SubaccountTradesList, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.OrdersHistoryRequest( - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - order_types=order_types, - direction=direction, - start_time=pagination.start_time, - end_time=pagination.end_time, - is_conditional=is_conditional, - state=state, - execution_types=execution_types, - market_ids=market_ids, - trade_id=trade_id, - active_markets_only=active_markets_only, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.OrdersHistory, request=request) - - return response - - async def fetch_trades_v2( - 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]: - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.TradesV2Request( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.TradesV2, 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 deleted file mode 100644 index b08f5390..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_explorer_api.py +++ /dev/null @@ -1,330 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_explorer_rpc_pb2 as exchange_explorer_pb, - injective_explorer_rpc_pb2_grpc as exchange_explorer_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcExplorerApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_explorer_grpc.InjectiveExplorerRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - 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]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetAccountTxsRequest( - address=address, - before=before, - after=after, - limit=pagination.limit, - skip=pagination.skip, - type=message_type, - module=module, - from_number=from_number, - to_number=to_number, - start_time=pagination.start_time, - end_time=pagination.end_time, - status=status, - ) - - response = await self._execute_call(call=self._stub.GetAccountTxs, request=request) - - return response - - async def fetch_contract_txs( - self, - address: str, - 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.GetAccountTxsRequest( - address=address, - limit=pagination.limit, - skip=pagination.skip, - from_number=from_number, - to_number=to_number, - ) - - response = await self._execute_call(call=self._stub.GetContractTxs, request=request) - - return response - - async def fetch_blocks( - self, - before: Optional[int] = None, - after: Optional[int] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetBlocksRequest( - before=before, - after=after, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.GetBlocks, request=request) - - return response - - async def fetch_block(self, block_id: str) -> Dict[str, Any]: - request = exchange_explorer_pb.GetBlockRequest(id=block_id) - - response = await self._execute_call(call=self._stub.GetBlock, request=request) - - return response - - async def fetch_validators(self) -> Dict[str, Any]: - request = exchange_explorer_pb.GetValidatorsRequest() - - response = await self._execute_call(call=self._stub.GetValidators, request=request) - - return response - - async def fetch_validator(self, address: str) -> Dict[str, Any]: - request = exchange_explorer_pb.GetValidatorRequest(address=address) - - response = await self._execute_call(call=self._stub.GetValidator, request=request) - - return response - - async def fetch_validator_uptime(self, address: str) -> Dict[str, Any]: - request = exchange_explorer_pb.GetValidatorUptimeRequest(address=address) - - response = await self._execute_call(call=self._stub.GetValidatorUptime, request=request) - - return response - - 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]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetTxsRequest( - before=before, - after=after, - limit=pagination.limit, - skip=pagination.skip, - type=message_type, - module=module, - from_number=from_number, - to_number=to_number, - start_time=pagination.start_time, - end_time=pagination.end_time, - status=status, - ) - - response = await self._execute_call(call=self._stub.GetTxs, request=request) - - return response - - async def fetch_tx_by_tx_hash(self, tx_hash: str) -> Dict[str, Any]: - request = exchange_explorer_pb.GetTxByTxHashRequest(hash=tx_hash) - - response = await self._execute_call(call=self._stub.GetTxByTxHash, request=request) - - return response - - async def fetch_peggy_deposit_txs( - self, - sender: Optional[str] = None, - receiver: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetPeggyDepositTxsRequest( - sender=sender, - receiver=receiver, - limit=pagination.limit, - skip=pagination.skip, - ) - - response = await self._execute_call(call=self._stub.GetPeggyDepositTxs, request=request) - - return response - - async def fetch_peggy_withdrawal_txs( - self, - sender: Optional[str] = None, - receiver: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetPeggyWithdrawalTxsRequest( - sender=sender, - receiver=receiver, - limit=pagination.limit, - skip=pagination.skip, - ) - - response = await self._execute_call(call=self._stub.GetPeggyWithdrawalTxs, request=request) - - return response - - 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]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetIBCTransferTxsRequest( - sender=sender, - receiver=receiver, - src_channel=src_channel, - src_port=src_port, - dest_channel=dest_channel, - dest_port=dest_port, - limit=pagination.limit, - skip=pagination.skip, - ) - - response = await self._execute_call(call=self._stub.GetIBCTransferTxs, request=request) - - return response - - 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, - ) - - response = await self._execute_call(call=self._stub.GetWasmCodes, request=request) - - return response - - async def fetch_wasm_code_by_id( - self, - code_id: int, - ) -> Dict[str, Any]: - request = exchange_explorer_pb.GetWasmCodeByIDRequest(code_id=code_id) - - response = await self._execute_call(call=self._stub.GetWasmCodeByID, request=request) - - return response - - 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, - 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, - assets_only=assets_only, - skip=pagination.skip, - label=label, - ) - - response = await self._execute_call(call=self._stub.GetWasmContracts, request=request) - - return response - - async def fetch_wasm_contract_by_address( - self, - address: str, - ) -> Dict[str, Any]: - request = exchange_explorer_pb.GetWasmContractByAddressRequest(contract_address=address) - - response = await self._execute_call(call=self._stub.GetWasmContractByAddress, request=request) - - return response - - async def fetch_cw20_balance( - self, - address: str, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetCw20BalanceRequest( - address=address, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.GetCw20Balance, request=request) - - return response - - async def fetch_relayers( - self, - market_ids: Optional[List[str]] = None, - ) -> Dict[str, Any]: - request = exchange_explorer_pb.RelayersRequest(market_i_ds=market_ids) - - response = await self._execute_call(call=self._stub.Relayers, request=request) - - return response - - 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]: - pagination = pagination or PaginationOption() - request = exchange_explorer_pb.GetBankTransfersRequest( - senders=senders, - recipients=recipients, - is_community_pool_related=is_community_pool_related, - limit=pagination.limit, - skip=pagination.skip, - start_time=pagination.start_time, - end_time=pagination.end_time, - address=address, - per_page=per_page, - token=token, - ) - - response = await self._execute_call(call=self._stub.GetBankTransfers, 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_insurance_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_insurance_api.py deleted file mode 100644 index ea658bda..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_insurance_api.py +++ /dev/null @@ -1,40 +0,0 @@ -from typing import Any, Callable, Dict, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_insurance_rpc_pb2 as exchange_insurance_pb, - injective_insurance_rpc_pb2_grpc as exchange_insurance_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcInsuranceApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_insurance_grpc.InjectiveInsuranceRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_insurance_funds(self) -> Dict[str, Any]: - request = exchange_insurance_pb.FundsRequest() - response = await self._execute_call(call=self._stub.Funds, request=request) - - return response - - async def fetch_redemptions( - self, - address: Optional[str] = None, - denom: Optional[str] = None, - status: Optional[str] = None, - ) -> Dict[str, Any]: - request = exchange_insurance_pb.RedemptionsRequest( - redeemer=address, - redemption_denom=denom, - status=status, - ) - response = await self._execute_call(call=self._stub.Redemptions, 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_meta_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_meta_api.py deleted file mode 100644 index 0d06f884..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_meta_api.py +++ /dev/null @@ -1,38 +0,0 @@ -import time -from typing import Any, Callable, Dict - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_meta_rpc_pb2 as exchange_meta_pb, - injective_meta_rpc_pb2_grpc as exchange_meta_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcMetaApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_meta_grpc.InjectiveMetaRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_ping(self) -> Dict[str, Any]: - request = exchange_meta_pb.PingRequest() - response = await self._execute_call(call=self._stub.Ping, request=request) - - return response - - async def fetch_version(self) -> Dict[str, Any]: - request = exchange_meta_pb.VersionRequest() - response = await self._execute_call(call=self._stub.Version, request=request) - - return response - - async def fetch_info(self) -> Dict[str, Any]: - request = exchange_meta_pb.InfoRequest(timestamp=int(time.time() * 1000)) - response = await self._execute_call(call=self._stub.Info, 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_oracle_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py deleted file mode 100644 index ccf16ee9..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_oracle_api.py +++ /dev/null @@ -1,42 +0,0 @@ -from typing import Any, Callable, Dict, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_oracle_rpc_pb2 as exchange_oracle_pb, - injective_oracle_rpc_pb2_grpc as exchange_oracle_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcOracleApi: - 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() - response = await self._execute_call(call=self._stub.OracleList, request=request) - - return response - - 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]: - request = exchange_oracle_pb.PriceRequest( - base_symbol=base_symbol, - quote_symbol=quote_symbol, - oracle_type=oracle_type, - oracle_scale_factor=oracle_scale_factor, - ) - response = await self._execute_call(call=self._stub.Price, 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 deleted file mode 100644 index d9d7460c..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_portfolio_api.py +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Any, Callable, Dict - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_portfolio_rpc_pb2 as exchange_portfolio_pb, - injective_portfolio_rpc_pb2_grpc as exchange_portfolio_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcPortfolioApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_portfolio_grpc.InjectivePortfolioRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_account_portfolio(self, account_address: str) -> Dict[str, Any]: - request = exchange_portfolio_pb.AccountPortfolioRequest(account_address=account_address) - response = await self._execute_call(call=self._stub.AccountPortfolio, request=request) - - return response - - async def fetch_account_portfolio_balances(self, account_address: str) -> Dict[str, Any]: - request = exchange_portfolio_pb.AccountPortfolioBalancesRequest(account_address=account_address) - response = await self._execute_call(call=self._stub.AccountPortfolioBalances, 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_spot_api.py b/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py deleted file mode 100644 index f91ecaf8..00000000 --- a/pyinjective/client/indexer/grpc/indexer_grpc_spot_api.py +++ /dev/null @@ -1,241 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_spot_exchange_rpc_pb2 as exchange_spot_pb, - injective_spot_exchange_rpc_pb2_grpc as exchange_spot_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IndexerGrpcSpotApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_spot_grpc.InjectiveSpotExchangeRPCStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_markets( - self, - market_statuses: Optional[List[str]] = None, - base_denom: Optional[str] = None, - quote_denom: Optional[str] = None, - ) -> Dict[str, Any]: - request = exchange_spot_pb.MarketsRequest( - market_statuses=market_statuses, - base_denom=base_denom, - quote_denom=quote_denom, - ) - response = await self._execute_call(call=self._stub.Markets, request=request) - - return response - - async def fetch_market(self, market_id: str) -> Dict[str, Any]: - request = exchange_spot_pb.MarketRequest(market_id=market_id) - response = await self._execute_call(call=self._stub.Market, request=request) - - return response - - async def fetch_orderbook_v2(self, market_id: str) -> Dict[str, Any]: - request = exchange_spot_pb.OrderbookV2Request(market_id=market_id) - 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) - response = await self._execute_call(call=self._stub.OrderbooksV2, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.OrdersRequest( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.Orders, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.TradesRequest( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.Trades, request=request) - - return response - - async def fetch_subaccount_orders_list( - self, - subaccount_id: str, - market_id: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.SubaccountOrdersListRequest( - subaccount_id=subaccount_id, - market_id=market_id, - skip=pagination.skip, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.SubaccountOrdersList, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.SubaccountTradesListRequest( - subaccount_id=subaccount_id, - market_id=market_id, - execution_type=execution_type, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - ) - - response = await self._execute_call(call=self._stub.SubaccountTradesList, request=request) - - return response - - async def fetch_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]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.OrdersHistoryRequest( - subaccount_id=subaccount_id, - market_ids=market_ids, - skip=pagination.skip, - limit=pagination.limit, - order_types=order_types, - direction=direction, - start_time=pagination.start_time, - end_time=pagination.end_time, - state=state, - execution_types=execution_types, - trade_id=trade_id, - active_markets_only=active_markets_only, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.OrdersHistory, request=request) - - return response - - async def fetch_atomic_swap_history( - self, - address: str, - contract_address: Optional[str] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.AtomicSwapHistoryRequest( - address=address, - contract_address=contract_address, - skip=pagination.skip, - limit=pagination.limit, - from_number=pagination.from_number, - to_number=pagination.to_number, - ) - - response = await self._execute_call(call=self._stub.AtomicSwapHistory, request=request) - - return response - - async def fetch_trades_v2( - 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]: - pagination = pagination or PaginationOption() - request = exchange_spot_pb.TradesV2Request( - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - response = await self._execute_call(call=self._stub.TradesV2, 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_stream/__init__.py b/pyinjective/client/indexer/grpc_stream/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pyinjective/client/indexer/grpc_stream/indexer_grpc_account_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_account_stream.py deleted file mode 100644 index 6fcaf1c8..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_account_stream.py +++ /dev/null @@ -1,37 +0,0 @@ -from typing import Callable, List, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_accounts_rpc_pb2 as exchange_accounts_pb, - injective_accounts_rpc_pb2_grpc as exchange_accounts_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcAccountStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_accounts_grpc.InjectiveAccountsRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_subaccount_balance( - self, - subaccount_id: str, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - denoms: Optional[List[str]] = None, - ): - request = exchange_accounts_pb.StreamSubaccountBalanceRequest( - subaccount_id=subaccount_id, - denoms=denoms, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamSubaccountBalance, - 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_auction_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_auction_stream.py deleted file mode 100644 index f2477c82..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_auction_stream.py +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Callable, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_auction_rpc_pb2 as exchange_auction_pb, - injective_auction_rpc_pb2_grpc as exchange_auction_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcAuctionStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_auction_grpc.InjectiveAuctionRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_bids( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_auction_pb.StreamBidsRequest() - - await self._assistant.listen_stream( - call=self._stub.StreamBids, - 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_derivative_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py deleted file mode 100644 index 2759e6a5..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_derivative_stream.py +++ /dev/null @@ -1,236 +0,0 @@ -from typing import Callable, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb, - injective_derivative_exchange_rpc_pb2_grpc as exchange_derivative_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcDerivativeStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_derivative_grpc.InjectiveDerivativeExchangeRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_market( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - ): - request = exchange_derivative_pb.StreamMarketRequest( - market_ids=market_ids, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamMarket, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orderbook_v2( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_derivative_pb.StreamOrderbookV2Request(market_ids=market_ids) - - await self._assistant.listen_stream( - call=self._stub.StreamOrderbookV2, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orderbook_update( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_derivative_pb.StreamOrderbookUpdateRequest(market_ids=market_ids) - - await self._assistant.listen_stream( - call=self._stub.StreamOrderbookUpdate, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_positions( - 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, - ): - request = exchange_derivative_pb.StreamPositionsRequest(market_ids=market_ids, subaccount_ids=subaccount_ids) - - await self._assistant.listen_stream( - call=self._stub.StreamPositions, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orders( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.StreamOrdersRequest( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - is_conditional=is_conditional, - order_type=order_type, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamOrders, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_trades( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.StreamTradesRequest( - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamTrades, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orders_history( - 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, - ): - request = exchange_derivative_pb.StreamOrdersHistoryRequest( - subaccount_id=subaccount_id, - market_id=market_id, - order_types=order_types, - direction=direction, - state=state, - execution_types=execution_types, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamOrdersHistory, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_trades_v2( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_derivative_pb.StreamTradesV2Request( - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamTradesV2, - 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_explorer_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_explorer_stream.py deleted file mode 100644 index faf96647..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_explorer_stream.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import Callable, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_explorer_rpc_pb2 as exchange_explorer_pb, - injective_explorer_rpc_pb2_grpc as exchange_explorer_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcExplorerStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_explorer_grpc.InjectiveExplorerRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_txs( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_explorer_pb.StreamTxsRequest() - - await self._assistant.listen_stream( - call=self._stub.StreamTxs, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_blocks( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_explorer_pb.StreamBlocksRequest() - - await self._assistant.listen_stream( - call=self._stub.StreamBlocks, - 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_meta_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_meta_stream.py deleted file mode 100644 index bc2a9a7c..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_meta_stream.py +++ /dev/null @@ -1,32 +0,0 @@ -from typing import Callable, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_meta_rpc_pb2 as exchange_meta_pb, - injective_meta_rpc_pb2_grpc as exchange_meta_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcMetaStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_meta_grpc.InjectiveMetaRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_keepalive( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_meta_pb.StreamKeepaliveRequest() - - await self._assistant.listen_stream( - call=self._stub.StreamKeepalive, - 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 deleted file mode 100644 index 5ff2e4d5..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py +++ /dev/null @@ -1,58 +0,0 @@ -from typing import Callable, List, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_oracle_rpc_pb2 as exchange_oracle_pb, - injective_oracle_rpc_pb2_grpc as exchange_oracle_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcOracleStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_oracle_prices( - 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, - ): - request = exchange_oracle_pb.StreamPricesRequest( - base_symbol=base_symbol, - quote_symbol=quote_symbol, - oracle_type=oracle_type, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamPrices, - 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], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_oracle_pb.StreamPricesByMarketsRequest( - market_ids=market_ids, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamPricesByMarkets, - 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_portfolio_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_portfolio_stream.py deleted file mode 100644 index e1c202d2..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_portfolio_stream.py +++ /dev/null @@ -1,39 +0,0 @@ -from typing import Callable, Optional - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_portfolio_rpc_pb2 as exchange_portfolio_pb, - injective_portfolio_rpc_pb2_grpc as exchange_portfolio_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcPortfolioStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_portfolio_grpc.InjectivePortfolioRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_account_portfolio( - 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, - ): - request = exchange_portfolio_pb.StreamAccountPortfolioRequest( - account_address=account_address, - subaccount_id=subaccount_id, - type=update_type, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamAccountPortfolio, - 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_spot_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py deleted file mode 100644 index 0d7f32c9..00000000 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_spot_stream.py +++ /dev/null @@ -1,214 +0,0 @@ -from typing import Callable, List, Optional - -from grpc.aio import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.exchange import ( - injective_spot_exchange_rpc_pb2 as exchange_spot_pb, - injective_spot_exchange_rpc_pb2_grpc as exchange_spot_grpc, -) -from pyinjective.utils.grpc_api_stream_assistant import GrpcApiStreamAssistant - - -class IndexerGrpcSpotStream: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_spot_grpc.InjectiveSpotExchangeRPCStub(channel) - self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) - - async def stream_markets( - self, - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - market_ids: Optional[List[str]] = None, - ): - request = exchange_spot_pb.StreamMarketsRequest( - market_ids=market_ids, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamMarkets, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orderbook_v2( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_spot_pb.StreamOrderbookV2Request(market_ids=market_ids) - - await self._assistant.listen_stream( - call=self._stub.StreamOrderbookV2, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orderbook_update( - self, - market_ids: List[str], - callback: Callable, - on_end_callback: Optional[Callable] = None, - on_status_callback: Optional[Callable] = None, - ): - request = exchange_spot_pb.StreamOrderbookUpdateRequest(market_ids=market_ids) - - await self._assistant.listen_stream( - call=self._stub.StreamOrderbookUpdate, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orders( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_spot_pb.StreamOrdersRequest( - market_ids=market_ids, - order_side=order_side, - subaccount_id=subaccount_id, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - include_inactive=include_inactive, - subaccount_total_orders=subaccount_total_orders, - trade_id=trade_id, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamOrders, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_trades( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_spot_pb.StreamTradesRequest( - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamTrades, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_orders_history( - 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, - ): - request = exchange_spot_pb.StreamOrdersHistoryRequest( - subaccount_id=subaccount_id, - market_id=market_id, - order_types=order_types, - direction=direction, - state=state, - execution_types=execution_types, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamOrdersHistory, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) - - async def stream_trades_v2( - 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, - ): - pagination = pagination or PaginationOption() - request = exchange_spot_pb.StreamTradesV2Request( - execution_side=execution_side, - direction=direction, - skip=pagination.skip, - limit=pagination.limit, - start_time=pagination.start_time, - end_time=pagination.end_time, - market_ids=market_ids, - subaccount_ids=subaccount_ids, - execution_types=execution_types, - trade_id=trade_id, - account_address=account_address, - cid=cid, - ) - - await self._assistant.listen_stream( - call=self._stub.StreamTradesV2, - request=request, - callback=callback, - on_end_callback=on_end_callback, - on_status_callback=on_status_callback, - ) diff --git a/pyinjective/client/model/__init__.py b/pyinjective/client/model/__init__.py index e69de29b..eb5fa24e 100644 --- a/pyinjective/client/model/__init__.py +++ b/pyinjective/client/model/__init__.py @@ -0,0 +1,70 @@ +import base64 +from typing import Optional + +from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb + + +class PaginationOption: + def __init__( + self, + encoded_page_key: Optional[str] = None, + skip: Optional[int] = None, + limit: Optional[int] = None, + start_time: Optional[int] = None, + end_time: Optional[int] = None, + reverse: Optional[bool] = None, + count_total: Optional[bool] = None, + from_number: Optional[int] = None, + to_number: Optional[int] = None, + ): + super().__init__() + self.encoded_page_key = encoded_page_key + self.skip = skip + self.limit = limit + self.start_time = start_time + self.end_time = end_time + self.reverse = reverse + self.count_total = count_total + self.from_number = from_number + self.to_number = to_number + + def create_pagination_request(self) -> pagination_pb.PageRequest: + page_request = pagination_pb.PageRequest() + + if self.encoded_page_key is not None and self.encoded_page_key != "": + page_key = base64.b64decode(self.encoded_page_key) + page_request.key = page_key + if self.skip is not None: + page_request.offset = self.skip + if self.limit is not None: + page_request.limit = self.limit + if self.reverse is not None: + page_request.reverse = self.reverse + if self.count_total is not None: + page_request.count_total = self.count_total + + return page_request + + +class Pagination: + def __init__( + self, + next: Optional[str] = None, + total: Optional[int] = None, + ): + super().__init__() + self.next = next + self.total = total + + @classmethod + def from_proto(cls, proto_pagination: pagination_pb.PageResponse): + next = None + + if proto_pagination.next_key is not None: + next = f"0x{proto_pagination.next_key.hex()}" + total = proto_pagination.total + + return cls( + next=next, + total=total, + ) diff --git a/pyinjective/client/model/pagination.py b/pyinjective/client/model/pagination.py deleted file mode 100644 index eb5fa24e..00000000 --- a/pyinjective/client/model/pagination.py +++ /dev/null @@ -1,70 +0,0 @@ -import base64 -from typing import Optional - -from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb - - -class PaginationOption: - def __init__( - self, - encoded_page_key: Optional[str] = None, - skip: Optional[int] = None, - limit: Optional[int] = None, - start_time: Optional[int] = None, - end_time: Optional[int] = None, - reverse: Optional[bool] = None, - count_total: Optional[bool] = None, - from_number: Optional[int] = None, - to_number: Optional[int] = None, - ): - super().__init__() - self.encoded_page_key = encoded_page_key - self.skip = skip - self.limit = limit - self.start_time = start_time - self.end_time = end_time - self.reverse = reverse - self.count_total = count_total - self.from_number = from_number - self.to_number = to_number - - def create_pagination_request(self) -> pagination_pb.PageRequest: - page_request = pagination_pb.PageRequest() - - if self.encoded_page_key is not None and self.encoded_page_key != "": - page_key = base64.b64decode(self.encoded_page_key) - page_request.key = page_key - if self.skip is not None: - page_request.offset = self.skip - if self.limit is not None: - page_request.limit = self.limit - if self.reverse is not None: - page_request.reverse = self.reverse - if self.count_total is not None: - page_request.count_total = self.count_total - - return page_request - - -class Pagination: - def __init__( - self, - next: Optional[str] = None, - total: Optional[int] = None, - ): - super().__init__() - self.next = next - self.total = total - - @classmethod - def from_proto(cls, proto_pagination: pagination_pb.PageResponse): - next = None - - if proto_pagination.next_key is not None: - next = f"0x{proto_pagination.next_key.hex()}" - total = proto_pagination.total - - return cls( - next=next, - total=total, - ) diff --git a/pyinjective/composer.py b/pyinjective/composer.py index 08e17021..7acdff9e 100644 --- a/pyinjective/composer.py +++ b/pyinjective/composer.py @@ -20,7 +20,6 @@ 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 @@ -301,6 +300,7 @@ def spot_order( trigger_price=chain_trigger_price, ) + # TODO (Hrishikesh): I noticed that this is very inconsistent def calculate_margin( self, quantity: Decimal, price: Decimal, leverage: Decimal, is_reduce_only: bool = False ) -> Decimal: @@ -938,7 +938,7 @@ def MsgPrivilegedExecuteContract( sender=sender, contract_address=contract, data=msg, - funds=kwargs.get("funds") # funds is a string of Coin strings, comma separated, + funds=kwargs.get("funds"), # funds is a string of Coin strings, comma separated, # e.g. 100000inj,20000000000usdt ) @@ -2106,7 +2106,7 @@ def MsgExecuteContract(self, sender: str, contract: str, msg: str, **kwargs): sender=sender, contract=contract, msg=bytes(msg, "utf-8"), - funds=kwargs.get("funds") # funds is a list of base_coin_pb.Coin. + 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. ) @@ -2530,24 +2530,6 @@ def UnpackTransactionMessages(transaction): 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 diff --git a/pyinjective/core/broadcaster.py b/pyinjective/core/broadcaster.py index 778bc4c9..68a1ed95 100644 --- a/pyinjective/core/broadcaster.py +++ b/pyinjective/core/broadcaster.py @@ -18,22 +18,18 @@ class BroadcasterAccountConfig(ABC): @property @abstractmethod - def trading_injective_address(self) -> str: - ... + def trading_injective_address(self) -> str: ... @property @abstractmethod - def trading_private_key(self) -> PrivateKey: - ... + def trading_private_key(self) -> PrivateKey: ... @property @abstractmethod - def trading_public_key(self) -> PublicKey: - ... + def trading_public_key(self) -> PublicKey: ... @abstractmethod - def messages_prepared_for_transaction(self, messages: List[any_pb2.Any]) -> List[any_pb2.Any]: - ... + def messages_prepared_for_transaction(self, messages: List[any_pb2.Any]) -> List[any_pb2.Any]: ... class TransactionFeeCalculator(ABC): @@ -45,8 +41,7 @@ async def configure_gas_fee_for_transaction( transaction: Transaction, private_key: PrivateKey, public_key: PublicKey, - ): - ... + ): ... class MsgBroadcasterWithPk: diff --git a/pyinjective/core/gas_limit_estimator.py b/pyinjective/core/gas_limit_estimator.py index 335af501..ba2f26a9 100644 --- a/pyinjective/core/gas_limit_estimator.py +++ b/pyinjective/core/gas_limit_estimator.py @@ -27,8 +27,7 @@ class GasLimitEstimator(ABC): @classmethod @abstractmethod - def applies_to(cls, message: any_pb2.Any) -> bool: - ... + def applies_to(cls, message: any_pb2.Any) -> bool: ... @classmethod def for_message(cls, message: any_pb2.Any): @@ -48,8 +47,7 @@ def for_message(cls, message: any_pb2.Any): return estimator @abstractmethod - def gas_limit(self) -> int: - ... + def gas_limit(self) -> int: ... @staticmethod def message_type(message: any_pb2.Any) -> str: @@ -60,8 +58,7 @@ def message_type(message: any_pb2.Any) -> str: return message_type @abstractmethod - def _message_class(self, message: any_pb2.Any): - ... + 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): diff --git a/pyinjective/core/ibc/channel/grpc/__init__.py b/pyinjective/core/ibc/channel/grpc/__init__.py index e69de29b..0698cf1a 100644 --- a/pyinjective/core/ibc/channel/grpc/__init__.py +++ b/pyinjective/core/ibc/channel/grpc/__init__.py @@ -0,0 +1,170 @@ +from typing import Any, Callable, Dict, List, Optional + +from grpc import Channel + +from pyinjective.client.model import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.ibc.core.channel.v1 import ( + query_pb2 as ibc_channel_query, + query_pb2_grpc as ibc_channel_query_grpc, +) +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class IBCChannelGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = ibc_channel_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_channel(self, port_id: str, channel_id: str) -> Dict[str, Any]: + request = ibc_channel_query.QueryChannelRequest(port_id=port_id, channel_id=channel_id) + response = await self._execute_call(call=self._stub.Channel, request=request) + + return response + + async def fetch_channels(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_channel_query.QueryChannelsRequest(pagination=pagination.create_pagination_request()) + response = await self._execute_call(call=self._stub.Channels, request=request) + + return response + + async def fetch_connection_channels( + self, connection: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_channel_query.QueryConnectionChannelsRequest( + connection=connection, pagination=pagination.create_pagination_request() + ) + response = await self._execute_call(call=self._stub.ConnectionChannels, request=request) + + return response + + async def fetch_channel_client_state( + self, + port_id: str, + channel_id: str, + ) -> Dict[str, Any]: + request = ibc_channel_query.QueryChannelClientStateRequest( + port_id=port_id, + channel_id=channel_id, + ) + response = await self._execute_call(call=self._stub.ChannelClientState, request=request) + + return response + + async def fetch_channel_consensus_state( + self, + port_id: str, + channel_id: str, + revision_number: int, + revision_height: int, + ) -> Dict[str, Any]: + request = ibc_channel_query.QueryChannelConsensusStateRequest( + port_id=port_id, + channel_id=channel_id, + revision_number=revision_number, + revision_height=revision_height, + ) + response = await self._execute_call(call=self._stub.ChannelConsensusState, request=request) + + return response + + async def fetch_packet_commitment( + self, + port_id: str, + channel_id: str, + sequence: int, + ) -> Dict[str, Any]: + request = ibc_channel_query.QueryPacketCommitmentRequest( + port_id=port_id, + channel_id=channel_id, + sequence=sequence, + ) + response = await self._execute_call(call=self._stub.PacketCommitment, request=request) + + return response + + async def fetch_packet_commitments( + self, port_id: str, channel_id: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_channel_query.QueryPacketCommitmentsRequest( + port_id=port_id, channel_id=channel_id, pagination=pagination.create_pagination_request() + ) + response = await self._execute_call(call=self._stub.PacketCommitments, request=request) + + return response + + async def fetch_packet_receipt(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: + request = ibc_channel_query.QueryPacketReceiptRequest(port_id=port_id, channel_id=channel_id, sequence=sequence) + response = await self._execute_call(call=self._stub.PacketReceipt, request=request) + + return response + + async def fetch_packet_acknowledgement(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: + request = ibc_channel_query.QueryPacketAcknowledgementRequest( + port_id=port_id, channel_id=channel_id, sequence=sequence + ) + response = await self._execute_call(call=self._stub.PacketAcknowledgement, request=request) + + return response + + async def fetch_packet_acknowledgements( + self, + port_id: str, + channel_id: str, + packet_commitment_sequences: Optional[List[int]] = None, + pagination: Optional[PaginationOption] = None, + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + + request = ibc_channel_query.QueryPacketAcknowledgementsRequest( + port_id=port_id, + channel_id=channel_id, + packet_commitment_sequences=packet_commitment_sequences, + pagination=pagination.create_pagination_request(), + ) + response = await self._execute_call(call=self._stub.PacketAcknowledgements, request=request) + + return response + + async def fetch_unreceived_packets( + self, port_id: str, channel_id: str, packet_commitment_sequences: Optional[List[int]] = None + ) -> Dict[str, Any]: + request = ibc_channel_query.QueryUnreceivedPacketsRequest( + port_id=port_id, + channel_id=channel_id, + packet_commitment_sequences=packet_commitment_sequences, + ) + response = await self._execute_call(call=self._stub.UnreceivedPackets, request=request) + + return response + + async def fetch_unreceived_acks( + self, port_id: str, channel_id: str, packet_ack_sequences: Optional[List[int]] = None + ) -> Dict[str, Any]: + request = ibc_channel_query.QueryUnreceivedAcksRequest( + port_id=port_id, + channel_id=channel_id, + packet_ack_sequences=packet_ack_sequences, + ) + response = await self._execute_call(call=self._stub.UnreceivedAcks, request=request) + + return response + + async def fetch_next_sequence_receive(self, port_id: str, channel_id: str) -> Dict[str, Any]: + request = ibc_channel_query.QueryNextSequenceReceiveRequest( + port_id=port_id, + channel_id=channel_id, + ) + response = await self._execute_call(call=self._stub.NextSequenceReceive, 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/core/ibc/channel/grpc/ibc_channel_grpc_api.py b/pyinjective/core/ibc/channel/grpc/ibc_channel_grpc_api.py deleted file mode 100644 index 362e67e2..00000000 --- a/pyinjective/core/ibc/channel/grpc/ibc_channel_grpc_api.py +++ /dev/null @@ -1,170 +0,0 @@ -from typing import Any, Callable, Dict, List, Optional - -from grpc import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.ibc.core.channel.v1 import ( - query_pb2 as ibc_channel_query, - query_pb2_grpc as ibc_channel_query_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IBCChannelGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = ibc_channel_query_grpc.QueryStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_channel(self, port_id: str, channel_id: str) -> Dict[str, Any]: - request = ibc_channel_query.QueryChannelRequest(port_id=port_id, channel_id=channel_id) - response = await self._execute_call(call=self._stub.Channel, request=request) - - return response - - async def fetch_channels(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_channel_query.QueryChannelsRequest(pagination=pagination.create_pagination_request()) - response = await self._execute_call(call=self._stub.Channels, request=request) - - return response - - async def fetch_connection_channels( - self, connection: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_channel_query.QueryConnectionChannelsRequest( - connection=connection, pagination=pagination.create_pagination_request() - ) - response = await self._execute_call(call=self._stub.ConnectionChannels, request=request) - - return response - - async def fetch_channel_client_state( - self, - port_id: str, - channel_id: str, - ) -> Dict[str, Any]: - request = ibc_channel_query.QueryChannelClientStateRequest( - port_id=port_id, - channel_id=channel_id, - ) - response = await self._execute_call(call=self._stub.ChannelClientState, request=request) - - return response - - async def fetch_channel_consensus_state( - self, - port_id: str, - channel_id: str, - revision_number: int, - revision_height: int, - ) -> Dict[str, Any]: - request = ibc_channel_query.QueryChannelConsensusStateRequest( - port_id=port_id, - channel_id=channel_id, - revision_number=revision_number, - revision_height=revision_height, - ) - response = await self._execute_call(call=self._stub.ChannelConsensusState, request=request) - - return response - - async def fetch_packet_commitment( - self, - port_id: str, - channel_id: str, - sequence: int, - ) -> Dict[str, Any]: - request = ibc_channel_query.QueryPacketCommitmentRequest( - port_id=port_id, - channel_id=channel_id, - sequence=sequence, - ) - response = await self._execute_call(call=self._stub.PacketCommitment, request=request) - - return response - - async def fetch_packet_commitments( - self, port_id: str, channel_id: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_channel_query.QueryPacketCommitmentsRequest( - port_id=port_id, channel_id=channel_id, pagination=pagination.create_pagination_request() - ) - response = await self._execute_call(call=self._stub.PacketCommitments, request=request) - - return response - - async def fetch_packet_receipt(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: - request = ibc_channel_query.QueryPacketReceiptRequest(port_id=port_id, channel_id=channel_id, sequence=sequence) - response = await self._execute_call(call=self._stub.PacketReceipt, request=request) - - return response - - async def fetch_packet_acknowledgement(self, port_id: str, channel_id: str, sequence: int) -> Dict[str, Any]: - request = ibc_channel_query.QueryPacketAcknowledgementRequest( - port_id=port_id, channel_id=channel_id, sequence=sequence - ) - response = await self._execute_call(call=self._stub.PacketAcknowledgement, request=request) - - return response - - async def fetch_packet_acknowledgements( - self, - port_id: str, - channel_id: str, - packet_commitment_sequences: Optional[List[int]] = None, - pagination: Optional[PaginationOption] = None, - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - - request = ibc_channel_query.QueryPacketAcknowledgementsRequest( - port_id=port_id, - channel_id=channel_id, - packet_commitment_sequences=packet_commitment_sequences, - pagination=pagination.create_pagination_request(), - ) - response = await self._execute_call(call=self._stub.PacketAcknowledgements, request=request) - - return response - - async def fetch_unreceived_packets( - self, port_id: str, channel_id: str, packet_commitment_sequences: Optional[List[int]] = None - ) -> Dict[str, Any]: - request = ibc_channel_query.QueryUnreceivedPacketsRequest( - port_id=port_id, - channel_id=channel_id, - packet_commitment_sequences=packet_commitment_sequences, - ) - response = await self._execute_call(call=self._stub.UnreceivedPackets, request=request) - - return response - - async def fetch_unreceived_acks( - self, port_id: str, channel_id: str, packet_ack_sequences: Optional[List[int]] = None - ) -> Dict[str, Any]: - request = ibc_channel_query.QueryUnreceivedAcksRequest( - port_id=port_id, - channel_id=channel_id, - packet_ack_sequences=packet_ack_sequences, - ) - response = await self._execute_call(call=self._stub.UnreceivedAcks, request=request) - - return response - - async def fetch_next_sequence_receive(self, port_id: str, channel_id: str) -> Dict[str, Any]: - request = ibc_channel_query.QueryNextSequenceReceiveRequest( - port_id=port_id, - channel_id=channel_id, - ) - response = await self._execute_call(call=self._stub.NextSequenceReceive, 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/core/ibc/client/grpc/__init__.py b/pyinjective/core/ibc/client/grpc/__init__.py index e69de29b..20ede57a 100644 --- a/pyinjective/core/ibc/client/grpc/__init__.py +++ b/pyinjective/core/ibc/client/grpc/__init__.py @@ -0,0 +1,96 @@ +from typing import Any, Callable, Dict, Optional + +from grpc import Channel + +from pyinjective.client.model import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.ibc.core.client.v1 import query_pb2 as ibc_client_query, query_pb2_grpc as ibc_client_query_grpc +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class IBCClientGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = ibc_client_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_client_state(self, client_id: str) -> Dict[str, Any]: + request = ibc_client_query.QueryClientStateRequest(client_id=client_id) + response = await self._execute_call(call=self._stub.ClientState, request=request) + + return response + + async def fetch_client_states(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_client_query.QueryClientStatesRequest(pagination=pagination.create_pagination_request()) + response = await self._execute_call(call=self._stub.ClientStates, request=request) + + return response + + async def fetch_consensus_state( + self, + client_id: str, + revision_number: int, + revision_height: int, + latest_height: Optional[bool] = None, + ) -> Dict[str, Any]: + request = ibc_client_query.QueryConsensusStateRequest( + client_id=client_id, + revision_number=revision_number, + revision_height=revision_height, + latest_height=latest_height, + ) + response = await self._execute_call(call=self._stub.ConsensusState, request=request) + + return response + + async def fetch_consensus_states( + self, client_id: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_client_query.QueryConsensusStatesRequest( + client_id=client_id, pagination=pagination.create_pagination_request() + ) + response = await self._execute_call(call=self._stub.ConsensusStates, request=request) + + return response + + async def fetch_consensus_state_heights( + self, client_id: str, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_client_query.QueryConsensusStateHeightsRequest( + client_id=client_id, pagination=pagination.create_pagination_request() + ) + response = await self._execute_call(call=self._stub.ConsensusStateHeights, request=request) + + return response + + async def fetch_client_status(self, client_id: str) -> Dict[str, Any]: + request = ibc_client_query.QueryClientStatusRequest(client_id=client_id) + response = await self._execute_call(call=self._stub.ClientStatus, request=request) + + return response + + async def fetch_client_params(self) -> Dict[str, Any]: + request = ibc_client_query.QueryClientParamsRequest() + response = await self._execute_call(call=self._stub.ClientParams, request=request) + + return response + + async def fetch_upgraded_client_state(self) -> Dict[str, Any]: + request = ibc_client_query.QueryUpgradedClientStateRequest() + response = await self._execute_call(call=self._stub.UpgradedClientState, request=request) + + return response + + async def fetch_upgraded_consensus_state(self) -> Dict[str, Any]: + request = ibc_client_query.QueryUpgradedConsensusStateRequest() + response = await self._execute_call(call=self._stub.UpgradedConsensusState, 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/core/ibc/client/grpc/ibc_client_grpc_api.py b/pyinjective/core/ibc/client/grpc/ibc_client_grpc_api.py deleted file mode 100644 index 084dfd89..00000000 --- a/pyinjective/core/ibc/client/grpc/ibc_client_grpc_api.py +++ /dev/null @@ -1,96 +0,0 @@ -from typing import Any, Callable, Dict, Optional - -from grpc import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.ibc.core.client.v1 import query_pb2 as ibc_client_query, query_pb2_grpc as ibc_client_query_grpc -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IBCClientGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = ibc_client_query_grpc.QueryStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_client_state(self, client_id: str) -> Dict[str, Any]: - request = ibc_client_query.QueryClientStateRequest(client_id=client_id) - response = await self._execute_call(call=self._stub.ClientState, request=request) - - return response - - async def fetch_client_states(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_client_query.QueryClientStatesRequest(pagination=pagination.create_pagination_request()) - response = await self._execute_call(call=self._stub.ClientStates, request=request) - - return response - - async def fetch_consensus_state( - self, - client_id: str, - revision_number: int, - revision_height: int, - latest_height: Optional[bool] = None, - ) -> Dict[str, Any]: - request = ibc_client_query.QueryConsensusStateRequest( - client_id=client_id, - revision_number=revision_number, - revision_height=revision_height, - latest_height=latest_height, - ) - response = await self._execute_call(call=self._stub.ConsensusState, request=request) - - return response - - async def fetch_consensus_states( - self, client_id: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_client_query.QueryConsensusStatesRequest( - client_id=client_id, pagination=pagination.create_pagination_request() - ) - response = await self._execute_call(call=self._stub.ConsensusStates, request=request) - - return response - - async def fetch_consensus_state_heights( - self, client_id: str, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_client_query.QueryConsensusStateHeightsRequest( - client_id=client_id, pagination=pagination.create_pagination_request() - ) - response = await self._execute_call(call=self._stub.ConsensusStateHeights, request=request) - - return response - - async def fetch_client_status(self, client_id: str) -> Dict[str, Any]: - request = ibc_client_query.QueryClientStatusRequest(client_id=client_id) - response = await self._execute_call(call=self._stub.ClientStatus, request=request) - - return response - - async def fetch_client_params(self) -> Dict[str, Any]: - request = ibc_client_query.QueryClientParamsRequest() - response = await self._execute_call(call=self._stub.ClientParams, request=request) - - return response - - async def fetch_upgraded_client_state(self) -> Dict[str, Any]: - request = ibc_client_query.QueryUpgradedClientStateRequest() - response = await self._execute_call(call=self._stub.UpgradedClientState, request=request) - - return response - - async def fetch_upgraded_consensus_state(self) -> Dict[str, Any]: - request = ibc_client_query.QueryUpgradedConsensusStateRequest() - response = await self._execute_call(call=self._stub.UpgradedConsensusState, 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/core/ibc/connection/grpc/__init__.py b/pyinjective/core/ibc/connection/grpc/__init__.py index e69de29b..6574f68a 100644 --- a/pyinjective/core/ibc/connection/grpc/__init__.py +++ b/pyinjective/core/ibc/connection/grpc/__init__.py @@ -0,0 +1,67 @@ +from typing import Any, Callable, Dict, Optional + +from grpc import Channel + +from pyinjective.client.model import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.ibc.core.connection.v1 import ( + query_pb2 as ibc_connection_query, + query_pb2_grpc as ibc_connection_query_grpc, +) +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class IBCConnectionGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = ibc_connection_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_connection(self, connection_id: str) -> Dict[str, Any]: + request = ibc_connection_query.QueryConnectionRequest(connection_id=connection_id) + response = await self._execute_call(call=self._stub.Connection, request=request) + + return response + + async def fetch_connections(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_connection_query.QueryConnectionsRequest(pagination=pagination.create_pagination_request()) + response = await self._execute_call(call=self._stub.Connections, request=request) + + return response + + async def fetch_client_connections(self, client_id: str) -> Dict[str, Any]: + request = ibc_connection_query.QueryClientConnectionsRequest(client_id=client_id) + response = await self._execute_call(call=self._stub.ClientConnections, request=request) + + return response + + async def fetch_connection_client_state(self, connection_id: str) -> Dict[str, Any]: + request = ibc_connection_query.QueryConnectionClientStateRequest(connection_id=connection_id) + response = await self._execute_call(call=self._stub.ConnectionClientState, request=request) + + return response + + async def fetch_connection_consensus_state( + self, + connection_id: str, + revision_number: int, + revision_height: int, + ) -> Dict[str, Any]: + request = ibc_connection_query.QueryConnectionConsensusStateRequest( + connection_id=connection_id, + revision_number=revision_number, + revision_height=revision_height, + ) + response = await self._execute_call(call=self._stub.ConnectionConsensusState, request=request) + + return response + + async def fetch_connection_params(self) -> Dict[str, Any]: + request = ibc_connection_query.QueryConnectionParamsRequest() + response = await self._execute_call(call=self._stub.ConnectionParams, 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/core/ibc/connection/grpc/ibc_connection_grpc_api.py b/pyinjective/core/ibc/connection/grpc/ibc_connection_grpc_api.py deleted file mode 100644 index ab6d852e..00000000 --- a/pyinjective/core/ibc/connection/grpc/ibc_connection_grpc_api.py +++ /dev/null @@ -1,67 +0,0 @@ -from typing import Any, Callable, Dict, Optional - -from grpc import Channel - -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.ibc.core.connection.v1 import ( - query_pb2 as ibc_connection_query, - query_pb2_grpc as ibc_connection_query_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IBCConnectionGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = ibc_connection_query_grpc.QueryStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_connection(self, connection_id: str) -> Dict[str, Any]: - request = ibc_connection_query.QueryConnectionRequest(connection_id=connection_id) - response = await self._execute_call(call=self._stub.Connection, request=request) - - return response - - async def fetch_connections(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_connection_query.QueryConnectionsRequest(pagination=pagination.create_pagination_request()) - response = await self._execute_call(call=self._stub.Connections, request=request) - - return response - - async def fetch_client_connections(self, client_id: str) -> Dict[str, Any]: - request = ibc_connection_query.QueryClientConnectionsRequest(client_id=client_id) - response = await self._execute_call(call=self._stub.ClientConnections, request=request) - - return response - - async def fetch_connection_client_state(self, connection_id: str) -> Dict[str, Any]: - request = ibc_connection_query.QueryConnectionClientStateRequest(connection_id=connection_id) - response = await self._execute_call(call=self._stub.ConnectionClientState, request=request) - - return response - - async def fetch_connection_consensus_state( - self, - connection_id: str, - revision_number: int, - revision_height: int, - ) -> Dict[str, Any]: - request = ibc_connection_query.QueryConnectionConsensusStateRequest( - connection_id=connection_id, - revision_number=revision_number, - revision_height=revision_height, - ) - response = await self._execute_call(call=self._stub.ConnectionConsensusState, request=request) - - return response - - async def fetch_connection_params(self) -> Dict[str, Any]: - request = ibc_connection_query.QueryConnectionParamsRequest() - response = await self._execute_call(call=self._stub.ConnectionParams, 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/core/ibc/transfer/grpc/__init__.py b/pyinjective/core/ibc/transfer/grpc/__init__.py index e69de29b..773bf0b0 100644 --- a/pyinjective/core/ibc/transfer/grpc/__init__.py +++ b/pyinjective/core/ibc/transfer/grpc/__init__.py @@ -0,0 +1,58 @@ +from typing import Any, Callable, Dict, Optional + +from grpc.aio import Channel + +from pyinjective.client.model import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.ibc.applications.transfer.v1 import ( + query_pb2 as ibc_transfer_query, + query_pb2_grpc as ibc_transfer_query_grpc, +) +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class IBCTransferGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = ibc_transfer_query_grpc.QueryStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_params(self) -> Dict[str, Any]: + request = ibc_transfer_query.QueryParamsRequest() + response = await self._execute_call(call=self._stub.Params, request=request) + + return response + + async def fetch_denom_trace(self, hash: str) -> Dict[str, Any]: + request = ibc_transfer_query.QueryDenomTraceRequest(hash=hash) + response = await self._execute_call(call=self._stub.DenomTrace, request=request) + + return response + + async def fetch_denom_traces(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = ibc_transfer_query.QueryDenomTracesRequest(pagination=pagination.create_pagination_request()) + response = await self._execute_call(call=self._stub.DenomTraces, request=request) + + return response + + async def fetch_denom_hash(self, trace: str) -> Dict[str, Any]: + request = ibc_transfer_query.QueryDenomHashRequest(trace=trace) + response = await self._execute_call(call=self._stub.DenomHash, request=request) + + return response + + async def fetch_escrow_address(self, port_id: str, channel_id: str) -> Dict[str, Any]: + request = ibc_transfer_query.QueryEscrowAddressRequest(port_id=port_id, channel_id=channel_id) + response = await self._execute_call(call=self._stub.EscrowAddress, request=request) + + return response + + async def fetch_total_escrow_for_denom(self, denom: str) -> Dict[str, Any]: + request = ibc_transfer_query.QueryTotalEscrowForDenomRequest(denom=denom) + response = await self._execute_call(call=self._stub.TotalEscrowForDenom, 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/core/ibc/transfer/grpc/ibc_transfer_grpc_api.py b/pyinjective/core/ibc/transfer/grpc/ibc_transfer_grpc_api.py deleted file mode 100644 index c2e5fa38..00000000 --- a/pyinjective/core/ibc/transfer/grpc/ibc_transfer_grpc_api.py +++ /dev/null @@ -1,58 +0,0 @@ -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.ibc.applications.transfer.v1 import ( - query_pb2 as ibc_transfer_query, - query_pb2_grpc as ibc_transfer_query_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class IBCTransferGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = ibc_transfer_query_grpc.QueryStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_params(self) -> Dict[str, Any]: - request = ibc_transfer_query.QueryParamsRequest() - response = await self._execute_call(call=self._stub.Params, request=request) - - return response - - async def fetch_denom_trace(self, hash: str) -> Dict[str, Any]: - request = ibc_transfer_query.QueryDenomTraceRequest(hash=hash) - response = await self._execute_call(call=self._stub.DenomTrace, request=request) - - return response - - async def fetch_denom_traces(self, pagination: Optional[PaginationOption] = None) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = ibc_transfer_query.QueryDenomTracesRequest(pagination=pagination.create_pagination_request()) - response = await self._execute_call(call=self._stub.DenomTraces, request=request) - - return response - - async def fetch_denom_hash(self, trace: str) -> Dict[str, Any]: - request = ibc_transfer_query.QueryDenomHashRequest(trace=trace) - response = await self._execute_call(call=self._stub.DenomHash, request=request) - - return response - - async def fetch_escrow_address(self, port_id: str, channel_id: str) -> Dict[str, Any]: - request = ibc_transfer_query.QueryEscrowAddressRequest(port_id=port_id, channel_id=channel_id) - response = await self._execute_call(call=self._stub.EscrowAddress, request=request) - - return response - - async def fetch_total_escrow_for_denom(self, denom: str) -> Dict[str, Any]: - request = ibc_transfer_query.QueryTotalEscrowForDenomRequest(denom=denom) - response = await self._execute_call(call=self._stub.TotalEscrowForDenom, 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/core/network.py b/pyinjective/core/network.py index 2fdf91fe..d557035e 100644 --- a/pyinjective/core/network.py +++ b/pyinjective/core/network.py @@ -11,12 +11,10 @@ class CookieAssistant(ABC): @abstractmethod - def cookie(self) -> Optional[str]: - ... + def cookie(self) -> Optional[str]: ... @abstractmethod - async def process_response_metadata(self, grpc_call: Call): - ... + async def process_response_metadata(self, grpc_call: Call): ... def metadata(self) -> Metadata: cookie = self.cookie() @@ -109,20 +107,14 @@ def __init__( lcd_endpoint: str, tm_websocket_endpoint: str, grpc_endpoint: str, - grpc_exchange_endpoint: str, - grpc_explorer_endpoint: str, chain_stream_endpoint: str, chain_id: str, fee_denom: str, env: str, chain_cookie_assistant: CookieAssistant, - 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. @@ -136,19 +128,13 @@ def __init__( self.lcd_endpoint = lcd_endpoint self.tm_websocket_endpoint = tm_websocket_endpoint self.grpc_endpoint = grpc_endpoint - self.grpc_exchange_endpoint = grpc_exchange_endpoint - self.grpc_explorer_endpoint = grpc_explorer_endpoint self.chain_stream_endpoint = chain_stream_endpoint self.chain_id = chain_id self.fee_denom = fee_denom self.env = env self.chain_cookie_assistant = chain_cookie_assistant - self.exchange_cookie_assistant = exchange_cookie_assistant - self.explorer_cookie_assistant = explorer_cookie_assistant self.official_tokens_list_url = official_tokens_list_url self.grpc_channel_credentials = grpc_channel_credentials - self.grpc_exchange_channel_credentials = grpc_exchange_channel_credentials - self.grpc_explorer_channel_credentials = grpc_explorer_channel_credentials self.chain_stream_channel_credentials = chain_stream_channel_credentials @classmethod @@ -157,15 +143,11 @@ def devnet(cls): lcd_endpoint="https://devnet.lcd.injective.dev", tm_websocket_endpoint="wss://devnet.tm.injective.dev/websocket", grpc_endpoint="devnet.injective.dev:9900", - grpc_exchange_endpoint="devnet.injective.dev:9910", - grpc_explorer_endpoint="devnet.injective.dev:9911", chain_stream_endpoint="devnet.injective.dev:9999", chain_id="injective-777", fee_denom="inj", env="devnet", 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", ) @@ -179,47 +161,31 @@ def testnet(cls, node="lb"): raise ValueError("Must be one of {}".format(nodes)) grpc_channel_credentials = grpc.ssl_channel_credentials() - grpc_exchange_channel_credentials = grpc.ssl_channel_credentials() - grpc_explorer_channel_credentials = grpc.ssl_channel_credentials() chain_stream_channel_credentials = grpc.ssl_channel_credentials() if node == "lb": lcd_endpoint = "https://testnet.sentry.lcd.injective.network:443" tm_websocket_endpoint = "wss://testnet.sentry.tm.injective.network:443/websocket" grpc_endpoint = "testnet.sentry.chain.grpc.injective.network:443" - grpc_exchange_endpoint = "testnet.sentry.exchange.grpc.injective.network:443" - grpc_explorer_endpoint = "testnet.sentry.explorer.grpc.injective.network:443" chain_stream_endpoint = "testnet.sentry.chain.stream.injective.network:443" chain_cookie_assistant = BareMetalLoadBalancedCookieAssistant() - exchange_cookie_assistant = BareMetalLoadBalancedCookieAssistant() - explorer_cookie_assistant = BareMetalLoadBalancedCookieAssistant() else: lcd_endpoint = "https://testnet.lcd.injective.network:443" tm_websocket_endpoint = "wss://testnet.tm.injective.network:443/websocket" grpc_endpoint = "testnet.chain.grpc.injective.network:443" - grpc_exchange_endpoint = "testnet.exchange.grpc.injective.network:443" - grpc_explorer_endpoint = "testnet.explorer.grpc.injective.network:443" chain_stream_endpoint = "testnet.chain.stream.injective.network:443" chain_cookie_assistant = DisabledCookieAssistant() - exchange_cookie_assistant = DisabledCookieAssistant() - explorer_cookie_assistant = DisabledCookieAssistant() return cls( 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="injective-888", fee_denom="inj", env="testnet", chain_cookie_assistant=chain_cookie_assistant, - exchange_cookie_assistant=exchange_cookie_assistant, - explorer_cookie_assistant=explorer_cookie_assistant, grpc_channel_credentials=grpc_channel_credentials, - 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", ) @@ -235,33 +201,21 @@ def mainnet(cls, node="lb"): lcd_endpoint = "https://sentry.lcd.injective.network:443" tm_websocket_endpoint = "wss://sentry.tm.injective.network:443/websocket" grpc_endpoint = "sentry.chain.grpc.injective.network:443" - grpc_exchange_endpoint = "sentry.exchange.grpc.injective.network:443" - grpc_explorer_endpoint = "sentry.explorer.grpc.injective.network:443" chain_stream_endpoint = "sentry.chain.stream.injective.network:443" chain_cookie_assistant = BareMetalLoadBalancedCookieAssistant() - exchange_cookie_assistant = BareMetalLoadBalancedCookieAssistant() - explorer_cookie_assistant = BareMetalLoadBalancedCookieAssistant() grpc_channel_credentials = grpc.ssl_channel_credentials() - grpc_exchange_channel_credentials = grpc.ssl_channel_credentials() - grpc_explorer_channel_credentials = grpc.ssl_channel_credentials() chain_stream_channel_credentials = grpc.ssl_channel_credentials() return cls( 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="injective-1", fee_denom="inj", env="mainnet", chain_cookie_assistant=chain_cookie_assistant, - exchange_cookie_assistant=exchange_cookie_assistant, - explorer_cookie_assistant=explorer_cookie_assistant, grpc_channel_credentials=grpc_channel_credentials, - 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", ) @@ -273,14 +227,11 @@ def local(cls): tm_websocket_endpoint="ws://localhost:26657/websocket", grpc_endpoint="localhost:9900", grpc_exchange_endpoint="localhost:9910", - grpc_explorer_endpoint="localhost:9911", chain_stream_endpoint="localhost:9999", chain_id="injective-1", fee_denom="inj", env="local", 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", ) @@ -290,19 +241,13 @@ def custom( lcd_endpoint, tm_websocket_endpoint, grpc_endpoint, - grpc_exchange_endpoint, - grpc_explorer_endpoint, chain_stream_endpoint, chain_id, env, official_tokens_list_url: str, 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. @@ -314,25 +259,17 @@ def custom( ) chain_assistant = chain_cookie_assistant or DisabledCookieAssistant() - exchange_assistant = exchange_cookie_assistant or DisabledCookieAssistant() - explorer_assistant = explorer_cookie_assistant or DisabledCookieAssistant() return cls( 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="inj", env=env, chain_cookie_assistant=chain_assistant, - exchange_cookie_assistant=exchange_assistant, - explorer_cookie_assistant=explorer_assistant, official_tokens_list_url=official_tokens_list_url, grpc_channel_credentials=grpc_channel_credentials, - grpc_exchange_channel_credentials=grpc_exchange_channel_credentials, - grpc_explorer_channel_credentials=grpc_explorer_channel_credentials, chain_stream_channel_credentials=chain_stream_channel_credentials, ) @@ -351,18 +288,12 @@ def custom_chain_and_public_indexer_mainnet( lcd_endpoint=lcd_endpoint, tm_websocket_endpoint=tm_websocket_endpoint, grpc_endpoint=grpc_endpoint, - grpc_exchange_endpoint=mainnet_network.grpc_exchange_endpoint, - grpc_explorer_endpoint=mainnet_network.grpc_explorer_endpoint, chain_stream_endpoint=chain_stream_endpoint, chain_id="injective-1", env="mainnet", chain_cookie_assistant=chain_cookie_assistant or DisabledCookieAssistant(), - exchange_cookie_assistant=mainnet_network.exchange_cookie_assistant, - explorer_cookie_assistant=mainnet_network.explorer_cookie_assistant, official_tokens_list_url=mainnet_network.official_tokens_list_url, grpc_channel_credentials=None, - grpc_exchange_channel_credentials=mainnet_network.grpc_exchange_channel_credentials, - grpc_explorer_channel_credentials=mainnet_network.grpc_explorer_channel_credentials, chain_stream_channel_credentials=None, ) @@ -372,12 +303,6 @@ def string(self): def create_chain_grpc_channel(self) -> grpc.Channel: return self._create_grpc_channel(self.grpc_endpoint, self.grpc_channel_credentials) - def create_exchange_grpc_channel(self) -> grpc.Channel: - return self._create_grpc_channel(self.grpc_exchange_endpoint, self.grpc_exchange_channel_credentials) - - def create_explorer_grpc_channel(self) -> grpc.Channel: - return self._create_grpc_channel(self.grpc_explorer_endpoint, self.grpc_explorer_channel_credentials) - def create_chain_stream_grpc_channel(self) -> grpc.Channel: return self._create_grpc_channel(self.chain_stream_endpoint, self.chain_stream_channel_credentials) diff --git a/pyinjective/core/tendermint/grpc/__init__.py b/pyinjective/core/tendermint/grpc/__init__.py index e69de29b..53d32a7e 100644 --- a/pyinjective/core/tendermint/grpc/__init__.py +++ b/pyinjective/core/tendermint/grpc/__init__.py @@ -0,0 +1,70 @@ +from typing import Any, Callable, Dict, Optional + +from grpc.aio import Channel + +from pyinjective.client.model import PaginationOption +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.cosmos.base.tendermint.v1beta1 import ( + query_pb2 as tendermint_query, + query_pb2_grpc as tendermint_query_grpc, +) +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class TendermintGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = tendermint_query_grpc.ServiceStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def fetch_node_info(self) -> Dict[str, Any]: + request = tendermint_query.GetNodeInfoRequest() + response = await self._execute_call(call=self._stub.GetNodeInfo, request=request) + + return response + + async def fetch_syncing(self) -> Dict[str, Any]: + request = tendermint_query.GetSyncingRequest() + response = await self._execute_call(call=self._stub.GetSyncing, request=request) + + return response + + async def fetch_latest_block(self) -> Dict[str, Any]: + request = tendermint_query.GetLatestBlockRequest() + response = await self._execute_call(call=self._stub.GetLatestBlock, request=request) + + return response + + async def fetch_block_by_height(self, height: int) -> Dict[str, Any]: + request = tendermint_query.GetBlockByHeightRequest(height=height) + response = await self._execute_call(call=self._stub.GetBlockByHeight, request=request) + + return response + + async def fetch_latest_validator_set(self) -> Dict[str, Any]: + request = tendermint_query.GetLatestValidatorSetRequest() + response = await self._execute_call(call=self._stub.GetLatestValidatorSet, request=request) + + return response + + async def fetch_validator_set_by_height( + self, height: int, pagination: Optional[PaginationOption] = None + ) -> Dict[str, Any]: + if pagination is None: + pagination = PaginationOption() + request = tendermint_query.GetValidatorSetByHeightRequest( + height=height, pagination=pagination.create_pagination_request() + ) + response = await self._execute_call(call=self._stub.GetValidatorSetByHeight, request=request) + + return response + + async def abci_query( + self, path: str, data: Optional[bytes] = None, height: Optional[int] = None, prove: bool = False + ) -> Dict[str, Any]: + request = tendermint_query.ABCIQueryRequest(path=path, data=data, height=height, prove=prove) + response = await self._execute_call(call=self._stub.ABCIQuery, 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/core/tendermint/grpc/tendermint_grpc_api.py b/pyinjective/core/tendermint/grpc/tendermint_grpc_api.py deleted file mode 100644 index 352f98c4..00000000 --- a/pyinjective/core/tendermint/grpc/tendermint_grpc_api.py +++ /dev/null @@ -1,70 +0,0 @@ -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.cosmos.base.tendermint.v1beta1 import ( - query_pb2 as tendermint_query, - query_pb2_grpc as tendermint_query_grpc, -) -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class TendermintGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = tendermint_query_grpc.ServiceStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def fetch_node_info(self) -> Dict[str, Any]: - request = tendermint_query.GetNodeInfoRequest() - response = await self._execute_call(call=self._stub.GetNodeInfo, request=request) - - return response - - async def fetch_syncing(self) -> Dict[str, Any]: - request = tendermint_query.GetSyncingRequest() - response = await self._execute_call(call=self._stub.GetSyncing, request=request) - - return response - - async def fetch_latest_block(self) -> Dict[str, Any]: - request = tendermint_query.GetLatestBlockRequest() - response = await self._execute_call(call=self._stub.GetLatestBlock, request=request) - - return response - - async def fetch_block_by_height(self, height: int) -> Dict[str, Any]: - request = tendermint_query.GetBlockByHeightRequest(height=height) - response = await self._execute_call(call=self._stub.GetBlockByHeight, request=request) - - return response - - async def fetch_latest_validator_set(self) -> Dict[str, Any]: - request = tendermint_query.GetLatestValidatorSetRequest() - response = await self._execute_call(call=self._stub.GetLatestValidatorSet, request=request) - - return response - - async def fetch_validator_set_by_height( - self, height: int, pagination: Optional[PaginationOption] = None - ) -> Dict[str, Any]: - if pagination is None: - pagination = PaginationOption() - request = tendermint_query.GetValidatorSetByHeightRequest( - height=height, pagination=pagination.create_pagination_request() - ) - response = await self._execute_call(call=self._stub.GetValidatorSetByHeight, request=request) - - return response - - async def abci_query( - self, path: str, data: Optional[bytes] = None, height: Optional[int] = None, prove: bool = False - ) -> Dict[str, Any]: - request = tendermint_query.ABCIQueryRequest(path=path, data=data, height=height, prove=prove) - response = await self._execute_call(call=self._stub.ABCIQuery, 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/core/tx/grpc/__init__.py b/pyinjective/core/tx/grpc/__init__.py index e69de29b..28cd7feb 100644 --- a/pyinjective/core/tx/grpc/__init__.py +++ b/pyinjective/core/tx/grpc/__init__.py @@ -0,0 +1,34 @@ +from typing import Any, Callable, Dict + +from grpc.aio import Channel + +from pyinjective.core.network import CookieAssistant +from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service, service_pb2_grpc as tx_service_grpc +from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant + + +class TxGrpcApi: + def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): + self._stub = tx_service_grpc.ServiceStub(channel) + self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) + + async def simulate(self, tx_bytes: bytes) -> Dict[str, Any]: + request = tx_service.SimulateRequest(tx_bytes=tx_bytes) + response = await self._execute_call(call=self._stub.Simulate, request=request) + + return response + + async def fetch_tx(self, hash: str) -> Dict[str, Any]: + request = tx_service.GetTxRequest(hash=hash) + response = await self._execute_call(call=self._stub.GetTx, request=request) + + return response + + async def broadcast(self, tx_bytes: bytes, mode: int = tx_service.BROADCAST_MODE_ASYNC) -> Dict[str, Any]: + request = tx_service.BroadcastTxRequest(tx_bytes=tx_bytes, mode=mode) + response = await self._execute_call(call=self._stub.BroadcastTx, 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/core/tx/grpc/tx_grpc_api.py b/pyinjective/core/tx/grpc/tx_grpc_api.py deleted file mode 100644 index 28cd7feb..00000000 --- a/pyinjective/core/tx/grpc/tx_grpc_api.py +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Any, Callable, Dict - -from grpc.aio import Channel - -from pyinjective.core.network import CookieAssistant -from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service, service_pb2_grpc as tx_service_grpc -from pyinjective.utils.grpc_api_request_assistant import GrpcApiRequestAssistant - - -class TxGrpcApi: - def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = tx_service_grpc.ServiceStub(channel) - self._assistant = GrpcApiRequestAssistant(cookie_assistant=cookie_assistant) - - async def simulate(self, tx_bytes: bytes) -> Dict[str, Any]: - request = tx_service.SimulateRequest(tx_bytes=tx_bytes) - response = await self._execute_call(call=self._stub.Simulate, request=request) - - return response - - async def fetch_tx(self, hash: str) -> Dict[str, Any]: - request = tx_service.GetTxRequest(hash=hash) - response = await self._execute_call(call=self._stub.GetTx, request=request) - - return response - - async def broadcast(self, tx_bytes: bytes, mode: int = tx_service.BROADCAST_MODE_ASYNC) -> Dict[str, Any]: - request = tx_service.BroadcastTxRequest(tx_bytes=tx_bytes, mode=mode) - response = await self._execute_call(call=self._stub.BroadcastTx, 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/proto/exchange/event_provider_api_pb2.py b/pyinjective/proto/exchange/event_provider_api_pb2.py deleted file mode 100644 index 5e0afd0b..00000000 --- a/pyinjective/proto/exchange/event_provider_api_pb2.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/event_provider_api.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/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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.event_provider_api_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.event_provider_apiB\025EventProviderApiProtoP\001Z\025/event_provider_apipb\242\002\003EXX\252\002\020EventProviderApi\312\002\020EventProviderApi\342\002\034EventProviderApi\\GPBMetadata\352\002\020EventProviderApi' - _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._loaded_options = None - _globals['_BLOCKEVENTSRPC_TXHASHESENTRY']._serialized_options = b'8\001' - _globals['_GETLATESTHEIGHTREQUEST']._serialized_start=57 - _globals['_GETLATESTHEIGHTREQUEST']._serialized_end=81 - _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 -# @@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 deleted file mode 100644 index 7a17ca12..00000000 --- a/pyinjective/proto/exchange/event_provider_api_pb2_grpc.py +++ /dev/null @@ -1,257 +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.exchange import event_provider_api_pb2 as exchange_dot_event__provider__api__pb2 - - -class EventProviderAPIStub(object): - """EventProviderAPI provides processed block events for different backends. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GetLatestHeight = channel.unary_unary( - '/event_provider_api.EventProviderAPI/GetLatestHeight', - request_serializer=exchange_dot_event__provider__api__pb2.GetLatestHeightRequest.SerializeToString, - response_deserializer=exchange_dot_event__provider__api__pb2.GetLatestHeightResponse.FromString, - _registered_method=True) - self.StreamBlockEvents = channel.unary_stream( - '/event_provider_api.EventProviderAPI/StreamBlockEvents', - request_serializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsRequest.SerializeToString, - response_deserializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsResponse.FromString, - _registered_method=True) - self.GetBlockEventsRPC = channel.unary_unary( - '/event_provider_api.EventProviderAPI/GetBlockEventsRPC', - request_serializer=exchange_dot_event__provider__api__pb2.GetBlockEventsRPCRequest.SerializeToString, - response_deserializer=exchange_dot_event__provider__api__pb2.GetBlockEventsRPCResponse.FromString, - _registered_method=True) - self.GetCustomEventsRPC = channel.unary_unary( - '/event_provider_api.EventProviderAPI/GetCustomEventsRPC', - request_serializer=exchange_dot_event__provider__api__pb2.GetCustomEventsRPCRequest.SerializeToString, - response_deserializer=exchange_dot_event__provider__api__pb2.GetCustomEventsRPCResponse.FromString, - _registered_method=True) - self.GetABCIBlockEvents = channel.unary_unary( - '/event_provider_api.EventProviderAPI/GetABCIBlockEvents', - request_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsRequest.SerializeToString, - response_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsResponse.FromString, - _registered_method=True) - - -class EventProviderAPIServicer(object): - """EventProviderAPI provides processed block events for different backends. - """ - - def GetLatestHeight(self, request, context): - """Get latest block from event provider - """ - 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 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetBlockEventsRPC(self, request, context): - """Get processed block events for selected backend - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetCustomEventsRPC(self, request, context): - """Get custom processed block events for selected backend - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetABCIBlockEvents(self, request, context): - """Get 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 = { - 'GetLatestHeight': grpc.unary_unary_rpc_method_handler( - servicer.GetLatestHeight, - request_deserializer=exchange_dot_event__provider__api__pb2.GetLatestHeightRequest.FromString, - response_serializer=exchange_dot_event__provider__api__pb2.GetLatestHeightResponse.SerializeToString, - ), - 'StreamBlockEvents': grpc.unary_stream_rpc_method_handler( - servicer.StreamBlockEvents, - request_deserializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsRequest.FromString, - response_serializer=exchange_dot_event__provider__api__pb2.StreamBlockEventsResponse.SerializeToString, - ), - 'GetBlockEventsRPC': grpc.unary_unary_rpc_method_handler( - servicer.GetBlockEventsRPC, - request_deserializer=exchange_dot_event__provider__api__pb2.GetBlockEventsRPCRequest.FromString, - response_serializer=exchange_dot_event__provider__api__pb2.GetBlockEventsRPCResponse.SerializeToString, - ), - 'GetCustomEventsRPC': grpc.unary_unary_rpc_method_handler( - servicer.GetCustomEventsRPC, - request_deserializer=exchange_dot_event__provider__api__pb2.GetCustomEventsRPCRequest.FromString, - response_serializer=exchange_dot_event__provider__api__pb2.GetCustomEventsRPCResponse.SerializeToString, - ), - 'GetABCIBlockEvents': grpc.unary_unary_rpc_method_handler( - servicer.GetABCIBlockEvents, - request_deserializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsRequest.FromString, - response_serializer=exchange_dot_event__provider__api__pb2.GetABCIBlockEventsResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'event_provider_api.EventProviderAPI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('event_provider_api.EventProviderAPI', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class EventProviderAPI(object): - """EventProviderAPI provides processed block events for different backends. - """ - - @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_unary( - request, - target, - '/event_provider_api.EventProviderAPI/GetLatestHeight', - exchange_dot_event__provider__api__pb2.GetLatestHeightRequest.SerializeToString, - exchange_dot_event__provider__api__pb2.GetLatestHeightResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamBlockEvents(request, - 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/StreamBlockEvents', - exchange_dot_event__provider__api__pb2.StreamBlockEventsRequest.SerializeToString, - exchange_dot_event__provider__api__pb2.StreamBlockEventsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetBlockEventsRPC(request, - target, - options=(), - channel_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/GetBlockEventsRPC', - exchange_dot_event__provider__api__pb2.GetBlockEventsRPCRequest.SerializeToString, - exchange_dot_event__provider__api__pb2.GetBlockEventsRPCResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetCustomEventsRPC(request, - target, - options=(), - channel_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/GetCustomEventsRPC', - exchange_dot_event__provider__api__pb2.GetCustomEventsRPCRequest.SerializeToString, - exchange_dot_event__provider__api__pb2.GetCustomEventsRPCResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetABCIBlockEvents(request, - target, - options=(), - channel_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/GetABCIBlockEvents', - exchange_dot_event__provider__api__pb2.GetABCIBlockEventsRequest.SerializeToString, - exchange_dot_event__provider__api__pb2.GetABCIBlockEventsResponse.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 deleted file mode 100644 index 3f98a12d..00000000 --- a/pyinjective/proto/exchange/health_pb2.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/health.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\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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.health_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\ncom.api.v1B\013HealthProtoP\001Z\t/api.v1pb\242\002\003AXX\252\002\006Api.V1\312\002\006Api\\V1\342\002\022Api\\V1\\GPBMetadata\352\002\007Api::V1' - _globals['_GETSTATUSREQUEST']._serialized_start=33 - _globals['_GETSTATUSREQUEST']._serialized_end=51 - _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 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/health_pb2_grpc.py b/pyinjective/proto/exchange/health_pb2_grpc.py deleted file mode 100644 index f83f04db..00000000 --- a/pyinjective/proto/exchange/health_pb2_grpc.py +++ /dev/null @@ -1,81 +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.exchange import health_pb2 as exchange_dot_health__pb2 - - -class HealthStub(object): - """HealthAPI allows to check if backend data is up-to-date and reliable or not. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GetStatus = channel.unary_unary( - '/api.v1.Health/GetStatus', - request_serializer=exchange_dot_health__pb2.GetStatusRequest.SerializeToString, - response_deserializer=exchange_dot_health__pb2.GetStatusResponse.FromString, - _registered_method=True) - - -class HealthServicer(object): - """HealthAPI allows to check if backend data is up-to-date and reliable or not. - """ - - def GetStatus(self, request, context): - """Get current backend health status - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_HealthServicer_to_server(servicer, server): - rpc_method_handlers = { - 'GetStatus': grpc.unary_unary_rpc_method_handler( - servicer.GetStatus, - request_deserializer=exchange_dot_health__pb2.GetStatusRequest.FromString, - response_serializer=exchange_dot_health__pb2.GetStatusResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'api.v1.Health', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('api.v1.Health', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class Health(object): - """HealthAPI allows to check if backend data is up-to-date and reliable or not. - """ - - @staticmethod - def GetStatus(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary( - request, - target, - '/api.v1.Health/GetStatus', - exchange_dot_health__pb2.GetStatusRequest.SerializeToString, - exchange_dot_health__pb2.GetStatusResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py b/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py deleted file mode 100644 index c393e7af..00000000 --- a/pyinjective/proto/exchange/injective_accounts_rpc_pb2.py +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_accounts_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_accounts_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_accounts_rpcB\031InjectiveAccountsRpcProtoP\001Z\031/injective_accounts_rpcpb\242\002\003IXX\252\002\024InjectiveAccountsRpc\312\002\024InjectiveAccountsRpc\342\002 InjectiveAccountsRpc\\GPBMetadata\352\002\024InjectiveAccountsRpc' - _globals['_PORTFOLIOREQUEST']._serialized_start=65 - _globals['_PORTFOLIOREQUEST']._serialized_end=124 - _globals['_PORTFOLIORESPONSE']._serialized_start=126 - _globals['_PORTFOLIORESPONSE']._serialized_end=217 - _globals['_ACCOUNTPORTFOLIO']._serialized_start=220 - _globals['_ACCOUNTPORTFOLIO']._serialized_end=481 - _globals['_SUBACCOUNTPORTFOLIO']._serialized_start=484 - _globals['_SUBACCOUNTPORTFOLIO']._serialized_end=665 - _globals['_ORDERSTATESREQUEST']._serialized_start=667 - _globals['_ORDERSTATESREQUEST']._serialized_end=787 - _globals['_ORDERSTATESRESPONSE']._serialized_start=790 - _globals['_ORDERSTATESRESPONSE']._serialized_end=995 - _globals['_ORDERSTATERECORD']._serialized_start=998 - _globals['_ORDERSTATERECORD']._serialized_end=1393 - _globals['_SUBACCOUNTSLISTREQUEST']._serialized_start=1395 - _globals['_SUBACCOUNTSLISTREQUEST']._serialized_end=1460 - _globals['_SUBACCOUNTSLISTRESPONSE']._serialized_start=1462 - _globals['_SUBACCOUNTSLISTRESPONSE']._serialized_end=1521 - _globals['_SUBACCOUNTBALANCESLISTREQUEST']._serialized_start=1523 - _globals['_SUBACCOUNTBALANCESLISTREQUEST']._serialized_end=1615 - _globals['_SUBACCOUNTBALANCESLISTRESPONSE']._serialized_start=1617 - _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 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_accounts_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_accounts_rpc_pb2_grpc.py deleted file mode 100644 index 7289d020..00000000 --- a/pyinjective/proto/exchange/injective_accounts_rpc_pb2_grpc.py +++ /dev/null @@ -1,479 +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.exchange import injective_accounts_rpc_pb2 as exchange_dot_injective__accounts__rpc__pb2 - - -class InjectiveAccountsRPCStub(object): - """InjectiveAccountsRPC defines API of Exchange Accounts provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Portfolio = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.PortfolioRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.PortfolioResponse.FromString, - _registered_method=True) - self.OrderStates = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.OrderStatesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.OrderStatesResponse.FromString, - _registered_method=True) - self.SubaccountsList = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountsListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountsListResponse.FromString, - _registered_method=True) - self.SubaccountBalancesList = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListResponse.FromString, - _registered_method=True) - self.SubaccountBalanceEndpoint = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointResponse.FromString, - _registered_method=True) - self.StreamSubaccountBalance = channel.unary_stream( - '/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceResponse.FromString, - _registered_method=True) - self.SubaccountHistory = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryResponse.FromString, - _registered_method=True) - self.SubaccountOrderSummary = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryResponse.FromString, - _registered_method=True) - self.Rewards = channel.unary_unary( - '/injective_accounts_rpc.InjectiveAccountsRPC/Rewards', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.RewardsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.RewardsResponse.FromString, - _registered_method=True) - self.StreamAccountData = channel.unary_stream( - '/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData', - request_serializer=exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataRequest.SerializeToString, - response_deserializer=exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataResponse.FromString, - _registered_method=True) - - -class InjectiveAccountsRPCServicer(object): - """InjectiveAccountsRPC defines API of Exchange Accounts provider. - """ - - def Portfolio(self, request, context): - """Provide the account's portfolio value in USD. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrderStates(self, request, context): - """List order states by order hashes - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountsList(self, request, context): - """List all subaccounts IDs of an account address - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountBalancesList(self, request, context): - """List subaccount balances for the provided denoms. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountBalanceEndpoint(self, request, context): - """Gets a balance for specific coin denom - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamSubaccountBalance(self, request, context): - """StreamSubaccountBalance streams new balance changes for a specified - subaccount and denoms. If no denoms are provided, all denom changes are - streamed. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountHistory(self, request, context): - """Get subaccount's deposits and withdrawals history - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountOrderSummary(self, request, context): - """Get subaccount's orders summary - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Rewards(self, request, context): - """Provide historical trading rewards - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamAccountData(self, request, context): - """Stream live data for an account and respective data - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveAccountsRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Portfolio': grpc.unary_unary_rpc_method_handler( - servicer.Portfolio, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.PortfolioRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.PortfolioResponse.SerializeToString, - ), - 'OrderStates': grpc.unary_unary_rpc_method_handler( - servicer.OrderStates, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.OrderStatesRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.OrderStatesResponse.SerializeToString, - ), - 'SubaccountsList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountsList, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountsListRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountsListResponse.SerializeToString, - ), - 'SubaccountBalancesList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountBalancesList, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListResponse.SerializeToString, - ), - 'SubaccountBalanceEndpoint': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountBalanceEndpoint, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointResponse.SerializeToString, - ), - 'StreamSubaccountBalance': grpc.unary_stream_rpc_method_handler( - servicer.StreamSubaccountBalance, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceResponse.SerializeToString, - ), - 'SubaccountHistory': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountHistory, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryResponse.SerializeToString, - ), - 'SubaccountOrderSummary': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountOrderSummary, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryResponse.SerializeToString, - ), - 'Rewards': grpc.unary_unary_rpc_method_handler( - servicer.Rewards, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.RewardsRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.RewardsResponse.SerializeToString, - ), - 'StreamAccountData': grpc.unary_stream_rpc_method_handler( - servicer.StreamAccountData, - request_deserializer=exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataRequest.FromString, - response_serializer=exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_accounts_rpc.InjectiveAccountsRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_accounts_rpc.InjectiveAccountsRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveAccountsRPC(object): - """InjectiveAccountsRPC defines API of Exchange Accounts provider. - """ - - @staticmethod - def Portfolio(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/Portfolio', - exchange_dot_injective__accounts__rpc__pb2.PortfolioRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.PortfolioResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def OrderStates(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/OrderStates', - exchange_dot_injective__accounts__rpc__pb2.OrderStatesRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.OrderStatesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountsList(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/SubaccountsList', - exchange_dot_injective__accounts__rpc__pb2.SubaccountsListRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.SubaccountsListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountBalancesList(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList', - exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.SubaccountBalancesListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountBalanceEndpoint(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint', - exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.SubaccountBalanceEndpointResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamSubaccountBalance(request, - 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_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance', - exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.StreamSubaccountBalanceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountHistory(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory', - exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.SubaccountHistoryResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountOrderSummary(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary', - exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.SubaccountOrderSummaryResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Rewards(request, - target, - options=(), - channel_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_accounts_rpc.InjectiveAccountsRPC/Rewards', - exchange_dot_injective__accounts__rpc__pb2.RewardsRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.RewardsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamAccountData(request, - 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_accounts_rpc.InjectiveAccountsRPC/StreamAccountData', - exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataRequest.SerializeToString, - exchange_dot_injective__accounts__rpc__pb2.StreamAccountDataResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py b/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py deleted file mode 100644 index 73c52b43..00000000 --- a/pyinjective/proto/exchange/injective_archiver_rpc_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_archiver_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_archiver_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_archiver_rpcB\031InjectiveArchiverRpcProtoP\001Z\031/injective_archiver_rpcpb\242\002\003IXX\252\002\024InjectiveArchiverRpc\312\002\024InjectiveArchiverRpc\342\002 InjectiveArchiverRpc\\GPBMetadata\352\002\024InjectiveArchiverRpc' - _globals['_BALANCEREQUEST']._serialized_start=65 - _globals['_BALANCEREQUEST']._serialized_end=139 - _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 -# @@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 deleted file mode 100644 index 5e23e919..00000000 --- a/pyinjective/proto/exchange/injective_archiver_rpc_pb2_grpc.py +++ /dev/null @@ -1,169 +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.exchange import injective_archiver_rpc_pb2 as exchange_dot_injective__archiver__rpc__pb2 - - -class InjectiveArchiverRPCStub(object): - """InjectiveArchiverRPC defines gRPC API of Archiver provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Balance = channel.unary_unary( - '/injective_archiver_rpc.InjectiveArchiverRPC/Balance', - request_serializer=exchange_dot_injective__archiver__rpc__pb2.BalanceRequest.SerializeToString, - response_deserializer=exchange_dot_injective__archiver__rpc__pb2.BalanceResponse.FromString, - _registered_method=True) - self.Rpnl = channel.unary_unary( - '/injective_archiver_rpc.InjectiveArchiverRPC/Rpnl', - request_serializer=exchange_dot_injective__archiver__rpc__pb2.RpnlRequest.SerializeToString, - response_deserializer=exchange_dot_injective__archiver__rpc__pb2.RpnlResponse.FromString, - _registered_method=True) - self.Volumes = channel.unary_unary( - '/injective_archiver_rpc.InjectiveArchiverRPC/Volumes', - request_serializer=exchange_dot_injective__archiver__rpc__pb2.VolumesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolumesResponse.FromString, - _registered_method=True) - - -class InjectiveArchiverRPCServicer(object): - """InjectiveArchiverRPC defines gRPC API of Archiver provider. - """ - - def Balance(self, request, context): - """Provide historical balance data 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. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Volumes(self, request, context): - """Provide historical volumes 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 = { - 'Balance': grpc.unary_unary_rpc_method_handler( - servicer.Balance, - request_deserializer=exchange_dot_injective__archiver__rpc__pb2.BalanceRequest.FromString, - response_serializer=exchange_dot_injective__archiver__rpc__pb2.BalanceResponse.SerializeToString, - ), - 'Rpnl': grpc.unary_unary_rpc_method_handler( - servicer.Rpnl, - request_deserializer=exchange_dot_injective__archiver__rpc__pb2.RpnlRequest.FromString, - response_serializer=exchange_dot_injective__archiver__rpc__pb2.RpnlResponse.SerializeToString, - ), - 'Volumes': grpc.unary_unary_rpc_method_handler( - servicer.Volumes, - request_deserializer=exchange_dot_injective__archiver__rpc__pb2.VolumesRequest.FromString, - response_serializer=exchange_dot_injective__archiver__rpc__pb2.VolumesResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_archiver_rpc.InjectiveArchiverRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_archiver_rpc.InjectiveArchiverRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveArchiverRPC(object): - """InjectiveArchiverRPC defines gRPC API of Archiver provider. - """ - - @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_archiver_rpc.InjectiveArchiverRPC/Balance', - exchange_dot_injective__archiver__rpc__pb2.BalanceRequest.SerializeToString, - exchange_dot_injective__archiver__rpc__pb2.BalanceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Rpnl(request, - target, - options=(), - channel_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/Rpnl', - exchange_dot_injective__archiver__rpc__pb2.RpnlRequest.SerializeToString, - exchange_dot_injective__archiver__rpc__pb2.RpnlResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Volumes(request, - target, - options=(), - channel_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/Volumes', - exchange_dot_injective__archiver__rpc__pb2.VolumesRequest.SerializeToString, - exchange_dot_injective__archiver__rpc__pb2.VolumesResponse.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 deleted file mode 100644 index 0ec3dabb..00000000 --- a/pyinjective/proto/exchange/injective_auction_rpc_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_auction_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_auction_rpc_pb2', _globals) -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['_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 -# @@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 deleted file mode 100644 index d2492e84..00000000 --- a/pyinjective/proto/exchange/injective_auction_rpc_pb2_grpc.py +++ /dev/null @@ -1,169 +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.exchange import injective_auction_rpc_pb2 as exchange_dot_injective__auction__rpc__pb2 - - -class InjectiveAuctionRPCStub(object): - """InjectiveAuctionRPC defines gRPC API of the Auction API. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.AuctionEndpoint = channel.unary_unary( - '/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint', - request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionEndpointRequest.SerializeToString, - response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionEndpointResponse.FromString, - _registered_method=True) - self.Auctions = channel.unary_unary( - '/injective_auction_rpc.InjectiveAuctionRPC/Auctions', - request_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsResponse.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) - - -class InjectiveAuctionRPCServicer(object): - """InjectiveAuctionRPC defines gRPC API of the Auction API. - """ - - def AuctionEndpoint(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 Auctions(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 StreamBids(self, request, context): - """StreamBids streams new bids of an auction. - """ - 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 = { - 'AuctionEndpoint': grpc.unary_unary_rpc_method_handler( - servicer.AuctionEndpoint, - request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionEndpointRequest.FromString, - response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionEndpointResponse.SerializeToString, - ), - 'Auctions': grpc.unary_unary_rpc_method_handler( - servicer.Auctions, - request_deserializer=exchange_dot_injective__auction__rpc__pb2.AuctionsRequest.FromString, - response_serializer=exchange_dot_injective__auction__rpc__pb2.AuctionsResponse.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, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_auction_rpc.InjectiveAuctionRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_auction_rpc.InjectiveAuctionRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveAuctionRPC(object): - """InjectiveAuctionRPC defines gRPC API of the Auction API. - """ - - @staticmethod - def AuctionEndpoint(request, - target, - options=(), - channel_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/AuctionEndpoint', - exchange_dot_injective__auction__rpc__pb2.AuctionEndpointRequest.SerializeToString, - exchange_dot_injective__auction__rpc__pb2.AuctionEndpointResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Auctions(request, - target, - options=(), - channel_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/Auctions', - exchange_dot_injective__auction__rpc__pb2.AuctionsRequest.SerializeToString, - exchange_dot_injective__auction__rpc__pb2.AuctionsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamBids(request, - 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_auction_rpc.InjectiveAuctionRPC/StreamBids', - exchange_dot_injective__auction__rpc__pb2.StreamBidsRequest.SerializeToString, - exchange_dot_injective__auction__rpc__pb2.StreamBidsResponse.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 deleted file mode 100644 index 05bc4062..00000000 --- a/pyinjective/proto/exchange/injective_campaign_rpc_pb2.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_campaign_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_campaign_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_campaign_rpcB\031InjectiveCampaignRpcProtoP\001Z\031/injective_campaign_rpcpb\242\002\003IXX\252\002\024InjectiveCampaignRpc\312\002\024InjectiveCampaignRpc\342\002 InjectiveCampaignRpc\\GPBMetadata\352\002\024InjectiveCampaignRpc' - _globals['_RANKINGREQUEST']._serialized_start=66 - _globals['_RANKINGREQUEST']._serialized_end=270 - _globals['_RANKINGRESPONSE']._serialized_start=273 - _globals['_RANKINGRESPONSE']._serialized_end=468 - _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 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_campaign_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_campaign_rpc_pb2_grpc.py deleted file mode 100644 index bbd22099..00000000 --- a/pyinjective/proto/exchange/injective_campaign_rpc_pb2_grpc.py +++ /dev/null @@ -1,301 +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.exchange import injective_campaign_rpc_pb2 as exchange_dot_injective__campaign__rpc__pb2 - - -class InjectiveCampaignRPCStub(object): - """InjectiveCampaignRPC defined a gRPC service for Injective Campaigns. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Ranking = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/Ranking', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.RankingRequest.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.RankingResponse.FromString, - _registered_method=True) - self.Campaigns = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsResponse.FromString, - _registered_method=True) - self.CampaignsV2 = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Response.FromString, - _registered_method=True) - self.ListGuilds = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildsResponse.FromString, - _registered_method=True) - self.ListGuildMembers = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersResponse.FromString, - _registered_method=True) - self.GetGuildMember = channel.unary_unary( - '/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember', - request_serializer=exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberRequest.SerializeToString, - response_deserializer=exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberResponse.FromString, - _registered_method=True) - - -class InjectiveCampaignRPCServicer(object): - """InjectiveCampaignRPC defined a gRPC service for Injective Campaigns. - """ - - def Ranking(self, request, context): - """Lists all participants in campaign - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Campaigns(self, request, context): - """List current round active campaigns - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CampaignsV2(self, request, context): - """List campaigns v2 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListGuilds(self, request, context): - """List guilds by campaign - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListGuildMembers(self, request, context): - """List guild members of given campaign and guildId - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetGuildMember(self, request, context): - """Get single member guild info - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveCampaignRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Ranking': grpc.unary_unary_rpc_method_handler( - servicer.Ranking, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.RankingRequest.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.RankingResponse.SerializeToString, - ), - 'Campaigns': grpc.unary_unary_rpc_method_handler( - servicer.Campaigns, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsRequest.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsResponse.SerializeToString, - ), - 'CampaignsV2': grpc.unary_unary_rpc_method_handler( - servicer.CampaignsV2, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Request.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Response.SerializeToString, - ), - 'ListGuilds': grpc.unary_unary_rpc_method_handler( - servicer.ListGuilds, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildsRequest.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildsResponse.SerializeToString, - ), - 'ListGuildMembers': grpc.unary_unary_rpc_method_handler( - servicer.ListGuildMembers, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersRequest.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersResponse.SerializeToString, - ), - 'GetGuildMember': grpc.unary_unary_rpc_method_handler( - servicer.GetGuildMember, - request_deserializer=exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberRequest.FromString, - response_serializer=exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_campaign_rpc.InjectiveCampaignRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_campaign_rpc.InjectiveCampaignRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveCampaignRPC(object): - """InjectiveCampaignRPC defined a gRPC service for Injective Campaigns. - """ - - @staticmethod - def Ranking(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/Ranking', - exchange_dot_injective__campaign__rpc__pb2.RankingRequest.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.RankingResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Campaigns(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/Campaigns', - exchange_dot_injective__campaign__rpc__pb2.CampaignsRequest.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.CampaignsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def CampaignsV2(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/CampaignsV2', - exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Request.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.CampaignsV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ListGuilds(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/ListGuilds', - exchange_dot_injective__campaign__rpc__pb2.ListGuildsRequest.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.ListGuildsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def ListGuildMembers(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers', - exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersRequest.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.ListGuildMembersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetGuildMember(request, - target, - options=(), - channel_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_campaign_rpc.InjectiveCampaignRPC/GetGuildMember', - exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberRequest.SerializeToString, - exchange_dot_injective__campaign__rpc__pb2.GetGuildMemberResponse.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 deleted file mode 100644 index 9d4e58e9..00000000 --- a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2.py +++ /dev/null @@ -1,167 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_derivative_exchange_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'\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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_derivative_exchange_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n%com.injective_derivative_exchange_rpcB#InjectiveDerivativeExchangeRpcProtoP\001Z$/injective_derivative_exchange_rpcpb\242\002\003IXX\252\002\036InjectiveDerivativeExchangeRpc\312\002\036InjectiveDerivativeExchangeRpc\342\002*InjectiveDerivativeExchangeRpc\\GPBMetadata\352\002\036InjectiveDerivativeExchangeRpc' - _globals['_MARKETSREQUEST']._serialized_start=87 - _globals['_MARKETSREQUEST']._serialized_end=214 - _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 -# @@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 deleted file mode 100644 index fd5d2b43..00000000 --- a/pyinjective/proto/exchange/injective_derivative_exchange_rpc_pb2_grpc.py +++ /dev/null @@ -1,1142 +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.exchange import injective_derivative_exchange_rpc_pb2 as exchange_dot_injective__derivative__exchange__rpc__pb2 - - -class InjectiveDerivativeExchangeRPCStub(object): - """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets - provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Markets = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.FromString, - _registered_method=True) - self.Market = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.FromString, - _registered_method=True) - self.StreamMarket = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.FromString, - _registered_method=True) - self.BinaryOptionsMarkets = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.FromString, - _registered_method=True) - self.BinaryOptionsMarket = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.FromString, - _registered_method=True) - self.OrderbookV2 = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.FromString, - _registered_method=True) - self.OrderbooksV2 = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.FromString, - _registered_method=True) - self.StreamOrderbookV2 = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.FromString, - _registered_method=True) - self.StreamOrderbookUpdate = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.FromString, - _registered_method=True) - self.Orders = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.FromString, - _registered_method=True) - self.Positions = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.FromString, - _registered_method=True) - self.PositionsV2 = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Response.FromString, - _registered_method=True) - self.LiquidablePositions = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.FromString, - _registered_method=True) - self.FundingPayments = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.FromString, - _registered_method=True) - self.FundingRates = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.FromString, - _registered_method=True) - self.StreamPositions = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions', - 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.StreamOrders = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersResponse.FromString, - _registered_method=True) - self.Trades = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.FromString, - _registered_method=True) - self.TradesV2 = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Response.FromString, - _registered_method=True) - self.StreamTrades = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.FromString, - _registered_method=True) - self.StreamTradesV2 = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Response.FromString, - _registered_method=True) - self.SubaccountOrdersList = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString, - _registered_method=True) - self.SubaccountTradesList = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.FromString, - _registered_method=True) - self.OrdersHistory = channel.unary_unary( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory', - request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryResponse.FromString, - _registered_method=True) - self.StreamOrdersHistory = channel.unary_stream( - '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory', - 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) - - -class InjectiveDerivativeExchangeRPCServicer(object): - """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets - provider. - """ - - def Markets(self, request, context): - """Markets gets a list of Derivative Markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Market(self, request, context): - """Market gets details of a single derivative market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamMarket(self, request, context): - """StreamMarket streams live updates of selected derivative markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BinaryOptionsMarkets(self, request, context): - """BinaryOptionsMarkets gets a list of Binary Options Markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BinaryOptionsMarket(self, request, context): - """BinaryOptionMarket gets details of a single binary options market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrderbookV2(self, request, context): - """Orderbook gets the Orderbook of a Derivative Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrderbooksV2(self, request, context): - """Orderbooks gets the Orderbooks of requested derivative markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamOrderbookV2(self, request, context): - """Stream live snapshot updates of selected derivative market orderbook - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamOrderbookUpdate(self, request, context): - """Stream live level updates of selected derivative market orderbook - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Orders(self, request, context): - """DerivativeLimitOrders gets the limit orders of a derivative Market. - """ - 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. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def PositionsV2(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 LiquidablePositions(self, request, context): - """LiquidablePositions gets all the liquidable positions. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FundingPayments(self, request, context): - """FundingPayments gets the funding payments for a trader. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FundingRates(self, request, context): - """FundingRates gets the historical funding rates for a market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamPositions(self, request, context): - """StreamPositions streams derivatives position updates. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamOrders(self, request, context): - """StreamOrders streams updates to individual orders of a Derivative Market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Trades(self, request, context): - """Trades gets the trades of a Derivative Market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def TradesV2(self, request, context): - """Trades gets the trades of a Derivative Market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamTrades(self, request, context): - """StreamTrades streams newly executed trades from Derivative Market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamTradesV2(self, request, context): - """StreamTrades streams newly executed trades from Derivative Market. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountOrdersList(self, request, context): - """SubaccountOrdersList lists orders posted from this subaccount. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountTradesList(self, request, context): - """SubaccountTradesList gets a list of derivatives trades executed by this - subaccount. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrdersHistory(self, request, context): - """Lists history orders posted from a subaccount - """ - 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 historical orders of 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 = { - 'Markets': grpc.unary_unary_rpc_method_handler( - servicer.Markets, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.SerializeToString, - ), - 'Market': grpc.unary_unary_rpc_method_handler( - servicer.Market, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.SerializeToString, - ), - 'StreamMarket': grpc.unary_stream_rpc_method_handler( - servicer.StreamMarket, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.SerializeToString, - ), - 'BinaryOptionsMarkets': grpc.unary_unary_rpc_method_handler( - servicer.BinaryOptionsMarkets, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.SerializeToString, - ), - 'BinaryOptionsMarket': grpc.unary_unary_rpc_method_handler( - servicer.BinaryOptionsMarket, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.SerializeToString, - ), - 'OrderbookV2': grpc.unary_unary_rpc_method_handler( - servicer.OrderbookV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.SerializeToString, - ), - 'OrderbooksV2': grpc.unary_unary_rpc_method_handler( - servicer.OrderbooksV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.SerializeToString, - ), - 'StreamOrderbookV2': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrderbookV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.SerializeToString, - ), - 'StreamOrderbookUpdate': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrderbookUpdate, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.SerializeToString, - ), - 'Orders': grpc.unary_unary_rpc_method_handler( - servicer.Orders, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.SerializeToString, - ), - 'Positions': grpc.unary_unary_rpc_method_handler( - servicer.Positions, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.SerializeToString, - ), - 'PositionsV2': grpc.unary_unary_rpc_method_handler( - servicer.PositionsV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Response.SerializeToString, - ), - 'LiquidablePositions': grpc.unary_unary_rpc_method_handler( - servicer.LiquidablePositions, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.SerializeToString, - ), - 'FundingPayments': grpc.unary_unary_rpc_method_handler( - servicer.FundingPayments, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.SerializeToString, - ), - 'FundingRates': grpc.unary_unary_rpc_method_handler( - servicer.FundingRates, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.SerializeToString, - ), - 'StreamPositions': grpc.unary_stream_rpc_method_handler( - servicer.StreamPositions, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.SerializeToString, - ), - 'StreamOrders': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrders, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersResponse.SerializeToString, - ), - 'Trades': grpc.unary_unary_rpc_method_handler( - servicer.Trades, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.SerializeToString, - ), - 'TradesV2': grpc.unary_unary_rpc_method_handler( - servicer.TradesV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Response.SerializeToString, - ), - 'StreamTrades': grpc.unary_stream_rpc_method_handler( - servicer.StreamTrades, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.SerializeToString, - ), - 'StreamTradesV2': grpc.unary_stream_rpc_method_handler( - servicer.StreamTradesV2, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Request.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Response.SerializeToString, - ), - 'SubaccountOrdersList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountOrdersList, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.SerializeToString, - ), - 'SubaccountTradesList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountTradesList, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.SerializeToString, - ), - 'OrdersHistory': grpc.unary_unary_rpc_method_handler( - servicer.OrdersHistory, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryResponse.SerializeToString, - ), - 'StreamOrdersHistory': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrdersHistory, - request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.FromString, - response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveDerivativeExchangeRPC(object): - """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets - provider. - """ - - @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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets', - exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Market(request, - target, - options=(), - channel_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/Market', - exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamMarket(request, - 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/StreamMarket', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets', - exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def BinaryOptionsMarket(request, - target, - options=(), - channel_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/BinaryOptionsMarket', - exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def OrderbookV2(request, - target, - options=(), - channel_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/OrderbookV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def OrderbooksV2(request, - target, - options=(), - channel_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/OrderbooksV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamOrderbookV2(request, - 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/StreamOrderbookV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamOrderbookUpdate(request, - 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/StreamOrderbookUpdate', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders', - exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions', - exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def PositionsV2(request, - target, - options=(), - channel_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/PositionsV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def LiquidablePositions(request, - target, - options=(), - channel_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/LiquidablePositions', - exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments', - exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def FundingRates(request, - target, - options=(), - channel_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/FundingRates', - exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades', - exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def TradesV2(request, - target, - options=(), - channel_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/TradesV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.TradesV2Response.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamTradesV2(request, - 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/StreamTradesV2', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Request.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountOrdersList(request, - target, - options=(), - channel_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/SubaccountOrdersList', - exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountTradesList(request, - target, - options=(), - channel_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/SubaccountTradesList', - exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory', - exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory', - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, - exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.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 deleted file mode 100644 index 8d515faa..00000000 --- a/pyinjective/proto/exchange/injective_exchange_rpc_pb2.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_exchange_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_exchange_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_exchange_rpcB\031InjectiveExchangeRpcProtoP\001Z\031/injective_exchange_rpcpb\242\002\003IXX\252\002\024InjectiveExchangeRpc\312\002\024InjectiveExchangeRpc\342\002 InjectiveExchangeRpc\\GPBMetadata\352\002\024InjectiveExchangeRpc' - _globals['_GETTXREQUEST']._serialized_start=65 - _globals['_GETTXREQUEST']._serialized_end=99 - _globals['_GETTXRESPONSE']._serialized_start=102 - _globals['_GETTXRESPONSE']._serialized_end=313 - _globals['_PREPARETXREQUEST']._serialized_start=316 - _globals['_PREPARETXREQUEST']._serialized_end=601 - _globals['_COSMOSTXFEE']._serialized_start=603 - _globals['_COSMOSTXFEE']._serialized_end=727 - _globals['_COSMOSCOIN']._serialized_start=729 - _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 -# @@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 deleted file mode 100644 index cddca5ba..00000000 --- a/pyinjective/proto/exchange/injective_exchange_rpc_pb2_grpc.py +++ /dev/null @@ -1,301 +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.exchange import injective_exchange_rpc_pb2 as exchange_dot_injective__exchange__rpc__pb2 - - -class InjectiveExchangeRPCStub(object): - """InjectiveExchangeRPC defines gRPC API of an Injective Exchange service. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GetTx = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/GetTx', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.GetTxRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetTxResponse.FromString, - _registered_method=True) - self.PrepareTx = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxResponse.FromString, - _registered_method=True) - self.BroadcastTx = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxResponse.FromString, - _registered_method=True) - self.PrepareCosmosTx = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxResponse.FromString, - _registered_method=True) - self.BroadcastCosmosTx = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxResponse.FromString, - _registered_method=True) - self.GetFeePayer = channel.unary_unary( - '/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer', - request_serializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerRequest.SerializeToString, - response_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerResponse.FromString, - _registered_method=True) - - -class InjectiveExchangeRPCServicer(object): - """InjectiveExchangeRPC defines gRPC API of an Injective Exchange service. - """ - - def GetTx(self, request, context): - """GetTx gets transaction details by hash. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def PrepareTx(self, request, context): - """PrepareTx generates a Web3-signable body for a Cosmos transaction - """ - 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 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def PrepareCosmosTx(self, request, context): - """PrepareCosmosTx generates a Web3-signable body for a Cosmos transaction - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BroadcastCosmosTx(self, request, context): - """BroadcastCosmosTx broadcasts a signed Web3 transaction - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetFeePayer(self, request, context): - """Return fee payer information's - """ - 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 = { - 'GetTx': grpc.unary_unary_rpc_method_handler( - servicer.GetTx, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetTxRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.GetTxResponse.SerializeToString, - ), - 'PrepareTx': grpc.unary_unary_rpc_method_handler( - servicer.PrepareTx, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareTxResponse.SerializeToString, - ), - 'BroadcastTx': grpc.unary_unary_rpc_method_handler( - servicer.BroadcastTx, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastTxResponse.SerializeToString, - ), - 'PrepareCosmosTx': grpc.unary_unary_rpc_method_handler( - servicer.PrepareCosmosTx, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxResponse.SerializeToString, - ), - 'BroadcastCosmosTx': grpc.unary_unary_rpc_method_handler( - servicer.BroadcastCosmosTx, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxResponse.SerializeToString, - ), - 'GetFeePayer': grpc.unary_unary_rpc_method_handler( - servicer.GetFeePayer, - request_deserializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerRequest.FromString, - response_serializer=exchange_dot_injective__exchange__rpc__pb2.GetFeePayerResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_exchange_rpc.InjectiveExchangeRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_exchange_rpc.InjectiveExchangeRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveExchangeRPC(object): - """InjectiveExchangeRPC defines gRPC API of an Injective Exchange service. - """ - - @staticmethod - def GetTx(request, - target, - options=(), - channel_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/GetTx', - exchange_dot_injective__exchange__rpc__pb2.GetTxRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.GetTxResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def PrepareTx(request, - target, - options=(), - channel_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/PrepareTx', - exchange_dot_injective__exchange__rpc__pb2.PrepareTxRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.PrepareTxResponse.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, - '/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx', - exchange_dot_injective__exchange__rpc__pb2.BroadcastTxRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.BroadcastTxResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def PrepareCosmosTx(request, - target, - options=(), - channel_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/PrepareCosmosTx', - exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.PrepareCosmosTxResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def BroadcastCosmosTx(request, - target, - options=(), - channel_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/BroadcastCosmosTx', - exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.BroadcastCosmosTxResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetFeePayer(request, - target, - options=(), - channel_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/GetFeePayer', - exchange_dot_injective__exchange__rpc__pb2.GetFeePayerRequest.SerializeToString, - exchange_dot_injective__exchange__rpc__pb2.GetFeePayerResponse.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 deleted file mode 100644 index 7066998d..00000000 --- a/pyinjective/proto/exchange/injective_explorer_rpc_pb2.py +++ /dev/null @@ -1,179 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_explorer_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_explorer_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.injective_explorer_rpcB\031InjectiveExplorerRpcProtoP\001Z\031/injective_explorer_rpcpb\242\002\003IXX\252\002\024InjectiveExplorerRpc\312\002\024InjectiveExplorerRpc\342\002 InjectiveExplorerRpc\\GPBMetadata\352\002\024InjectiveExplorerRpc' - _globals['_EVENT_ATTRIBUTESENTRY']._loaded_options = None - _globals['_EVENT_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_GETACCOUNTTXSREQUEST']._serialized_start=66 - _globals['_GETACCOUNTTXSREQUEST']._serialized_end=390 - _globals['_GETACCOUNTTXSRESPONSE']._serialized_start=393 - _globals['_GETACCOUNTTXSRESPONSE']._serialized_end=530 - _globals['_PAGING']._serialized_start=533 - _globals['_PAGING']._serialized_end=667 - _globals['_TXDETAILDATA']._serialized_start=670 - _globals['_TXDETAILDATA']._serialized_end=1353 - _globals['_GASFEE']._serialized_start=1356 - _globals['_GASFEE']._serialized_end=1501 - _globals['_COSMOSCOIN']._serialized_start=1503 - _globals['_COSMOSCOIN']._serialized_end=1561 - _globals['_EVENT']._serialized_start=1564 - _globals['_EVENT']._serialized_end=1733 - _globals['_EVENT_ATTRIBUTESENTRY']._serialized_start=1672 - _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 -# @@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 deleted file mode 100644 index 24ce812f..00000000 --- a/pyinjective/proto/exchange/injective_explorer_rpc_pb2_grpc.py +++ /dev/null @@ -1,1009 +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.exchange import injective_explorer_rpc_pb2 as exchange_dot_injective__explorer__rpc__pb2 - - -class InjectiveExplorerRPCStub(object): - """ExplorerAPI implements explorer data API for e.g. Blockchain Explorer - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GetAccountTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsResponse.FromString, - _registered_method=True) - self.GetContractTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsResponse.FromString, - _registered_method=True) - self.GetContractTxsV2 = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Response.FromString, - _registered_method=True) - self.GetBlocks = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksResponse.FromString, - _registered_method=True) - self.GetBlock = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockResponse.FromString, - _registered_method=True) - self.GetValidators = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorsResponse.FromString, - _registered_method=True) - self.GetValidator = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorResponse.FromString, - _registered_method=True) - self.GetValidatorUptime = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeResponse.FromString, - _registered_method=True) - self.GetTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsResponse.FromString, - _registered_method=True) - self.GetTxByTxHash = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashResponse.FromString, - _registered_method=True) - self.GetPeggyDepositTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsResponse.FromString, - _registered_method=True) - self.GetPeggyWithdrawalTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsResponse.FromString, - _registered_method=True) - self.GetIBCTransferTxs = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsResponse.FromString, - _registered_method=True) - self.GetWasmCodes = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesResponse.FromString, - _registered_method=True) - self.GetWasmCodeByID = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDResponse.FromString, - _registered_method=True) - self.GetWasmContracts = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsResponse.FromString, - _registered_method=True) - self.GetWasmContractByAddress = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressResponse.FromString, - _registered_method=True) - self.GetCw20Balance = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceResponse.FromString, - _registered_method=True) - self.Relayers = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/Relayers', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.RelayersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.RelayersResponse.FromString, - _registered_method=True) - self.GetBankTransfers = channel.unary_unary( - '/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersResponse.FromString, - _registered_method=True) - self.StreamTxs = channel.unary_stream( - '/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamTxsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamTxsResponse.FromString, - _registered_method=True) - self.StreamBlocks = channel.unary_stream( - '/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks', - request_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksRequest.SerializeToString, - response_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksResponse.FromString, - _registered_method=True) - - -class InjectiveExplorerRPCServicer(object): - """ExplorerAPI implements explorer data API for e.g. Blockchain Explorer - """ - - def GetAccountTxs(self, request, context): - """GetAccountTxs returns tranctions involving in an account based upon params. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetContractTxs(self, request, context): - """GetContractTxs returns contract-related transactions - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetContractTxsV2(self, request, context): - """GetContractTxs returns contract-related transactions - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetBlocks(self, request, context): - """GetBlocks returns blocks based upon the request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetBlock(self, request, context): - """GetBlock returns block based upon the height or hash - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetValidators(self, request, context): - """GetValidators returns validators on the active chain - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetValidator(self, request, context): - """GetValidator returns validator information on the active chain - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetValidatorUptime(self, request, context): - """GetValidatorUptime returns validator uptime information on the active chain - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTxs(self, request, context): - """GetTxs returns transactions based upon the request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTxByTxHash(self, request, context): - """GetTxByTxHash returns certain transaction information by its tx hash. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetPeggyDepositTxs(self, request, context): - """GetPeggyDepositTxs returns the peggy deposit transactions based upon the - request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetPeggyWithdrawalTxs(self, request, context): - """GetPeggyWithdrawalTxs returns the peggy withdrawal transactions based upon - the request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetIBCTransferTxs(self, request, context): - """GetIBCTransferTxs returns the ibc transfer transactions based upon the - request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWasmCodes(self, request, context): - """GetWasmCodes lists all stored code - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWasmCodeByID(self, request, context): - """GetWasmCodeById list cosmwasm code infor by ID - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWasmContracts(self, request, context): - """GetWasmContracts lists all contracts - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWasmContractByAddress(self, request, context): - """GetWasmContractByAddress list cosmwasm contract info by its address - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetCw20Balance(self, request, context): - """GetCw20Balance lists all cw20 balances of an injective account - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Relayers(self, request, context): - """Request relayers infos by marketIDs. If no ids are provided, all market with - associated relayers are returned - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetBankTransfers(self, request, context): - """GetBankTransfers returns bank transfers. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamTxs(self, request, context): - """StreamTxs returns transactions based upon the request params - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamBlocks(self, request, context): - """StreamBlocks returns the latest blocks - """ - 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 = { - 'GetAccountTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetAccountTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsResponse.SerializeToString, - ), - 'GetContractTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetContractTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsResponse.SerializeToString, - ), - 'GetContractTxsV2': grpc.unary_unary_rpc_method_handler( - servicer.GetContractTxsV2, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Request.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Response.SerializeToString, - ), - 'GetBlocks': grpc.unary_unary_rpc_method_handler( - servicer.GetBlocks, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlocksResponse.SerializeToString, - ), - 'GetBlock': grpc.unary_unary_rpc_method_handler( - servicer.GetBlock, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBlockResponse.SerializeToString, - ), - 'GetValidators': grpc.unary_unary_rpc_method_handler( - servicer.GetValidators, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorsResponse.SerializeToString, - ), - 'GetValidator': grpc.unary_unary_rpc_method_handler( - servicer.GetValidator, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorResponse.SerializeToString, - ), - 'GetValidatorUptime': grpc.unary_unary_rpc_method_handler( - servicer.GetValidatorUptime, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeResponse.SerializeToString, - ), - 'GetTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxsResponse.SerializeToString, - ), - 'GetTxByTxHash': grpc.unary_unary_rpc_method_handler( - servicer.GetTxByTxHash, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashResponse.SerializeToString, - ), - 'GetPeggyDepositTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetPeggyDepositTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsResponse.SerializeToString, - ), - 'GetPeggyWithdrawalTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetPeggyWithdrawalTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsResponse.SerializeToString, - ), - 'GetIBCTransferTxs': grpc.unary_unary_rpc_method_handler( - servicer.GetIBCTransferTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsResponse.SerializeToString, - ), - 'GetWasmCodes': grpc.unary_unary_rpc_method_handler( - servicer.GetWasmCodes, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesResponse.SerializeToString, - ), - 'GetWasmCodeByID': grpc.unary_unary_rpc_method_handler( - servicer.GetWasmCodeByID, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDResponse.SerializeToString, - ), - 'GetWasmContracts': grpc.unary_unary_rpc_method_handler( - servicer.GetWasmContracts, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsResponse.SerializeToString, - ), - 'GetWasmContractByAddress': grpc.unary_unary_rpc_method_handler( - servicer.GetWasmContractByAddress, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressResponse.SerializeToString, - ), - 'GetCw20Balance': grpc.unary_unary_rpc_method_handler( - servicer.GetCw20Balance, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceResponse.SerializeToString, - ), - 'Relayers': grpc.unary_unary_rpc_method_handler( - servicer.Relayers, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.RelayersRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.RelayersResponse.SerializeToString, - ), - 'GetBankTransfers': grpc.unary_unary_rpc_method_handler( - servicer.GetBankTransfers, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersResponse.SerializeToString, - ), - 'StreamTxs': grpc.unary_stream_rpc_method_handler( - servicer.StreamTxs, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamTxsRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamTxsResponse.SerializeToString, - ), - 'StreamBlocks': grpc.unary_stream_rpc_method_handler( - servicer.StreamBlocks, - request_deserializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksRequest.FromString, - response_serializer=exchange_dot_injective__explorer__rpc__pb2.StreamBlocksResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_explorer_rpc.InjectiveExplorerRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_explorer_rpc.InjectiveExplorerRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveExplorerRPC(object): - """ExplorerAPI implements explorer data API for e.g. Blockchain Explorer - """ - - @staticmethod - def GetAccountTxs(request, - target, - options=(), - channel_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/GetAccountTxs', - exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetAccountTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetContractTxs(request, - target, - options=(), - channel_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/GetContractTxs', - exchange_dot_injective__explorer__rpc__pb2.GetContractTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetContractTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetContractTxsV2(request, - target, - options=(), - channel_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/GetContractTxsV2', - exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Request.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetContractTxsV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetBlocks(request, - target, - options=(), - channel_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/GetBlocks', - exchange_dot_injective__explorer__rpc__pb2.GetBlocksRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetBlocksResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetBlock(request, - target, - options=(), - channel_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/GetBlock', - exchange_dot_injective__explorer__rpc__pb2.GetBlockRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetBlockResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetValidators(request, - target, - options=(), - channel_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/GetValidators', - exchange_dot_injective__explorer__rpc__pb2.GetValidatorsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetValidatorsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetValidator(request, - target, - options=(), - channel_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/GetValidator', - exchange_dot_injective__explorer__rpc__pb2.GetValidatorRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetValidatorResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetValidatorUptime(request, - target, - options=(), - channel_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/GetValidatorUptime', - exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetValidatorUptimeResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetTxs(request, - target, - options=(), - channel_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/GetTxs', - exchange_dot_injective__explorer__rpc__pb2.GetTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetTxByTxHash(request, - target, - options=(), - channel_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/GetTxByTxHash', - exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetTxByTxHashResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetPeggyDepositTxs(request, - target, - options=(), - channel_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/GetPeggyDepositTxs', - exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetPeggyDepositTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetPeggyWithdrawalTxs(request, - target, - options=(), - channel_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/GetPeggyWithdrawalTxs', - exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetPeggyWithdrawalTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetIBCTransferTxs(request, - target, - options=(), - channel_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/GetIBCTransferTxs', - exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetIBCTransferTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetWasmCodes(request, - target, - options=(), - channel_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/GetWasmCodes', - exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetWasmCodesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetWasmCodeByID(request, - target, - options=(), - channel_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/GetWasmCodeByID', - exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetWasmCodeByIDResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetWasmContracts(request, - target, - options=(), - channel_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/GetWasmContracts', - exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetWasmContractsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetWasmContractByAddress(request, - target, - options=(), - channel_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/GetWasmContractByAddress', - exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetWasmContractByAddressResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetCw20Balance(request, - target, - options=(), - channel_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/GetCw20Balance', - exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetCw20BalanceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Relayers(request, - target, - options=(), - channel_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/Relayers', - exchange_dot_injective__explorer__rpc__pb2.RelayersRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.RelayersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def GetBankTransfers(request, - target, - options=(), - channel_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/GetBankTransfers', - exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.GetBankTransfersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamTxs(request, - 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_explorer_rpc.InjectiveExplorerRPC/StreamTxs', - exchange_dot_injective__explorer__rpc__pb2.StreamTxsRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.StreamTxsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamBlocks(request, - 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_explorer_rpc.InjectiveExplorerRPC/StreamBlocks', - exchange_dot_injective__explorer__rpc__pb2.StreamBlocksRequest.SerializeToString, - exchange_dot_injective__explorer__rpc__pb2.StreamBlocksResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_insurance_rpc_pb2.py b/pyinjective/proto/exchange/injective_insurance_rpc_pb2.py deleted file mode 100644 index 4aace939..00000000 --- a/pyinjective/proto/exchange/injective_insurance_rpc_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_insurance_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_insurance_rpc.proto\x12\x17injective_insurance_rpc\"\x0e\n\x0c\x46undsRequest\"M\n\rFundsResponse\x12<\n\x05\x66unds\x18\x01 \x03(\x0b\x32&.injective_insurance_rpc.InsuranceFundR\x05\x66unds\"\xf5\x03\n\rInsuranceFund\x12#\n\rmarket_ticker\x18\x01 \x01(\tR\x0cmarketTicker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rdeposit_denom\x18\x03 \x01(\tR\x0c\x64\x65positDenom\x12(\n\x10pool_token_denom\x18\x04 \x01(\tR\x0epoolTokenDenom\x12I\n!redemption_notice_period_duration\x18\x05 \x01(\x12R\x1eredemptionNoticePeriodDuration\x12\x18\n\x07\x62\x61lance\x18\x06 \x01(\tR\x07\x62\x61lance\x12\x1f\n\x0btotal_share\x18\x07 \x01(\tR\ntotalShare\x12\x1f\n\x0boracle_base\x18\x08 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\t \x01(\tR\x0boracleQuote\x12\x1f\n\x0boracle_type\x18\n \x01(\tR\noracleType\x12\x16\n\x06\x65xpiry\x18\x0b \x01(\x12R\x06\x65xpiry\x12P\n\x12\x64\x65posit_token_meta\x18\x0c \x01(\x0b\x32\".injective_insurance_rpc.TokenMetaR\x10\x64\x65positTokenMeta\"\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\x0b\x46undRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"J\n\x0c\x46undResponse\x12:\n\x04\x66und\x18\x01 \x01(\x0b\x32&.injective_insurance_rpc.InsuranceFundR\x04\x66und\"s\n\x12RedemptionsRequest\x12\x1a\n\x08redeemer\x18\x01 \x01(\tR\x08redeemer\x12)\n\x10redemption_denom\x18\x02 \x01(\tR\x0fredemptionDenom\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\"u\n\x13RedemptionsResponse\x12^\n\x14redemption_schedules\x18\x01 \x03(\x0b\x32+.injective_insurance_rpc.RedemptionScheduleR\x13redemptionSchedules\"\x9b\x03\n\x12RedemptionSchedule\x12#\n\rredemption_id\x18\x01 \x01(\x04R\x0credemptionId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12\x1a\n\x08redeemer\x18\x03 \x01(\tR\x08redeemer\x12:\n\x19\x63laimable_redemption_time\x18\x04 \x01(\x12R\x17\x63laimableRedemptionTime\x12+\n\x11redemption_amount\x18\x05 \x01(\tR\x10redemptionAmount\x12)\n\x10redemption_denom\x18\x06 \x01(\tR\x0fredemptionDenom\x12!\n\x0crequested_at\x18\x07 \x01(\x12R\x0brequestedAt\x12)\n\x10\x64isbursed_amount\x18\x08 \x01(\tR\x0f\x64isbursedAmount\x12\'\n\x0f\x64isbursed_denom\x18\t \x01(\tR\x0e\x64isbursedDenom\x12!\n\x0c\x64isbursed_at\x18\n \x01(\x12R\x0b\x64isbursedAt2\xae\x02\n\x15InjectiveInsuranceRPC\x12V\n\x05\x46unds\x12%.injective_insurance_rpc.FundsRequest\x1a&.injective_insurance_rpc.FundsResponse\x12S\n\x04\x46und\x12$.injective_insurance_rpc.FundRequest\x1a%.injective_insurance_rpc.FundResponse\x12h\n\x0bRedemptions\x12+.injective_insurance_rpc.RedemptionsRequest\x1a,.injective_insurance_rpc.RedemptionsResponseB\xc9\x01\n\x1b\x63om.injective_insurance_rpcB\x1aInjectiveInsuranceRpcProtoP\x01Z\x1a/injective_insurance_rpcpb\xa2\x02\x03IXX\xaa\x02\x15InjectiveInsuranceRpc\xca\x02\x15InjectiveInsuranceRpc\xe2\x02!InjectiveInsuranceRpc\\GPBMetadata\xea\x02\x15InjectiveInsuranceRpcb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_insurance_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective_insurance_rpcB\032InjectiveInsuranceRpcProtoP\001Z\032/injective_insurance_rpcpb\242\002\003IXX\252\002\025InjectiveInsuranceRpc\312\002\025InjectiveInsuranceRpc\342\002!InjectiveInsuranceRpc\\GPBMetadata\352\002\025InjectiveInsuranceRpc' - _globals['_FUNDSREQUEST']._serialized_start=67 - _globals['_FUNDSREQUEST']._serialized_end=81 - _globals['_FUNDSRESPONSE']._serialized_start=83 - _globals['_FUNDSRESPONSE']._serialized_end=160 - _globals['_INSURANCEFUND']._serialized_start=163 - _globals['_INSURANCEFUND']._serialized_end=664 - _globals['_TOKENMETA']._serialized_start=667 - _globals['_TOKENMETA']._serialized_end=827 - _globals['_FUNDREQUEST']._serialized_start=829 - _globals['_FUNDREQUEST']._serialized_end=864 - _globals['_FUNDRESPONSE']._serialized_start=866 - _globals['_FUNDRESPONSE']._serialized_end=940 - _globals['_REDEMPTIONSREQUEST']._serialized_start=942 - _globals['_REDEMPTIONSREQUEST']._serialized_end=1057 - _globals['_REDEMPTIONSRESPONSE']._serialized_start=1059 - _globals['_REDEMPTIONSRESPONSE']._serialized_end=1176 - _globals['_REDEMPTIONSCHEDULE']._serialized_start=1179 - _globals['_REDEMPTIONSCHEDULE']._serialized_end=1590 - _globals['_INJECTIVEINSURANCERPC']._serialized_start=1593 - _globals['_INJECTIVEINSURANCERPC']._serialized_end=1895 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_insurance_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_insurance_rpc_pb2_grpc.py deleted file mode 100644 index 1992ac88..00000000 --- a/pyinjective/proto/exchange/injective_insurance_rpc_pb2_grpc.py +++ /dev/null @@ -1,169 +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.exchange import injective_insurance_rpc_pb2 as exchange_dot_injective__insurance__rpc__pb2 - - -class InjectiveInsuranceRPCStub(object): - """InjectiveInsuranceRPC defines gRPC API of Insurance provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Funds = channel.unary_unary( - '/injective_insurance_rpc.InjectiveInsuranceRPC/Funds', - request_serializer=exchange_dot_injective__insurance__rpc__pb2.FundsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__insurance__rpc__pb2.FundsResponse.FromString, - _registered_method=True) - self.Fund = channel.unary_unary( - '/injective_insurance_rpc.InjectiveInsuranceRPC/Fund', - request_serializer=exchange_dot_injective__insurance__rpc__pb2.FundRequest.SerializeToString, - response_deserializer=exchange_dot_injective__insurance__rpc__pb2.FundResponse.FromString, - _registered_method=True) - self.Redemptions = channel.unary_unary( - '/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions', - request_serializer=exchange_dot_injective__insurance__rpc__pb2.RedemptionsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__insurance__rpc__pb2.RedemptionsResponse.FromString, - _registered_method=True) - - -class InjectiveInsuranceRPCServicer(object): - """InjectiveInsuranceRPC defines gRPC API of Insurance provider. - """ - - def Funds(self, request, context): - """Funds lists all insurance funds. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Fund(self, request, context): - """Funds returns an insurance fund for a given insurance fund token denom. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Redemptions(self, request, context): - """PendingRedemptions lists all pending redemptions according to a filter - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveInsuranceRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Funds': grpc.unary_unary_rpc_method_handler( - servicer.Funds, - request_deserializer=exchange_dot_injective__insurance__rpc__pb2.FundsRequest.FromString, - response_serializer=exchange_dot_injective__insurance__rpc__pb2.FundsResponse.SerializeToString, - ), - 'Fund': grpc.unary_unary_rpc_method_handler( - servicer.Fund, - request_deserializer=exchange_dot_injective__insurance__rpc__pb2.FundRequest.FromString, - response_serializer=exchange_dot_injective__insurance__rpc__pb2.FundResponse.SerializeToString, - ), - 'Redemptions': grpc.unary_unary_rpc_method_handler( - servicer.Redemptions, - request_deserializer=exchange_dot_injective__insurance__rpc__pb2.RedemptionsRequest.FromString, - response_serializer=exchange_dot_injective__insurance__rpc__pb2.RedemptionsResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_insurance_rpc.InjectiveInsuranceRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_insurance_rpc.InjectiveInsuranceRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveInsuranceRPC(object): - """InjectiveInsuranceRPC defines gRPC API of Insurance provider. - """ - - @staticmethod - def Funds(request, - target, - options=(), - channel_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_rpc.InjectiveInsuranceRPC/Funds', - exchange_dot_injective__insurance__rpc__pb2.FundsRequest.SerializeToString, - exchange_dot_injective__insurance__rpc__pb2.FundsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Fund(request, - target, - options=(), - channel_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_rpc.InjectiveInsuranceRPC/Fund', - exchange_dot_injective__insurance__rpc__pb2.FundRequest.SerializeToString, - exchange_dot_injective__insurance__rpc__pb2.FundResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Redemptions(request, - target, - options=(), - channel_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_rpc.InjectiveInsuranceRPC/Redemptions', - exchange_dot_injective__insurance__rpc__pb2.RedemptionsRequest.SerializeToString, - exchange_dot_injective__insurance__rpc__pb2.RedemptionsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_meta_rpc_pb2.py b/pyinjective/proto/exchange/injective_meta_rpc_pb2.py deleted file mode 100644 index 18ef3908..00000000 --- a/pyinjective/proto/exchange/injective_meta_rpc_pb2.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_meta_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_meta_rpc.proto\x12\x12injective_meta_rpc\"\r\n\x0bPingRequest\"\x0e\n\x0cPingResponse\"\x10\n\x0eVersionRequest\"\xab\x01\n\x0fVersionResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x44\n\x05\x62uild\x18\x02 \x03(\x0b\x32..injective_meta_rpc.VersionResponse.BuildEntryR\x05\x62uild\x1a\x38\n\nBuildEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"+\n\x0bInfoRequest\x12\x1c\n\ttimestamp\x18\x01 \x01(\x12R\ttimestamp\"\xfc\x01\n\x0cInfoResponse\x12\x1c\n\ttimestamp\x18\x01 \x01(\x12R\ttimestamp\x12\x1f\n\x0bserver_time\x18\x02 \x01(\x12R\nserverTime\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x41\n\x05\x62uild\x18\x04 \x03(\x0b\x32+.injective_meta_rpc.InfoResponse.BuildEntryR\x05\x62uild\x12\x16\n\x06region\x18\x05 \x01(\tR\x06region\x1a\x38\n\nBuildEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x18\n\x16StreamKeepaliveRequest\"p\n\x17StreamKeepaliveResponse\x12\x14\n\x05\x65vent\x18\x01 \x01(\tR\x05\x65vent\x12!\n\x0cnew_endpoint\x18\x02 \x01(\tR\x0bnewEndpoint\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\".\n\x14TokenMetadataRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"Y\n\x15TokenMetadataResponse\x12@\n\x06tokens\x18\x01 \x03(\x0b\x32(.injective_meta_rpc.TokenMetadataElementR\x06tokens\"\xd6\x01\n\x14TokenMetadataElement\x12)\n\x10\x65thereum_address\x18\x01 \x01(\tR\x0f\x65thereumAddress\x12!\n\x0c\x63oingecko_id\x18\x02 \x01(\tR\x0b\x63oingeckoId\x12\x14\n\x05\x64\x65nom\x18\x03 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x05 \x01(\tR\x06symbol\x12\x1a\n\x08\x64\x65\x63imals\x18\x06 \x01(\x11R\x08\x64\x65\x63imals\x12\x12\n\x04logo\x18\x07 \x01(\tR\x04logo2\xd0\x03\n\x10InjectiveMetaRPC\x12I\n\x04Ping\x12\x1f.injective_meta_rpc.PingRequest\x1a .injective_meta_rpc.PingResponse\x12R\n\x07Version\x12\".injective_meta_rpc.VersionRequest\x1a#.injective_meta_rpc.VersionResponse\x12I\n\x04Info\x12\x1f.injective_meta_rpc.InfoRequest\x1a .injective_meta_rpc.InfoResponse\x12l\n\x0fStreamKeepalive\x12*.injective_meta_rpc.StreamKeepaliveRequest\x1a+.injective_meta_rpc.StreamKeepaliveResponse0\x01\x12\x64\n\rTokenMetadata\x12(.injective_meta_rpc.TokenMetadataRequest\x1a).injective_meta_rpc.TokenMetadataResponseB\xa6\x01\n\x16\x63om.injective_meta_rpcB\x15InjectiveMetaRpcProtoP\x01Z\x15/injective_meta_rpcpb\xa2\x02\x03IXX\xaa\x02\x10InjectiveMetaRpc\xca\x02\x10InjectiveMetaRpc\xe2\x02\x1cInjectiveMetaRpc\\GPBMetadata\xea\x02\x10InjectiveMetaRpcb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_meta_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.injective_meta_rpcB\025InjectiveMetaRpcProtoP\001Z\025/injective_meta_rpcpb\242\002\003IXX\252\002\020InjectiveMetaRpc\312\002\020InjectiveMetaRpc\342\002\034InjectiveMetaRpc\\GPBMetadata\352\002\020InjectiveMetaRpc' - _globals['_VERSIONRESPONSE_BUILDENTRY']._loaded_options = None - _globals['_VERSIONRESPONSE_BUILDENTRY']._serialized_options = b'8\001' - _globals['_INFORESPONSE_BUILDENTRY']._loaded_options = None - _globals['_INFORESPONSE_BUILDENTRY']._serialized_options = b'8\001' - _globals['_PINGREQUEST']._serialized_start=57 - _globals['_PINGREQUEST']._serialized_end=70 - _globals['_PINGRESPONSE']._serialized_start=72 - _globals['_PINGRESPONSE']._serialized_end=86 - _globals['_VERSIONREQUEST']._serialized_start=88 - _globals['_VERSIONREQUEST']._serialized_end=104 - _globals['_VERSIONRESPONSE']._serialized_start=107 - _globals['_VERSIONRESPONSE']._serialized_end=278 - _globals['_VERSIONRESPONSE_BUILDENTRY']._serialized_start=222 - _globals['_VERSIONRESPONSE_BUILDENTRY']._serialized_end=278 - _globals['_INFOREQUEST']._serialized_start=280 - _globals['_INFOREQUEST']._serialized_end=323 - _globals['_INFORESPONSE']._serialized_start=326 - _globals['_INFORESPONSE']._serialized_end=578 - _globals['_INFORESPONSE_BUILDENTRY']._serialized_start=222 - _globals['_INFORESPONSE_BUILDENTRY']._serialized_end=278 - _globals['_STREAMKEEPALIVEREQUEST']._serialized_start=580 - _globals['_STREAMKEEPALIVEREQUEST']._serialized_end=604 - _globals['_STREAMKEEPALIVERESPONSE']._serialized_start=606 - _globals['_STREAMKEEPALIVERESPONSE']._serialized_end=718 - _globals['_TOKENMETADATAREQUEST']._serialized_start=720 - _globals['_TOKENMETADATAREQUEST']._serialized_end=766 - _globals['_TOKENMETADATARESPONSE']._serialized_start=768 - _globals['_TOKENMETADATARESPONSE']._serialized_end=857 - _globals['_TOKENMETADATAELEMENT']._serialized_start=860 - _globals['_TOKENMETADATAELEMENT']._serialized_end=1074 - _globals['_INJECTIVEMETARPC']._serialized_start=1077 - _globals['_INJECTIVEMETARPC']._serialized_end=1541 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_meta_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_meta_rpc_pb2_grpc.py deleted file mode 100644 index 3939655c..00000000 --- a/pyinjective/proto/exchange/injective_meta_rpc_pb2_grpc.py +++ /dev/null @@ -1,258 +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.exchange import injective_meta_rpc_pb2 as exchange_dot_injective__meta__rpc__pb2 - - -class InjectiveMetaRPCStub(object): - """InjectiveMetaRPC is a special API subset to get info about server. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Ping = channel.unary_unary( - '/injective_meta_rpc.InjectiveMetaRPC/Ping', - request_serializer=exchange_dot_injective__meta__rpc__pb2.PingRequest.SerializeToString, - response_deserializer=exchange_dot_injective__meta__rpc__pb2.PingResponse.FromString, - _registered_method=True) - self.Version = channel.unary_unary( - '/injective_meta_rpc.InjectiveMetaRPC/Version', - request_serializer=exchange_dot_injective__meta__rpc__pb2.VersionRequest.SerializeToString, - response_deserializer=exchange_dot_injective__meta__rpc__pb2.VersionResponse.FromString, - _registered_method=True) - self.Info = channel.unary_unary( - '/injective_meta_rpc.InjectiveMetaRPC/Info', - request_serializer=exchange_dot_injective__meta__rpc__pb2.InfoRequest.SerializeToString, - response_deserializer=exchange_dot_injective__meta__rpc__pb2.InfoResponse.FromString, - _registered_method=True) - self.StreamKeepalive = channel.unary_stream( - '/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive', - request_serializer=exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveRequest.SerializeToString, - response_deserializer=exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveResponse.FromString, - _registered_method=True) - self.TokenMetadata = channel.unary_unary( - '/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata', - request_serializer=exchange_dot_injective__meta__rpc__pb2.TokenMetadataRequest.SerializeToString, - response_deserializer=exchange_dot_injective__meta__rpc__pb2.TokenMetadataResponse.FromString, - _registered_method=True) - - -class InjectiveMetaRPCServicer(object): - """InjectiveMetaRPC is a special API subset to get info about server. - """ - - def Ping(self, request, context): - """Endpoint for checking server health. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Version(self, request, context): - """Returns injective-exchange version. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Info(self, request, context): - """Gets connection info - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamKeepalive(self, request, context): - """Stream keepalive, if server exits, a shutdown event will be sent over this - channel. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def TokenMetadata(self, request, context): - """Get tokens metadata. Can be filtered by denom - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveMetaRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Ping': grpc.unary_unary_rpc_method_handler( - servicer.Ping, - request_deserializer=exchange_dot_injective__meta__rpc__pb2.PingRequest.FromString, - response_serializer=exchange_dot_injective__meta__rpc__pb2.PingResponse.SerializeToString, - ), - 'Version': grpc.unary_unary_rpc_method_handler( - servicer.Version, - request_deserializer=exchange_dot_injective__meta__rpc__pb2.VersionRequest.FromString, - response_serializer=exchange_dot_injective__meta__rpc__pb2.VersionResponse.SerializeToString, - ), - 'Info': grpc.unary_unary_rpc_method_handler( - servicer.Info, - request_deserializer=exchange_dot_injective__meta__rpc__pb2.InfoRequest.FromString, - response_serializer=exchange_dot_injective__meta__rpc__pb2.InfoResponse.SerializeToString, - ), - 'StreamKeepalive': grpc.unary_stream_rpc_method_handler( - servicer.StreamKeepalive, - request_deserializer=exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveRequest.FromString, - response_serializer=exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveResponse.SerializeToString, - ), - 'TokenMetadata': grpc.unary_unary_rpc_method_handler( - servicer.TokenMetadata, - request_deserializer=exchange_dot_injective__meta__rpc__pb2.TokenMetadataRequest.FromString, - response_serializer=exchange_dot_injective__meta__rpc__pb2.TokenMetadataResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_meta_rpc.InjectiveMetaRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_meta_rpc.InjectiveMetaRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveMetaRPC(object): - """InjectiveMetaRPC is a special API subset to get info about server. - """ - - @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, - '/injective_meta_rpc.InjectiveMetaRPC/Ping', - exchange_dot_injective__meta__rpc__pb2.PingRequest.SerializeToString, - exchange_dot_injective__meta__rpc__pb2.PingResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Version(request, - target, - options=(), - channel_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_meta_rpc.InjectiveMetaRPC/Version', - exchange_dot_injective__meta__rpc__pb2.VersionRequest.SerializeToString, - exchange_dot_injective__meta__rpc__pb2.VersionResponse.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, - '/injective_meta_rpc.InjectiveMetaRPC/Info', - exchange_dot_injective__meta__rpc__pb2.InfoRequest.SerializeToString, - exchange_dot_injective__meta__rpc__pb2.InfoResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamKeepalive(request, - 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_meta_rpc.InjectiveMetaRPC/StreamKeepalive', - exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveRequest.SerializeToString, - exchange_dot_injective__meta__rpc__pb2.StreamKeepaliveResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def TokenMetadata(request, - target, - options=(), - channel_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_meta_rpc.InjectiveMetaRPC/TokenMetadata', - exchange_dot_injective__meta__rpc__pb2.TokenMetadataRequest.SerializeToString, - exchange_dot_injective__meta__rpc__pb2.TokenMetadataResponse.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 deleted file mode 100644 index 1858d94e..00000000 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_oracle_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_oracle_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _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 -# @@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 deleted file mode 100644 index 9f317b59..00000000 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py +++ /dev/null @@ -1,214 +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.exchange import injective_oracle_rpc_pb2 as exchange_dot_injective__oracle__rpc__pb2 - - -class InjectiveOracleRPCStub(object): - """InjectiveOracleRPC defines gRPC API of Exchange Oracle provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.OracleList = channel.unary_unary( - '/injective_oracle_rpc.InjectiveOracleRPC/OracleList', - request_serializer=exchange_dot_injective__oracle__rpc__pb2.OracleListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__oracle__rpc__pb2.OracleListResponse.FromString, - _registered_method=True) - self.Price = channel.unary_unary( - '/injective_oracle_rpc.InjectiveOracleRPC/Price', - request_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceRequest.SerializeToString, - response_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceResponse.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.StreamPricesByMarkets = channel.unary_stream( - '/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets', - request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsResponse.FromString, - _registered_method=True) - - -class InjectiveOracleRPCServicer(object): - """InjectiveOracleRPC defines gRPC API of Exchange Oracle provider. - """ - - def OracleList(self, request, context): - """List all oracles - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Price(self, request, context): - """Gets the price 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. - """ - 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 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveOracleRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'OracleList': grpc.unary_unary_rpc_method_handler( - servicer.OracleList, - request_deserializer=exchange_dot_injective__oracle__rpc__pb2.OracleListRequest.FromString, - response_serializer=exchange_dot_injective__oracle__rpc__pb2.OracleListResponse.SerializeToString, - ), - 'Price': grpc.unary_unary_rpc_method_handler( - servicer.Price, - request_deserializer=exchange_dot_injective__oracle__rpc__pb2.PriceRequest.FromString, - response_serializer=exchange_dot_injective__oracle__rpc__pb2.PriceResponse.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, - ), - 'StreamPricesByMarkets': grpc.unary_stream_rpc_method_handler( - servicer.StreamPricesByMarkets, - request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.FromString, - response_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_oracle_rpc.InjectiveOracleRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_oracle_rpc.InjectiveOracleRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveOracleRPC(object): - """InjectiveOracleRPC defines gRPC API of Exchange Oracle provider. - """ - - @staticmethod - def OracleList(request, - target, - options=(), - channel_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/OracleList', - exchange_dot_injective__oracle__rpc__pb2.OracleListRequest.SerializeToString, - exchange_dot_injective__oracle__rpc__pb2.OracleListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Price(request, - target, - options=(), - channel_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/Price', - exchange_dot_injective__oracle__rpc__pb2.PriceRequest.SerializeToString, - exchange_dot_injective__oracle__rpc__pb2.PriceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamPrices(request, - 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/StreamPrices', - exchange_dot_injective__oracle__rpc__pb2.StreamPricesRequest.SerializeToString, - exchange_dot_injective__oracle__rpc__pb2.StreamPricesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamPricesByMarkets(request, - 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/StreamPricesByMarkets', - exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.SerializeToString, - exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py b/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py deleted file mode 100644 index 37dcb8f9..00000000 --- a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_portfolio_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_portfolio_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\033com.injective_portfolio_rpcB\032InjectivePortfolioRpcProtoP\001Z\032/injective_portfolio_rpcpb\242\002\003IXX\252\002\025InjectivePortfolioRpc\312\002\025InjectivePortfolioRpc\342\002!InjectivePortfolioRpc\\GPBMetadata\352\002\025InjectivePortfolioRpc' - _globals['_TOKENHOLDERSREQUEST']._serialized_start=67 - _globals['_TOKENHOLDERSREQUEST']._serialized_end=156 - _globals['_TOKENHOLDERSRESPONSE']._serialized_start=158 - _globals['_TOKENHOLDERSRESPONSE']._serialized_end=274 - _globals['_HOLDER']._serialized_start=276 - _globals['_HOLDER']._serialized_end=351 - _globals['_ACCOUNTPORTFOLIOREQUEST']._serialized_start=353 - _globals['_ACCOUNTPORTFOLIOREQUEST']._serialized_end=419 - _globals['_ACCOUNTPORTFOLIORESPONSE']._serialized_start=421 - _globals['_ACCOUNTPORTFOLIORESPONSE']._serialized_end=513 - _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 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_portfolio_rpc_pb2_grpc.py deleted file mode 100644 index dea15cb0..00000000 --- a/pyinjective/proto/exchange/injective_portfolio_rpc_pb2_grpc.py +++ /dev/null @@ -1,213 +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.exchange import injective_portfolio_rpc_pb2 as exchange_dot_injective__portfolio__rpc__pb2 - - -class InjectivePortfolioRPCStub(object): - """InjectivePortfolioRPC defines gRPC API of Exchange Portfolio provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.TokenHolders = channel.unary_unary( - '/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders', - request_serializer=exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersResponse.FromString, - _registered_method=True) - self.AccountPortfolio = channel.unary_unary( - '/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio', - request_serializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioRequest.SerializeToString, - response_deserializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioResponse.FromString, - _registered_method=True) - self.AccountPortfolioBalances = channel.unary_unary( - '/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances', - request_serializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesResponse.FromString, - _registered_method=True) - self.StreamAccountPortfolio = channel.unary_stream( - '/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio', - request_serializer=exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioRequest.SerializeToString, - response_deserializer=exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioResponse.FromString, - _registered_method=True) - - -class InjectivePortfolioRPCServicer(object): - """InjectivePortfolioRPC defines gRPC API of Exchange Portfolio provider. - """ - - def TokenHolders(self, request, context): - """Provide a list of addresses holding a specific token - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AccountPortfolio(self, request, context): - """Provide the account's portfolio - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AccountPortfolioBalances(self, request, context): - """Provide the account's portfolio balances - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamAccountPortfolio(self, request, context): - """Stream the account's portfolio - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectivePortfolioRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'TokenHolders': grpc.unary_unary_rpc_method_handler( - servicer.TokenHolders, - request_deserializer=exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersRequest.FromString, - response_serializer=exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersResponse.SerializeToString, - ), - 'AccountPortfolio': grpc.unary_unary_rpc_method_handler( - servicer.AccountPortfolio, - request_deserializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioRequest.FromString, - response_serializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioResponse.SerializeToString, - ), - 'AccountPortfolioBalances': grpc.unary_unary_rpc_method_handler( - servicer.AccountPortfolioBalances, - request_deserializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesRequest.FromString, - response_serializer=exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesResponse.SerializeToString, - ), - 'StreamAccountPortfolio': grpc.unary_stream_rpc_method_handler( - servicer.StreamAccountPortfolio, - request_deserializer=exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioRequest.FromString, - response_serializer=exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_portfolio_rpc.InjectivePortfolioRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_portfolio_rpc.InjectivePortfolioRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectivePortfolioRPC(object): - """InjectivePortfolioRPC defines gRPC API of Exchange Portfolio provider. - """ - - @staticmethod - def TokenHolders(request, - target, - options=(), - channel_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_portfolio_rpc.InjectivePortfolioRPC/TokenHolders', - exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersRequest.SerializeToString, - exchange_dot_injective__portfolio__rpc__pb2.TokenHoldersResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AccountPortfolio(request, - target, - options=(), - channel_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_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio', - exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioRequest.SerializeToString, - exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AccountPortfolioBalances(request, - target, - options=(), - channel_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_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances', - exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesRequest.SerializeToString, - exchange_dot_injective__portfolio__rpc__pb2.AccountPortfolioBalancesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamAccountPortfolio(request, - 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_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio', - exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioRequest.SerializeToString, - exchange_dot_injective__portfolio__rpc__pb2.StreamAccountPortfolioResponse.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 deleted file mode 100644 index 69db7106..00000000 --- a/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2.py +++ /dev/null @@ -1,125 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_spot_exchange_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_spot_exchange_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\037com.injective_spot_exchange_rpcB\035InjectiveSpotExchangeRpcProtoP\001Z\036/injective_spot_exchange_rpcpb\242\002\003IXX\252\002\030InjectiveSpotExchangeRpc\312\002\030InjectiveSpotExchangeRpc\342\002$InjectiveSpotExchangeRpc\\GPBMetadata\352\002\030InjectiveSpotExchangeRpc' - _globals['_MARKETSREQUEST']._serialized_start=76 - _globals['_MARKETSREQUEST']._serialized_end=234 - _globals['_MARKETSRESPONSE']._serialized_start=236 - _globals['_MARKETSRESPONSE']._serialized_end=324 - _globals['_SPOTMARKETINFO']._serialized_start=327 - _globals['_SPOTMARKETINFO']._serialized_end=920 - _globals['_TOKENMETA']._serialized_start=923 - _globals['_TOKENMETA']._serialized_end=1083 - _globals['_MARKETREQUEST']._serialized_start=1085 - _globals['_MARKETREQUEST']._serialized_end=1129 - _globals['_MARKETRESPONSE']._serialized_start=1131 - _globals['_MARKETRESPONSE']._serialized_end=1216 - _globals['_STREAMMARKETSREQUEST']._serialized_start=1218 - _globals['_STREAMMARKETSREQUEST']._serialized_end=1271 - _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 -# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2_grpc.py deleted file mode 100644 index 5559f838..00000000 --- a/pyinjective/proto/exchange/injective_spot_exchange_rpc_pb2_grpc.py +++ /dev/null @@ -1,829 +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.exchange import injective_spot_exchange_rpc_pb2 as exchange_dot_injective__spot__exchange__rpc__pb2 - - -class InjectiveSpotExchangeRPCStub(object): - """InjectiveSpotExchangeRPC defines gRPC API of Spot Exchange provider. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Markets = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketsResponse.FromString, - _registered_method=True) - self.Market = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketResponse.FromString, - _registered_method=True) - self.StreamMarkets = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsResponse.FromString, - _registered_method=True) - self.OrderbookV2 = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Response.FromString, - _registered_method=True) - self.OrderbooksV2 = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Response.FromString, - _registered_method=True) - self.StreamOrderbookV2 = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Response.FromString, - _registered_method=True) - self.StreamOrderbookUpdate = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateResponse.FromString, - _registered_method=True) - self.Orders = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersResponse.FromString, - _registered_method=True) - self.StreamOrders = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersResponse.FromString, - _registered_method=True) - self.Trades = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesResponse.FromString, - _registered_method=True) - self.StreamTrades = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesResponse.FromString, - _registered_method=True) - self.TradesV2 = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Response.FromString, - _registered_method=True) - self.StreamTradesV2 = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Request.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Response.FromString, - _registered_method=True) - self.SubaccountOrdersList = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString, - _registered_method=True) - self.SubaccountTradesList = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListResponse.FromString, - _registered_method=True) - self.OrdersHistory = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersHistoryResponse.FromString, - _registered_method=True) - self.StreamOrdersHistory = channel.unary_stream( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryResponse.FromString, - _registered_method=True) - self.AtomicSwapHistory = channel.unary_unary( - '/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory', - request_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryRequest.SerializeToString, - response_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryResponse.FromString, - _registered_method=True) - - -class InjectiveSpotExchangeRPCServicer(object): - """InjectiveSpotExchangeRPC defines gRPC API of Spot Exchange provider. - """ - - def Markets(self, request, context): - """Get a list of Spot Markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Market(self, request, context): - """Get details of a single spot market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamMarkets(self, request, context): - """Stream live updates of selected spot markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrderbookV2(self, request, context): - """Orderbook of a Spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrderbooksV2(self, request, context): - """Orderbook of Spot Markets - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamOrderbookV2(self, request, context): - """Stream live snapshot updates of selected spot market orderbook - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamOrderbookUpdate(self, request, context): - """Stream live level updates of selected spot market orderbook - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Orders(self, request, context): - """Orders of a Spot Market - """ - 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 individual orders of a Spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Trades(self, request, context): - """Trades of a Spot Market - """ - 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 Spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def TradesV2(self, request, context): - """Trades of a Spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StreamTradesV2(self, request, context): - """Stream newly executed trades from Spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountOrdersList(self, request, context): - """List orders posted from this subaccount - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubaccountTradesList(self, request, context): - """List trades executed by this subaccount - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OrdersHistory(self, request, context): - """Lists history orders posted from this subaccount - """ - 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 historical orders of a spot Market - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AtomicSwapHistory(self, request, context): - """Get historical atomic swaps - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_InjectiveSpotExchangeRPCServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Markets': grpc.unary_unary_rpc_method_handler( - servicer.Markets, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketsRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketsResponse.SerializeToString, - ), - 'Market': grpc.unary_unary_rpc_method_handler( - servicer.Market, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.MarketResponse.SerializeToString, - ), - 'StreamMarkets': grpc.unary_stream_rpc_method_handler( - servicer.StreamMarkets, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsResponse.SerializeToString, - ), - 'OrderbookV2': grpc.unary_unary_rpc_method_handler( - servicer.OrderbookV2, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Request.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Response.SerializeToString, - ), - 'OrderbooksV2': grpc.unary_unary_rpc_method_handler( - servicer.OrderbooksV2, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Request.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Response.SerializeToString, - ), - 'StreamOrderbookV2': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrderbookV2, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Request.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Response.SerializeToString, - ), - 'StreamOrderbookUpdate': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrderbookUpdate, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateResponse.SerializeToString, - ), - 'Orders': grpc.unary_unary_rpc_method_handler( - servicer.Orders, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersResponse.SerializeToString, - ), - 'StreamOrders': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrders, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersResponse.SerializeToString, - ), - 'Trades': grpc.unary_unary_rpc_method_handler( - servicer.Trades, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesResponse.SerializeToString, - ), - 'StreamTrades': grpc.unary_stream_rpc_method_handler( - servicer.StreamTrades, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesResponse.SerializeToString, - ), - 'TradesV2': grpc.unary_unary_rpc_method_handler( - servicer.TradesV2, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Request.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Response.SerializeToString, - ), - 'StreamTradesV2': grpc.unary_stream_rpc_method_handler( - servicer.StreamTradesV2, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Request.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Response.SerializeToString, - ), - 'SubaccountOrdersList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountOrdersList, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListResponse.SerializeToString, - ), - 'SubaccountTradesList': grpc.unary_unary_rpc_method_handler( - servicer.SubaccountTradesList, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListResponse.SerializeToString, - ), - 'OrdersHistory': grpc.unary_unary_rpc_method_handler( - servicer.OrdersHistory, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersHistoryRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.OrdersHistoryResponse.SerializeToString, - ), - 'StreamOrdersHistory': grpc.unary_stream_rpc_method_handler( - servicer.StreamOrdersHistory, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryResponse.SerializeToString, - ), - 'AtomicSwapHistory': grpc.unary_unary_rpc_method_handler( - servicer.AtomicSwapHistory, - request_deserializer=exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryRequest.FromString, - response_serializer=exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_spot_exchange_rpc.InjectiveSpotExchangeRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_spot_exchange_rpc.InjectiveSpotExchangeRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveSpotExchangeRPC(object): - """InjectiveSpotExchangeRPC defines gRPC API of Spot Exchange provider. - """ - - @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_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets', - exchange_dot_injective__spot__exchange__rpc__pb2.MarketsRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.MarketsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def Market(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market', - exchange_dot_injective__spot__exchange__rpc__pb2.MarketRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.MarketResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamMarkets(request, - 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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamMarketsResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def OrderbookV2(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2', - exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Request.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.OrderbookV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def OrderbooksV2(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2', - exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.OrderbooksV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamOrderbookV2(request, - 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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamOrderbookUpdate(request, - 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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrderbookUpdateResponse.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_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders', - exchange_dot_injective__spot__exchange__rpc__pb2.OrdersRequest.SerializeToString, - exchange_dot_injective__spot__exchange__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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString, - exchange_dot_injective__spot__exchange__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_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades', - exchange_dot_injective__spot__exchange__rpc__pb2.TradesRequest.SerializeToString, - exchange_dot_injective__spot__exchange__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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def TradesV2(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2', - exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Request.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.TradesV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def StreamTradesV2(request, - 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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Request.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamTradesV2Response.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountOrdersList(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList', - exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def SubaccountTradesList(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList', - exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.SubaccountTradesListResponse.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_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory', - exchange_dot_injective__spot__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString, - exchange_dot_injective__spot__exchange__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_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory', - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.StreamOrdersHistoryResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def AtomicSwapHistory(request, - target, - options=(), - channel_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_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory', - exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryRequest.SerializeToString, - exchange_dot_injective__spot__exchange__rpc__pb2.AtomicSwapHistoryResponse.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 deleted file mode 100644 index 833b12d5..00000000 --- a/pyinjective/proto/exchange/injective_trading_rpc_pb2.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: exchange/injective_trading_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_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') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_trading_rpc_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _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 -# @@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 deleted file mode 100644 index f0c3e8df..00000000 --- a/pyinjective/proto/exchange/injective_trading_rpc_pb2_grpc.py +++ /dev/null @@ -1,84 +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.exchange import injective_trading_rpc_pb2 as exchange_dot_injective__trading__rpc__pb2 - - -class InjectiveTradingRPCStub(object): - """InjectiveTradingStrategiesRPC defined a gRPC service for Injective Trading - Strategies. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.ListTradingStrategies = channel.unary_unary( - '/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies', - request_serializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesRequest.SerializeToString, - response_deserializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesResponse.FromString, - _registered_method=True) - - -class InjectiveTradingRPCServicer(object): - """InjectiveTradingStrategiesRPC defined a gRPC service for Injective Trading - Strategies. - """ - - def ListTradingStrategies(self, request, context): - """Lists all trading strategies - """ - 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 = { - 'ListTradingStrategies': grpc.unary_unary_rpc_method_handler( - servicer.ListTradingStrategies, - request_deserializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesRequest.FromString, - response_serializer=exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'injective_trading_rpc.InjectiveTradingRPC', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - server.add_registered_method_handlers('injective_trading_rpc.InjectiveTradingRPC', rpc_method_handlers) - - - # This class is part of an EXPERIMENTAL API. -class InjectiveTradingRPC(object): - """InjectiveTradingStrategiesRPC defined a gRPC service for Injective Trading - Strategies. - """ - - @staticmethod - def ListTradingStrategies(request, - target, - options=(), - channel_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/ListTradingStrategies', - exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesRequest.SerializeToString, - exchange_dot_injective__trading__rpc__pb2.ListTradingStrategiesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) diff --git a/pyinjective/proto/google/api/annotations_pb2.py b/pyinjective/proto/google/api/annotations_pb2.py index e746af34..984fed1f 100644 --- a/pyinjective/proto/google/api/annotations_pb2.py +++ b/pyinjective/proto/google/api/annotations_pb2.py @@ -12,7 +12,7 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.google.api import http_pb2 as google_dot_api_dot_http__pb2 +from google.api import http_pb2 as google_dot_api_dot_http__pb2 from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 diff --git a/pyinjective/proto/google/api/client_pb2.py b/pyinjective/proto/google/api/client_pb2.py index 57d8f80c..c010202a 100644 --- a/pyinjective/proto/google/api/client_pb2.py +++ b/pyinjective/proto/google/api/client_pb2.py @@ -12,12 +12,12 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.google.api import launch_stage_pb2 as google_dot_api_dot_launch__stage__pb2 +from google.api import launch_stage_pb2 as google_dot_api_dot_launch__stage__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 -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\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc5\x02\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\x90\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\"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\"\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\"4\n\x18SelectiveGapicGeneration\x12\x18\n\x07methods\x18\x01 \x03(\tR\x07methods*\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,42 +33,48 @@ _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=3895 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=4058 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=4060 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=4163 _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=2113 + _globals['_PYTHONSETTINGS']._serialized_start=2116 + _globals['_PYTHONSETTINGS']._serialized_end=2441 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2297 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2441 + _globals['_NODESETTINGS']._serialized_start=2443 + _globals['_NODESETTINGS']._serialized_end=2517 + _globals['_DOTNETSETTINGS']._serialized_start=2520 + _globals['_DOTNETSETTINGS']._serialized_end=3078 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2943 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3009 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=3011 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=3078 + _globals['_RUBYSETTINGS']._serialized_start=3080 + _globals['_RUBYSETTINGS']._serialized_end=3154 + _globals['_GOSETTINGS']._serialized_start=3157 + _globals['_GOSETTINGS']._serialized_end=3385 + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2943 + _globals['_GOSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3009 + _globals['_METHODSETTINGS']._serialized_start=3388 + _globals['_METHODSETTINGS']._serialized_end=3838 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3562 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3838 + _globals['_SELECTIVEGAPICGENERATION']._serialized_start=3840 + _globals['_SELECTIVEGAPICGENERATION']._serialized_end=3892 # @@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..f0101f4c 100644 --- a/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py +++ b/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py @@ -12,7 +12,7 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.google.api.expr.v1alpha1 import syntax_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_syntax__pb2 +from google.api.expr.v1alpha1 import syntax_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_syntax__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 diff --git a/pyinjective/proto/google/api/expr/v1alpha1/eval_pb2.py b/pyinjective/proto/google/api/expr/v1alpha1/eval_pb2.py index aac8f1d4..a0371b5e 100644 --- a/pyinjective/proto/google/api/expr/v1alpha1/eval_pb2.py +++ b/pyinjective/proto/google/api/expr/v1alpha1/eval_pb2.py @@ -12,7 +12,7 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.google.api.expr.v1alpha1 import value_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_value__pb2 +from google.api.expr.v1alpha1 import value_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_value__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 diff --git a/pyinjective/proto/google/api/expr/v1alpha1/explain_pb2.py b/pyinjective/proto/google/api/expr/v1alpha1/explain_pb2.py index 8bc899e7..908a7e4c 100644 --- a/pyinjective/proto/google/api/expr/v1alpha1/explain_pb2.py +++ b/pyinjective/proto/google/api/expr/v1alpha1/explain_pb2.py @@ -12,7 +12,7 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.google.api.expr.v1alpha1 import value_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_value__pb2 +from google.api.expr.v1alpha1 import value_pb2 as google_dot_api_dot_expr_dot_v1alpha1_dot_value__pb2 DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/api/expr/v1alpha1/explain.proto\x12\x18google.api.expr.v1alpha1\x1a$google/api/expr/v1alpha1/value.proto\"\xce\x01\n\x07\x45xplain\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\x1f.google.api.expr.v1alpha1.ValueR\x06values\x12I\n\nexpr_steps\x18\x02 \x03(\x0b\x32*.google.api.expr.v1alpha1.Explain.ExprStepR\texprSteps\x1a;\n\x08\x45xprStep\x12\x0e\n\x02id\x18\x01 \x01(\x03R\x02id\x12\x1f\n\x0bvalue_index\x18\x02 \x01(\x05R\nvalueIndex:\x02\x18\x01\x42\xf0\x01\n\x1c\x63om.google.api.expr.v1alpha1B\x0c\x45xplainProtoP\x01Z\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\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"<\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\"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\xffh\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\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -157,6 +157,10 @@ _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['_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 @@ -277,10 +281,10 @@ _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['_ORDERSIDE']._serialized_start=17798 + _globals['_ORDERSIDE']._serialized_end=17850 + _globals['_CANCELLATIONSTRATEGY']._serialized_start=17852 + _globals['_CANCELLATIONSTRATEGY']._serialized_end=17938 _globals['_SUBACCOUNT']._serialized_start=246 _globals['_SUBACCOUNT']._serialized_end=325 _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_start=327 @@ -529,20 +533,28 @@ _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=16541 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_end=16601 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_start=16604 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_end=16770 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_start=16772 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_end=16838 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_start=16841 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_end=17013 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=17015 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=17133 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=17135 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=17191 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=17194 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=17373 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=17375 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=17459 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=17461 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17549 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17551 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17610 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17613 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=17796 + _globals['_QUERY']._serialized_start=17941 + _globals['_QUERY']._serialized_end=31380 # @@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..08ff9a3a 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, @@ -321,6 +331,18 @@ 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 """ @@ -748,6 +770,16 @@ def GrantAuthorizations(self, request, context): 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, @@ -1060,6 +1092,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, diff --git a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py index 380cce40..e2952511 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\"\x82\n\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\x12r\n\x1b\x66ull_spot_orderbooks_filter\x18\x0b \x01(\x0b\x32-.injective.stream.v1beta1.FullOrderbookFilterB\x04\xc8\xde\x1f\x01R\x18\x66ullSpotOrderbooksFilter\x12~\n!full_derivative_orderbooks_filter\x18\x0c \x01(\x0b\x32-.injective.stream.v1beta1.FullOrderbookFilterB\x04\xc8\xde\x1f\x01R\x1e\x66ullDerivativeOrderbooksFilter\"\x89\t\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\x12l\n\x1b\x66ull_spot_orderbook_updates\x18\r \x03(\x0b\x32-.injective.stream.v1beta1.FullOrderbookUpdateR\x18\x66ullSpotOrderbookUpdates\x12x\n!full_derivative_orderbook_updates\x18\x0e \x03(\x0b\x32-.injective.stream.v1beta1.FullOrderbookUpdateR\x1e\x66ullDerivativeOrderbookUpdates\"n\n\x13\x46ullOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x45\n\torderbook\x18\x02 \x01(\x0b\x32\'.injective.stream.v1beta1.FullOrderbookR\torderbook\"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\"\xb4\x01\n\rFullOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x41\n\x04\x62uys\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x62uys\x12\x43\n\x05sells\x18\x03 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x05sells\"\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\"4\n\x13\x46ullOrderbookFilter\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) @@ -46,6 +46,10 @@ _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['full_spot_orderbooks_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['full_spot_orderbooks_filter']._serialized_options = b'\310\336\037\001' + _globals['_STREAMREQUEST'].fields_by_name['full_derivative_orderbooks_filter']._loaded_options = None + _globals['_STREAMREQUEST'].fields_by_name['full_derivative_orderbooks_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 @@ -80,52 +84,58 @@ _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=6275 + _globals['_ORDERUPDATESTATUS']._serialized_end=6351 _globals['_STREAMREQUEST']._serialized_start=205 - _globals['_STREAMREQUEST']._serialized_end=1243 - _globals['_STREAMRESPONSE']._serialized_start=1246 - _globals['_STREAMRESPONSE']._serialized_end=2175 - _globals['_ORDERBOOKUPDATE']._serialized_start=2177 - _globals['_ORDERBOOKUPDATE']._serialized_end=2279 - _globals['_ORDERBOOK']._serialized_start=2282 - _globals['_ORDERBOOK']._serialized_end=2456 - _globals['_BANKBALANCE']._serialized_start=2459 - _globals['_BANKBALANCE']._serialized_end=2603 - _globals['_SUBACCOUNTDEPOSITS']._serialized_start=2606 - _globals['_SUBACCOUNTDEPOSITS']._serialized_end=2742 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=2744 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=2854 - _globals['_SPOTORDERUPDATE']._serialized_start=2857 - _globals['_SPOTORDERUPDATE']._serialized_end=3051 - _globals['_SPOTORDER']._serialized_start=3053 - _globals['_SPOTORDER']._serialized_end=3165 - _globals['_DERIVATIVEORDERUPDATE']._serialized_start=3168 - _globals['_DERIVATIVEORDERUPDATE']._serialized_end=3374 - _globals['_DERIVATIVEORDER']._serialized_start=3377 - _globals['_DERIVATIVEORDER']._serialized_end=3530 - _globals['_POSITION']._serialized_start=3533 - _globals['_POSITION']._serialized_end=3924 - _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['_STREAMREQUEST']._serialized_end=1487 + _globals['_STREAMRESPONSE']._serialized_start=1490 + _globals['_STREAMRESPONSE']._serialized_end=2651 + _globals['_FULLORDERBOOKUPDATE']._serialized_start=2653 + _globals['_FULLORDERBOOKUPDATE']._serialized_end=2763 + _globals['_ORDERBOOKUPDATE']._serialized_start=2765 + _globals['_ORDERBOOKUPDATE']._serialized_end=2867 + _globals['_ORDERBOOK']._serialized_start=2870 + _globals['_ORDERBOOK']._serialized_end=3044 + _globals['_FULLORDERBOOK']._serialized_start=3047 + _globals['_FULLORDERBOOK']._serialized_end=3227 + _globals['_BANKBALANCE']._serialized_start=3230 + _globals['_BANKBALANCE']._serialized_end=3374 + _globals['_SUBACCOUNTDEPOSITS']._serialized_start=3377 + _globals['_SUBACCOUNTDEPOSITS']._serialized_end=3513 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=3515 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=3625 + _globals['_SPOTORDERUPDATE']._serialized_start=3628 + _globals['_SPOTORDERUPDATE']._serialized_end=3822 + _globals['_SPOTORDER']._serialized_start=3824 + _globals['_SPOTORDER']._serialized_end=3936 + _globals['_DERIVATIVEORDERUPDATE']._serialized_start=3939 + _globals['_DERIVATIVEORDERUPDATE']._serialized_end=4145 + _globals['_DERIVATIVEORDER']._serialized_start=4148 + _globals['_DERIVATIVEORDER']._serialized_end=4301 + _globals['_POSITION']._serialized_start=4304 + _globals['_POSITION']._serialized_end=4695 + _globals['_ORACLEPRICE']._serialized_start=4697 + _globals['_ORACLEPRICE']._serialized_end=4813 + _globals['_SPOTTRADE']._serialized_start=4816 + _globals['_SPOTTRADE']._serialized_end=5267 + _globals['_DERIVATIVETRADE']._serialized_start=5270 + _globals['_DERIVATIVETRADE']._serialized_end=5746 + _globals['_TRADESFILTER']._serialized_start=5748 + _globals['_TRADESFILTER']._serialized_end=5832 + _globals['_POSITIONSFILTER']._serialized_start=5834 + _globals['_POSITIONSFILTER']._serialized_end=5921 + _globals['_ORDERSFILTER']._serialized_start=5923 + _globals['_ORDERSFILTER']._serialized_end=6007 + _globals['_ORDERBOOKFILTER']._serialized_start=6009 + _globals['_ORDERBOOKFILTER']._serialized_end=6057 + _globals['_FULLORDERBOOKFILTER']._serialized_start=6059 + _globals['_FULLORDERBOOKFILTER']._serialized_end=6111 + _globals['_BANKBALANCESFILTER']._serialized_start=6113 + _globals['_BANKBALANCESFILTER']._serialized_end=6161 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_start=6163 + _globals['_SUBACCOUNTDEPOSITSFILTER']._serialized_end=6228 + _globals['_ORACLEPRICEFILTER']._serialized_start=6230 + _globals['_ORACLEPRICEFILTER']._serialized_end=6273 + _globals['_STREAM']._serialized_start=6353 + _globals['_STREAM']._serialized_end=6456 # @@protoc_insertion_point(module_scope) diff --git a/pyproject.toml b/pyproject.toml index a81d5acb..a93578c2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.8.2" +version = "1.8.3b" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" @@ -34,9 +34,11 @@ mnemonic = "*" protobuf = "^5.26.1" requests = "*" safe-pysha3 = "*" +google-api-core = "*" websockets = "*" web3 = "^6.0" + [tool.poetry.group.test.dependencies] pytest = "*" pytest-asyncio = "*" diff --git a/tests/client/chain/grpc/test_chain_grpc_auth_api.py b/tests/client/chain/grpc/test_chain_grpc_auth_api.py index 508c4026..8c1cda05 100644 --- a/tests/client/chain/grpc/test_chain_grpc_auth_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_auth_api.py @@ -5,7 +5,7 @@ from google.protobuf import any_pb2 from pyinjective.client.chain.grpc.chain_grpc_auth_api import ChainGrpcAuthApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.auth.v1beta1 import auth_pb2 as auth_pb, query_pb2 as auth_query_pb from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb 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..6f910098 100644 --- a/tests/client/chain/grpc/test_chain_grpc_authz_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_authz_api.py @@ -3,7 +3,7 @@ from google.protobuf import any_pb2 from pyinjective.client.chain.grpc.chain_grpc_authz_api import ChainGrpcAuthZApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption 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 diff --git a/tests/client/chain/grpc/test_chain_grpc_bank_api.py b/tests/client/chain/grpc/test_chain_grpc_bank_api.py index fbb155aa..8bd2c4ec 100644 --- a/tests/client/chain/grpc/test_chain_grpc_bank_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_bank_api.py @@ -4,7 +4,7 @@ import pytest from pyinjective.client.chain.grpc.chain_grpc_bank_api import ChainGrpcBankApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.bank.v1beta1 import bank_pb2 as bank_pb, query_pb2 as bank_query_pb from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb diff --git a/tests/client/chain/grpc/test_chain_grpc_distribution_api.py b/tests/client/chain/grpc/test_chain_grpc_distribution_api.py index 4f54b539..d80995f4 100644 --- a/tests/client/chain/grpc/test_chain_grpc_distribution_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_distribution_api.py @@ -4,7 +4,7 @@ import pytest from pyinjective.client.chain.grpc.chain_grpc_distribution_api import ChainGrpcDistributionApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model 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.cosmos.base.v1beta1 import coin_pb2 as coin_pb diff --git a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py index 7ec81981..37ff2a1e 100644 --- a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py @@ -4,7 +4,7 @@ import pytest from pyinjective.client.chain.grpc.chain_grpc_exchange_api import ChainGrpcExchangeApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model 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 ( diff --git a/tests/client/chain/grpc/test_chain_grpc_wasm_api.py b/tests/client/chain/grpc/test_chain_grpc_wasm_api.py index a8ebf1af..480fbc97 100644 --- a/tests/client/chain/grpc/test_chain_grpc_wasm_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_wasm_api.py @@ -5,7 +5,7 @@ import pytest from pyinjective.client.chain.grpc.chain_grpc_wasm_api import ChainGrpcWasmApi -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model 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.cosmwasm.wasm.v1 import query_pb2 as wasm_query_pb, types_pb2 as wasm_types_pb 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..2d9a1768 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 @@ -4,7 +4,7 @@ import grpc import pytest -from pyinjective.client.chain.grpc_stream.chain_grpc_chain_stream import ChainGrpcChainStream +from pyinjective.client.chain.grpc_stream import ChainGrpcChainStream from pyinjective.composer import Composer from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb diff --git a/tests/client/indexer/__init__.py b/tests/client/indexer/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/client/indexer/configurable_account_query_servicer.py b/tests/client/indexer/configurable_account_query_servicer.py deleted file mode 100644 index 161947c2..00000000 --- a/tests/client/indexer/configurable_account_query_servicer.py +++ /dev/null @@ -1,58 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_accounts_rpc_pb2 as exchange_accounts_pb, - injective_accounts_rpc_pb2_grpc as exchange_accounts_grpc, -) - - -class ConfigurableAccountQueryServicer(exchange_accounts_grpc.InjectiveAccountsRPCServicer): - def __init__(self): - super().__init__() - self.portfolio_responses = deque() - self.order_states_responses = deque() - self.subaccounts_list_responses = deque() - self.subaccount_balances_list_responses = deque() - self.subaccount_balance_responses = deque() - self.subaccount_history_responses = deque() - self.subaccount_order_summary_responses = deque() - self.rewards_responses = deque() - self.stream_subaccount_balance_responses = deque() - - async def Portfolio(self, request: exchange_accounts_pb.PortfolioRequest, context=None, metadata=None): - return self.portfolio_responses.pop() - - async def OrderStates(self, request: exchange_accounts_pb.OrderStatesRequest, context=None, metadata=None): - return self.order_states_responses.pop() - - async def SubaccountsList(self, request: exchange_accounts_pb.SubaccountsListRequest, context=None, metadata=None): - return self.subaccounts_list_responses.pop() - - async def SubaccountBalancesList( - self, request: exchange_accounts_pb.SubaccountBalancesListRequest, context=None, metadata=None - ): - return self.subaccount_balances_list_responses.pop() - - async def SubaccountBalanceEndpoint( - self, request: exchange_accounts_pb.SubaccountBalanceEndpointRequest, context=None, metadata=None - ): - return self.subaccount_balance_responses.pop() - - async def SubaccountHistory( - self, request: exchange_accounts_pb.SubaccountHistoryRequest, context=None, metadata=None - ): - return self.subaccount_history_responses.pop() - - async def SubaccountOrderSummary( - self, request: exchange_accounts_pb.SubaccountOrderSummaryRequest, context=None, metadata=None - ): - return self.subaccount_order_summary_responses.pop() - - async def Rewards(self, request: exchange_accounts_pb.RewardsRequest, context=None, metadata=None): - return self.rewards_responses.pop() - - async def StreamSubaccountBalance( - self, request: exchange_accounts_pb.SubaccountOrderSummaryRequest, context=None, metadata=None - ): - for event in self.stream_subaccount_balance_responses: - yield event diff --git a/tests/client/indexer/configurable_auction_query_servicer.py b/tests/client/indexer/configurable_auction_query_servicer.py deleted file mode 100644 index 606e2e0d..00000000 --- a/tests/client/indexer/configurable_auction_query_servicer.py +++ /dev/null @@ -1,24 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_auction_rpc_pb2 as exchange_auction_pb, - injective_auction_rpc_pb2_grpc as exchange_auction_grpc, -) - - -class ConfigurableAuctionQueryServicer(exchange_auction_grpc.InjectiveAuctionRPCServicer): - def __init__(self): - super().__init__() - self.auction_endpoint_responses = deque() - self.auctions_responses = deque() - self.stream_bids_responses = deque() - - async def AuctionEndpoint(self, request: exchange_auction_pb.AuctionEndpointRequest, context=None, metadata=None): - return self.auction_endpoint_responses.pop() - - async def Auctions(self, request: exchange_auction_pb.AuctionsRequest, context=None, metadata=None): - return self.auctions_responses.pop() - - async def StreamBids(self, request: exchange_auction_pb.StreamBidsRequest, context=None, metadata=None): - for event in self.stream_bids_responses: - yield event diff --git a/tests/client/indexer/configurable_derivative_query_servicer.py b/tests/client/indexer/configurable_derivative_query_servicer.py deleted file mode 100644 index 55a437e1..00000000 --- a/tests/client/indexer/configurable_derivative_query_servicer.py +++ /dev/null @@ -1,140 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb, - injective_derivative_exchange_rpc_pb2_grpc as exchange_derivative_grpc, -) - - -class ConfigurableDerivativeQueryServicer(exchange_derivative_grpc.InjectiveDerivativeExchangeRPCServicer): - def __init__(self): - super().__init__() - self.markets_responses = deque() - self.market_responses = deque() - self.binary_options_markets_responses = deque() - self.binary_options_market_responses = deque() - self.orderbook_v2_responses = deque() - self.orderbooks_v2_responses = deque() - self.orders_responses = deque() - self.positions_responses = deque() - self.positions_v2_responses = deque() - self.liquidable_positions_responses = deque() - self.funding_payments_responses = deque() - self.funding_rates_responses = deque() - self.trades_responses = deque() - self.trades_v2_responses = deque() - self.subaccount_orders_list_responses = deque() - self.subaccount_trades_list_responses = deque() - self.orders_history_responses = deque() - - self.stream_market_responses = deque() - self.stream_orderbook_v2_responses = deque() - self.stream_orderbook_update_responses = deque() - self.stream_positions_responses = deque() - self.stream_orders_responses = deque() - self.stream_trades_responses = deque() - self.stream_trades_v2_responses = deque() - self.stream_orders_history_responses = deque() - - async def Markets(self, request: exchange_derivative_pb.MarketsRequest, context=None, metadata=None): - return self.markets_responses.pop() - - async def Market(self, request: exchange_derivative_pb.MarketRequest, context=None, metadata=None): - return self.market_responses.pop() - - async def BinaryOptionsMarkets( - self, request: exchange_derivative_pb.BinaryOptionsMarketsRequest, context=None, metadata=None - ): - return self.binary_options_markets_responses.pop() - - async def BinaryOptionsMarket( - self, request: exchange_derivative_pb.BinaryOptionsMarketRequest, context=None, metadata=None - ): - return self.binary_options_market_responses.pop() - - async def OrderbookV2(self, request: exchange_derivative_pb.OrderbookV2Request, context=None, metadata=None): - return self.orderbook_v2_responses.pop() - - async def OrderbooksV2(self, request: exchange_derivative_pb.OrderbooksV2Request, context=None, metadata=None): - return self.orderbooks_v2_responses.pop() - - async def Orders(self, request: exchange_derivative_pb.OrdersRequest, context=None, metadata=None): - return self.orders_responses.pop() - - async def Positions(self, request: exchange_derivative_pb.PositionsRequest, context=None, metadata=None): - return self.positions_responses.pop() - - async def PositionsV2(self, request: exchange_derivative_pb.PositionsV2Request, context=None, metadata=None): - return self.positions_v2_responses.pop() - - async def LiquidablePositions( - self, request: exchange_derivative_pb.LiquidablePositionsRequest, context=None, metadata=None - ): - return self.liquidable_positions_responses.pop() - - async def FundingPayments( - self, request: exchange_derivative_pb.FundingPaymentsRequest, context=None, metadata=None - ): - return self.funding_payments_responses.pop() - - async def FundingRates(self, request: exchange_derivative_pb.FundingRatesRequest, context=None, metadata=None): - return self.funding_rates_responses.pop() - - async def Trades(self, request: exchange_derivative_pb.TradesRequest, context=None, metadata=None): - return self.trades_responses.pop() - - async def TradesV2(self, request: exchange_derivative_pb.TradesV2Request, context=None, metadata=None): - return self.trades_v2_responses.pop() - - async def SubaccountOrdersList( - self, request: exchange_derivative_pb.SubaccountOrdersListRequest, context=None, metadata=None - ): - return self.subaccount_orders_list_responses.pop() - - async def SubaccountTradesList( - self, request: exchange_derivative_pb.SubaccountTradesListRequest, context=None, metadata=None - ): - return self.subaccount_trades_list_responses.pop() - - async def OrdersHistory(self, request: exchange_derivative_pb.OrdersHistoryRequest, context=None, metadata=None): - return self.orders_history_responses.pop() - - async def StreamMarket(self, request: exchange_derivative_pb.StreamMarketRequest, context=None, metadata=None): - for event in self.stream_market_responses: - yield event - - async def StreamOrderbookV2( - self, request: exchange_derivative_pb.StreamOrderbookV2Request, context=None, metadata=None - ): - for event in self.stream_orderbook_v2_responses: - yield event - - async def StreamOrderbookUpdate( - self, request: exchange_derivative_pb.StreamOrderbookUpdateRequest, context=None, metadata=None - ): - for event in self.stream_orderbook_update_responses: - yield event - - async def StreamPositions( - self, request: exchange_derivative_pb.StreamPositionsRequest, context=None, metadata=None - ): - for event in self.stream_positions_responses: - yield event - - async def StreamOrders(self, request: exchange_derivative_pb.StreamOrdersRequest, context=None, metadata=None): - for event in self.stream_orders_responses: - yield event - - async def StreamTrades(self, request: exchange_derivative_pb.StreamTradesRequest, context=None, metadata=None): - for event in self.stream_trades_responses: - yield event - - async def StreamTradesV2(self, request: exchange_derivative_pb.StreamTradesV2Request, context=None, metadata=None): - for event in self.stream_trades_v2_responses: - yield event - - async def StreamOrdersHistory( - self, request: exchange_derivative_pb.StreamOrdersHistoryRequest, context=None, metadata=None - ): - for event in self.stream_orders_history_responses: - yield event diff --git a/tests/client/indexer/configurable_explorer_query_servicer.py b/tests/client/indexer/configurable_explorer_query_servicer.py deleted file mode 100644 index ce240bf3..00000000 --- a/tests/client/indexer/configurable_explorer_query_servicer.py +++ /dev/null @@ -1,112 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_explorer_rpc_pb2 as exchange_explorer_pb, - injective_explorer_rpc_pb2_grpc as exchange_explorer_grpc, -) - - -class ConfigurableExplorerQueryServicer(exchange_explorer_grpc.InjectiveExplorerRPCServicer): - def __init__(self): - super().__init__() - self.account_txs_responses = deque() - self.contract_txs_responses = deque() - self.blocks_responses = deque() - self.block_responses = deque() - self.validators_responses = deque() - self.validator_responses = deque() - self.validator_uptime_responses = deque() - self.txs_responses = deque() - self.tx_by_tx_hash_responses = deque() - self.peggy_deposit_txs_responses = deque() - self.peggy_withdrawal_txs_responses = deque() - self.ibc_transfer_txs_responses = deque() - self.wasm_codes_responses = deque() - self.wasm_code_by_id_responses = deque() - self.wasm_contracts_responses = deque() - self.wasm_contract_by_address_responses = deque() - self.cw20_balance_responses = deque() - self.relayers_responses = deque() - self.bank_transfers_responses = deque() - - self.stream_txs_responses = deque() - self.stream_blocks_responses = deque() - - async def GetAccountTxs(self, request: exchange_explorer_pb.GetAccountTxsRequest, context=None, metadata=None): - return self.account_txs_responses.pop() - - async def GetContractTxs(self, request: exchange_explorer_pb.GetContractTxsRequest, context=None, metadata=None): - return self.contract_txs_responses.pop() - - async def GetBlocks(self, request: exchange_explorer_pb.GetBlocksRequest, context=None, metadata=None): - return self.blocks_responses.pop() - - async def GetBlock(self, request: exchange_explorer_pb.GetBlockRequest, context=None, metadata=None): - return self.block_responses.pop() - - async def GetValidators(self, request: exchange_explorer_pb.GetValidatorsRequest, context=None, metadata=None): - return self.validators_responses.pop() - - async def GetValidator(self, request: exchange_explorer_pb.GetValidatorRequest, context=None, metadata=None): - return self.validator_responses.pop() - - async def GetValidatorUptime( - self, request: exchange_explorer_pb.GetValidatorUptimeRequest, context=None, metadata=None - ): - return self.validator_uptime_responses.pop() - - async def GetTxs(self, request: exchange_explorer_pb.GetTxsRequest, context=None, metadata=None): - return self.txs_responses.pop() - - async def GetTxByTxHash(self, request: exchange_explorer_pb.GetTxByTxHashRequest, context=None, metadata=None): - return self.tx_by_tx_hash_responses.pop() - - async def GetPeggyDepositTxs( - self, request: exchange_explorer_pb.GetPeggyDepositTxsRequest, context=None, metadata=None - ): - return self.peggy_deposit_txs_responses.pop() - - async def GetPeggyWithdrawalTxs( - self, request: exchange_explorer_pb.GetPeggyWithdrawalTxsRequest, context=None, metadata=None - ): - return self.peggy_withdrawal_txs_responses.pop() - - async def GetIBCTransferTxs( - self, request: exchange_explorer_pb.GetIBCTransferTxsRequest, context=None, metadata=None - ): - return self.ibc_transfer_txs_responses.pop() - - async def GetWasmCodes(self, request: exchange_explorer_pb.GetWasmCodesRequest, context=None, metadata=None): - return self.wasm_codes_responses.pop() - - async def GetWasmCodeByID(self, request: exchange_explorer_pb.GetWasmCodeByIDRequest, context=None, metadata=None): - return self.wasm_code_by_id_responses.pop() - - async def GetWasmContracts( - self, request: exchange_explorer_pb.GetWasmContractsRequest, context=None, metadata=None - ): - return self.wasm_contracts_responses.pop() - - async def GetWasmContractByAddress( - self, request: exchange_explorer_pb.GetWasmContractByAddressRequest, context=None, metadata=None - ): - return self.wasm_contract_by_address_responses.pop() - - async def GetCw20Balance(self, request: exchange_explorer_pb.GetCw20BalanceRequest, context=None, metadata=None): - return self.cw20_balance_responses.pop() - - async def Relayers(self, request: exchange_explorer_pb.RelayersRequest, context=None, metadata=None): - return self.relayers_responses.pop() - - async def GetBankTransfers( - self, request: exchange_explorer_pb.GetBankTransfersRequest, context=None, metadata=None - ): - return self.bank_transfers_responses.pop() - - async def StreamTxs(self, request: exchange_explorer_pb.StreamTxsRequest, context=None, metadata=None): - for event in self.stream_txs_responses: - yield event - - async def StreamBlocks(self, request: exchange_explorer_pb.StreamBlocksRequest, context=None, metadata=None): - for event in self.stream_blocks_responses: - yield event diff --git a/tests/client/indexer/configurable_insurance_query_servicer.py b/tests/client/indexer/configurable_insurance_query_servicer.py deleted file mode 100644 index aa4e0491..00000000 --- a/tests/client/indexer/configurable_insurance_query_servicer.py +++ /dev/null @@ -1,19 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_insurance_rpc_pb2 as exchange_insurance_pb, - injective_insurance_rpc_pb2_grpc as exchange_insurance_grpc, -) - - -class ConfigurableInsuranceQueryServicer(exchange_insurance_grpc.InjectiveInsuranceRPCServicer): - def __init__(self): - super().__init__() - self.funds_responses = deque() - self.redemptions_responses = deque() - - async def Funds(self, request: exchange_insurance_pb.FundsRequest, context=None, metadata=None): - return self.funds_responses.pop() - - async def Redemptions(self, request: exchange_insurance_pb.RedemptionsRequest, context=None, metadata=None): - return self.redemptions_responses.pop() diff --git a/tests/client/indexer/configurable_meta_query_servicer.py b/tests/client/indexer/configurable_meta_query_servicer.py deleted file mode 100644 index 8c8997d0..00000000 --- a/tests/client/indexer/configurable_meta_query_servicer.py +++ /dev/null @@ -1,28 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_meta_rpc_pb2 as exchange_meta_pb, - injective_meta_rpc_pb2_grpc as exchange_meta_grpc, -) - - -class ConfigurableMetaQueryServicer(exchange_meta_grpc.InjectiveMetaRPCServicer): - def __init__(self): - super().__init__() - self.ping_responses = deque() - self.version_responses = deque() - self.info_responses = deque() - self.stream_keepalive_responses = deque() - - async def Ping(self, request: exchange_meta_pb.PingRequest, context=None, metadata=None): - return self.ping_responses.pop() - - async def Version(self, request: exchange_meta_pb.VersionRequest, context=None, metadata=None): - return self.version_responses.pop() - - async def Info(self, request: exchange_meta_pb.InfoRequest, context=None, metadata=None): - return self.info_responses.pop() - - async def StreamKeepalive(self, request: exchange_meta_pb.StreamKeepaliveRequest, context=None, metadata=None): - for event in self.stream_keepalive_responses: - yield event diff --git a/tests/client/indexer/configurable_oracle_query_servicer.py b/tests/client/indexer/configurable_oracle_query_servicer.py deleted file mode 100644 index c7c06820..00000000 --- a/tests/client/indexer/configurable_oracle_query_servicer.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_oracle_rpc_pb2 as exchange_oracle_pb, - injective_oracle_rpc_pb2_grpc as exchange_oracle_grpc, -) - - -class ConfigurableOracleQueryServicer(exchange_oracle_grpc.InjectiveOracleRPCServicer): - def __init__(self): - super().__init__() - self.oracle_list_responses = deque() - self.price_responses = deque() - self.stream_prices_responses = deque() - self.stream_prices_by_markets_responses = deque() - - async def OracleList(self, request: exchange_oracle_pb.OracleListRequest, context=None, metadata=None): - return self.oracle_list_responses.pop() - - async def Price(self, request: exchange_oracle_pb.PriceRequest, context=None, metadata=None): - return self.price_responses.pop() - - async def StreamPrices(self, request: exchange_oracle_pb.StreamPricesRequest, context=None, metadata=None): - for event in self.stream_prices_responses: - yield event - - async def StreamPricesByMarkets( - self, request: exchange_oracle_pb.StreamPricesByMarketsRequest, context=None, metadata=None - ): - for event in self.stream_prices_by_markets_responses: - yield event diff --git a/tests/client/indexer/configurable_portfolio_query_servicer.py b/tests/client/indexer/configurable_portfolio_query_servicer.py deleted file mode 100644 index 49e98063..00000000 --- a/tests/client/indexer/configurable_portfolio_query_servicer.py +++ /dev/null @@ -1,30 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_portfolio_rpc_pb2 as exchange_portfolio_pb, - injective_portfolio_rpc_pb2_grpc as exchange_portfolio_grpc, -) - - -class ConfigurablePortfolioQueryServicer(exchange_portfolio_grpc.InjectivePortfolioRPCServicer): - def __init__(self): - super().__init__() - self.account_portfolio_responses = deque() - self.account_portfolio_balances_responses = deque() - self.stream_account_portfolio_responses = deque() - - async def AccountPortfolio( - self, request: exchange_portfolio_pb.AccountPortfolioRequest, context=None, metadata=None - ): - return self.account_portfolio_responses.pop() - - async def AccountPortfolioBalances( - self, request: exchange_portfolio_pb.AccountPortfolioBalancesRequest, context=None, metadata=None - ): - return self.account_portfolio_balances_responses.pop() - - async def StreamAccountPortfolio( - self, request: exchange_portfolio_pb.StreamAccountPortfolioRequest, context=None, metadata=None - ): - for event in self.stream_account_portfolio_responses: - yield event diff --git a/tests/client/indexer/configurable_spot_query_servicer.py b/tests/client/indexer/configurable_spot_query_servicer.py deleted file mode 100644 index e38ae15f..00000000 --- a/tests/client/indexer/configurable_spot_query_servicer.py +++ /dev/null @@ -1,99 +0,0 @@ -from collections import deque - -from pyinjective.proto.exchange import ( - injective_spot_exchange_rpc_pb2 as exchange_spot_pb, - injective_spot_exchange_rpc_pb2_grpc as exchange_spot_grpc, -) - - -class ConfigurableSpotQueryServicer(exchange_spot_grpc.InjectiveSpotExchangeRPCServicer): - def __init__(self): - super().__init__() - self.markets_responses = deque() - self.market_responses = deque() - self.orderbook_v2_responses = deque() - self.orderbooks_v2_responses = deque() - self.orders_responses = deque() - self.trades_responses = deque() - self.trades_v2_responses = deque() - self.subaccount_orders_list_responses = deque() - self.subaccount_trades_list_responses = deque() - self.orders_history_responses = deque() - self.atomic_swap_history_responses = deque() - - self.stream_markets_responses = deque() - self.stream_orderbook_v2_responses = deque() - self.stream_orderbook_update_responses = deque() - self.stream_orders_responses = deque() - self.stream_trades_responses = deque() - self.stream_trades_v2_responses = deque() - self.stream_orders_history_responses = deque() - - async def Markets(self, request: exchange_spot_pb.MarketsRequest, context=None, metadata=None): - return self.markets_responses.pop() - - async def Market(self, request: exchange_spot_pb.MarketRequest, context=None, metadata=None): - return self.market_responses.pop() - - async def OrderbookV2(self, request: exchange_spot_pb.OrderbookV2Request, context=None, metadata=None): - return self.orderbook_v2_responses.pop() - - async def OrderbooksV2(self, request: exchange_spot_pb.OrderbooksV2Request, context=None, metadata=None): - return self.orderbooks_v2_responses.pop() - - async def Orders(self, request: exchange_spot_pb.OrdersRequest, context=None, metadata=None): - return self.orders_responses.pop() - - async def Trades(self, request: exchange_spot_pb.TradesRequest, context=None, metadata=None): - return self.trades_responses.pop() - - async def TradesV2(self, request: exchange_spot_pb.TradesV2Request, context=None, metadata=None): - return self.trades_v2_responses.pop() - - async def SubaccountOrdersList( - self, request: exchange_spot_pb.SubaccountOrdersListRequest, context=None, metadata=None - ): - return self.subaccount_orders_list_responses.pop() - - async def SubaccountTradesList( - self, request: exchange_spot_pb.SubaccountTradesListRequest, context=None, metadata=None - ): - return self.subaccount_trades_list_responses.pop() - - async def OrdersHistory(self, request: exchange_spot_pb.OrdersHistoryRequest, context=None, metadata=None): - return self.orders_history_responses.pop() - - async def AtomicSwapHistory(self, request: exchange_spot_pb.AtomicSwapHistoryRequest, context=None, metadata=None): - return self.atomic_swap_history_responses.pop() - - async def StreamMarkets(self, request: exchange_spot_pb.StreamMarketsRequest, context=None, metadata=None): - for event in self.stream_markets_responses: - yield event - - async def StreamOrderbookV2(self, request: exchange_spot_pb.StreamOrderbookV2Request, context=None, metadata=None): - for event in self.stream_orderbook_v2_responses: - yield event - - async def StreamOrderbookUpdate( - self, request: exchange_spot_pb.StreamOrderbookUpdateRequest, context=None, metadata=None - ): - for event in self.stream_orderbook_update_responses: - yield event - - async def StreamOrders(self, request: exchange_spot_pb.StreamOrdersRequest, context=None, metadata=None): - for event in self.stream_orders_responses: - yield event - - async def StreamTrades(self, request: exchange_spot_pb.StreamTradesRequest, context=None, metadata=None): - for event in self.stream_trades_responses: - yield event - - async def StreamTradesV2(self, request: exchange_spot_pb.StreamTradesV2Request, context=None, metadata=None): - for event in self.stream_trades_v2_responses: - yield event - - async def StreamOrdersHistory( - self, request: exchange_spot_pb.StreamOrdersHistoryRequest, context=None, metadata=None - ): - for event in self.stream_orders_history_responses: - yield event diff --git a/tests/client/indexer/grpc/__init__.py b/tests/client/indexer/grpc/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/client/indexer/grpc/test_indexer_grpc_account_api.py b/tests/client/indexer/grpc/test_indexer_grpc_account_api.py deleted file mode 100644 index 85443837..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_account_api.py +++ /dev/null @@ -1,371 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_account_api import IndexerGrpcAccountApi -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_accounts_rpc_pb2 as exchange_accounts_pb -from tests.client.indexer.configurable_account_query_servicer import ConfigurableAccountQueryServicer - - -@pytest.fixture -def account_servicer(): - return ConfigurableAccountQueryServicer() - - -class TestIndexerGrpcAccountApi: - @pytest.mark.asyncio - async def test_fetch_portfolio( - self, - account_servicer, - ): - subaccount_portfolio = exchange_accounts_pb.SubaccountPortfolio( - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000006", - available_balance="1", - locked_balance="2", - unrealized_pnl="3", - ) - portfolio = exchange_accounts_pb.AccountPortfolio( - portfolio_value="173706.418", - available_balance="99.8782", - locked_balance="186055.7038", - unrealized_pnl="-12449.1635", - subaccounts=[subaccount_portfolio], - ) - account_servicer.portfolio_responses.append(exchange_accounts_pb.PortfolioResponse(portfolio=portfolio)) - - api = self._api_instance(servicer=account_servicer) - - account_address = "inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku" - result_portfolio = await api.fetch_portfolio(account_address=account_address) - expected_portfolio = { - "portfolio": { - "portfolioValue": portfolio.portfolio_value, - "availableBalance": portfolio.available_balance, - "lockedBalance": portfolio.locked_balance, - "unrealizedPnl": portfolio.unrealized_pnl, - "subaccounts": [ - { - "subaccountId": subaccount_portfolio.subaccount_id, - "availableBalance": subaccount_portfolio.available_balance, - "lockedBalance": subaccount_portfolio.locked_balance, - "unrealizedPnl": subaccount_portfolio.unrealized_pnl, - }, - ], - } - } - - assert expected_portfolio == result_portfolio - - @pytest.mark.asyncio - async def test_order_states( - self, - account_servicer, - ): - order_state = exchange_accounts_pb.OrderStateRecord( - order_hash="0xce0d9b701f77cd6ddfda5dd3a4fe7b2d53ba83e5d6c054fb2e9e886200b7b7bb", - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000006", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - order_type="buy_po", - order_side="buy", - state="canceled", - quantity_filled="0", - quantity_remaining="1000000000000000", - created_at=1669998526840, - updated_at=1670919410587, - price="0.000000000000001", - margin="", - ) - account_servicer.order_states_responses.append( - exchange_accounts_pb.OrderStatesResponse(spot_order_states=[order_state]) - ) - - api = self._api_instance(servicer=account_servicer) - - result_order_states = await api.fetch_order_states(spot_order_hashes=[order_state.order_hash]) - expected_order_states = { - "spotOrderStates": [ - { - "orderHash": order_state.order_hash, - "subaccountId": order_state.subaccount_id, - "marketId": order_state.market_id, - "orderType": order_state.order_type, - "orderSide": order_state.order_side, - "state": order_state.state, - "quantityFilled": order_state.quantity_filled, - "quantityRemaining": order_state.quantity_remaining, - "createdAt": str(order_state.created_at), - "updatedAt": str(order_state.updated_at), - "price": (order_state.price), - "margin": (order_state.margin), - } - ], - "derivativeOrderStates": [], - } - - assert result_order_states == expected_order_states - - @pytest.mark.asyncio - async def test_subaccounts_list( - self, - account_servicer, - ): - account_servicer.subaccounts_list_responses.append( - exchange_accounts_pb.SubaccountsListResponse( - subaccounts=["0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000006"] - ) - ) - - api = self._api_instance(servicer=account_servicer) - - result_subaccounts_list = await api.fetch_subaccounts_list(address="testAddress") - expected_subaccounts_list = { - "subaccounts": ["0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000006"] - } - - assert result_subaccounts_list == expected_subaccounts_list - - @pytest.mark.asyncio - async def test_subaccount_balances_list( - self, - account_servicer, - ): - deposit = exchange_accounts_pb.SubaccountDeposit( - total_balance="20", - available_balance="10", - ) - balance = exchange_accounts_pb.SubaccountBalance( - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - account_address="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", - denom="inj", - deposit=deposit, - ) - account_servicer.subaccount_balances_list_responses.append( - exchange_accounts_pb.SubaccountBalancesListResponse(balances=[balance]) - ) - - api = self._api_instance(servicer=account_servicer) - - result_subaccount_balances_list = await api.fetch_subaccount_balances_list( - subaccount_id=balance.subaccount_id, denoms=[balance.denom] - ) - expected_subaccount_balances_list = { - "balances": [ - { - "subaccountId": balance.subaccount_id, - "accountAddress": balance.account_address, - "denom": balance.denom, - "deposit": { - "totalBalance": deposit.total_balance, - "availableBalance": deposit.available_balance, - }, - }, - ] - } - - assert result_subaccount_balances_list == expected_subaccount_balances_list - - @pytest.mark.asyncio - async def test_subaccount_balance( - self, - account_servicer, - ): - deposit = exchange_accounts_pb.SubaccountDeposit( - total_balance="20", - available_balance="10", - ) - balance = exchange_accounts_pb.SubaccountBalance( - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - account_address="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", - denom="inj", - deposit=deposit, - ) - account_servicer.subaccount_balance_responses.append( - exchange_accounts_pb.SubaccountBalanceEndpointResponse(balance=balance) - ) - - api = self._api_instance(servicer=account_servicer) - - result_subaccount_balance = await api.fetch_subaccount_balance( - subaccount_id=balance.subaccount_id, - denom=balance.denom, - ) - expected_subaccount_balance = { - "balance": { - "subaccountId": balance.subaccount_id, - "accountAddress": balance.account_address, - "denom": balance.denom, - "deposit": { - "totalBalance": deposit.total_balance, - "availableBalance": deposit.available_balance, - }, - }, - } - - assert result_subaccount_balance == expected_subaccount_balance - - @pytest.mark.asyncio - async def test_subaccount_history( - self, - account_servicer, - ): - transfer = exchange_accounts_pb.SubaccountBalanceTransfer( - transfer_type="deposit", - src_account_address="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", - dst_subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - amount=exchange_accounts_pb.CosmosCoin( - denom="inj", - amount="2000000000000000000", - ), - executed_at=1665117493543, - src_subaccount_id="", - dst_account_address="", - ) - - paging = exchange_accounts_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - account_servicer.subaccount_history_responses.append( - exchange_accounts_pb.SubaccountHistoryResponse(transfers=[transfer], paging=paging) - ) - - api = self._api_instance(servicer=account_servicer) - - result_subaccount_history = await api.fetch_subaccount_history( - subaccount_id=transfer.dst_subaccount_id, - denom=transfer.amount.denom, - transfer_types=[transfer.transfer_type], - pagination=PaginationOption( - skip=0, - limit=100, - end_time=1699744939364, - ), - ) - expected_subaccount_history = { - "transfers": [ - { - "transferType": transfer.transfer_type, - "srcAccountAddress": transfer.src_account_address, - "dstSubaccountId": transfer.dst_subaccount_id, - "amount": {"denom": transfer.amount.denom, "amount": "2000000000000000000"}, - "executedAt": str(transfer.executed_at), - "srcSubaccountId": transfer.src_subaccount_id, - "dstAccountAddress": transfer.dst_account_address, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_subaccount_history == expected_subaccount_history - - @pytest.mark.asyncio - async def test_subaccount_order_summary( - self, - account_servicer, - ): - account_servicer.subaccount_order_summary_responses.append( - exchange_accounts_pb.SubaccountOrderSummaryResponse(spot_orders_total=0, derivative_orders_total=20) - ) - - api = self._api_instance(servicer=account_servicer) - - result_subaccount_order_summary = await api.fetch_subaccount_order_summary( - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - order_direction="buy", - ) - expected_subaccount_order_summary = {"derivativeOrdersTotal": "20", "spotOrdersTotal": "0"} - - assert result_subaccount_order_summary == expected_subaccount_order_summary - - @pytest.mark.asyncio - async def test_fetch_rewards( - self, - account_servicer, - ): - single_reward = exchange_accounts_pb.Coin( - denom="inj", - amount="2000000000000000000", - ) - - reward = exchange_accounts_pb.Reward( - account_address="inj1qra8c03h70y36j85dpvtj05juxe9z7acuvz6vg", - rewards=[single_reward], - distributed_at=1672218001897, - ) - - account_servicer.rewards_responses.append(exchange_accounts_pb.RewardsResponse(rewards=[reward])) - - api = self._api_instance(servicer=account_servicer) - - result_rewards = await api.fetch_rewards(account_address=reward.account_address, epoch=1) - expected_rewards = { - "rewards": [ - { - "accountAddress": reward.account_address, - "rewards": [ - { - "denom": single_reward.denom, - "amount": single_reward.amount, - } - ], - "distributedAt": str(reward.distributed_at), - } - ] - } - - assert result_rewards == expected_rewards - - @pytest.mark.asyncio - async def test_fetch_rewards( - self, - account_servicer, - ): - single_reward = exchange_accounts_pb.Coin( - denom="inj", - amount="2000000000000000000", - ) - - reward = exchange_accounts_pb.Reward( - account_address="inj1qra8c03h70y36j85dpvtj05juxe9z7acuvz6vg", - rewards=[single_reward], - distributed_at=1672218001897, - ) - - account_servicer.rewards_responses.append(exchange_accounts_pb.RewardsResponse(rewards=[reward])) - - api = self._api_instance(servicer=account_servicer) - - result_rewards = await api.fetch_rewards(account_address=reward.account_address, epoch=1) - expected_rewards = { - "rewards": [ - { - "accountAddress": reward.account_address, - "rewards": [ - { - "denom": single_reward.denom, - "amount": single_reward.amount, - } - ], - "distributedAt": str(reward.distributed_at), - } - ] - } - - assert result_rewards == expected_rewards - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcAccountApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py b/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py deleted file mode 100644 index f9d372c7..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_auction_api.py +++ /dev/null @@ -1,120 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_auction_api import IndexerGrpcAuctionApi -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_auction_rpc_pb2 as exchange_auction_pb -from tests.client.indexer.configurable_auction_query_servicer import ConfigurableAuctionQueryServicer - - -@pytest.fixture -def auction_servicer(): - return ConfigurableAuctionQueryServicer() - - -class TestIndexerGrpcAuctionApi: - @pytest.mark.asyncio - async def test_fetch_auction( - self, - auction_servicer, - ): - coin = exchange_auction_pb.Coin( - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - amount="2322098", - ) - auction = exchange_auction_pb.Auction( - winner="inj1uyk56r3xdcf60jwrmn7p9rgla9dc4gam56ajrq", - basket=[coin], - winning_bid_amount="2000000000000000000", - round=31, - end_timestamp=1676013187000, - updated_at=1677075140258, - ) - - bid = exchange_auction_pb.Bid( - bidder="inj1pdxq82m20fzkjn2th2mm5jp7t5ex6j6klf9cs5", - amount="1000000000000000000", - timestamp=1675426622603, - ) - - auction_servicer.auction_endpoint_responses.append( - exchange_auction_pb.AuctionEndpointResponse( - auction=auction, - bids=[bid], - ) - ) - - api = self._api_instance(servicer=auction_servicer) - - result_auction = await api.fetch_auction(round=auction.round) - expected_auction = { - "auction": { - "winner": auction.winner, - "basket": [ - { - "denom": coin.denom, - "amount": coin.amount, - } - ], - "winningBidAmount": auction.winning_bid_amount, - "round": str(auction.round), - "endTimestamp": str(auction.end_timestamp), - "updatedAt": str(auction.updated_at), - }, - "bids": [{"amount": bid.amount, "bidder": bid.bidder, "timestamp": str(bid.timestamp)}], - } - - assert result_auction == expected_auction - - @pytest.mark.asyncio - async def test_fetch_auctions( - self, - auction_servicer, - ): - coin = exchange_auction_pb.Coin( - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - amount="2322098", - ) - auction = exchange_auction_pb.Auction( - winner="inj1uyk56r3xdcf60jwrmn7p9rgla9dc4gam56ajrq", - basket=[coin], - winning_bid_amount="2000000000000000000", - round=31, - end_timestamp=1676013187000, - updated_at=1677075140258, - ) - - auction_servicer.auctions_responses.append(exchange_auction_pb.AuctionsResponse(auctions=[auction])) - - api = self._api_instance(servicer=auction_servicer) - - result_auctions = await api.fetch_auctions() - expected_auctions = { - "auctions": [ - { - "winner": auction.winner, - "basket": [ - { - "denom": coin.denom, - "amount": coin.amount, - } - ], - "winningBidAmount": auction.winning_bid_amount, - "round": str(auction.round), - "endTimestamp": str(auction.end_timestamp), - "updatedAt": str(auction.updated_at), - } - ] - } - - assert result_auctions == expected_auctions - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcAuctionApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py b/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py deleted file mode 100644 index 3f106dfc..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_derivative_api.py +++ /dev/null @@ -1,1351 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_derivative_api import IndexerGrpcDerivativeApi -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb -from tests.client.indexer.configurable_derivative_query_servicer import ConfigurableDerivativeQueryServicer - - -@pytest.fixture -def derivative_servicer(): - return ConfigurableDerivativeQueryServicer() - - -class TestIndexerGrpcDerivativeApi: - @pytest.mark.asyncio - async def test_fetch_markets( - self, - derivative_servicer, - ): - quote_token_meta = exchange_derivative_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - perpetual_market_info = exchange_derivative_pb.PerpetualMarketInfo( - hourly_funding_rate_cap="0.000625", - hourly_interest_rate="0.00000416666", - next_funding_timestamp=1700064000, - funding_interval=3600, - ) - perpetual_market_funding = exchange_derivative_pb.PerpetualMarketFunding( - cumulative_funding="-82680.076492986572881307", - cumulative_price="-78.41752505919454668", - last_timestamp=1700004260, - ) - - market = exchange_derivative_pb.DerivativeMarketInfo( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - market_status="active", - ticker="INJ/USDT PERP", - oracle_base="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", - oracle_quote="0x1fc18861232290221461220bd4e2acd1dcdfbc89c84092c93c18bdc7756c1588", - oracle_type="pyth", - oracle_scale_factor=6, - initial_margin_ratio="0.05", - maintenance_margin_ratio="0.02", - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - is_perpetual=True, - min_price_tick_size="100", - min_quantity_tick_size="0.0001", - perpetual_market_info=perpetual_market_info, - perpetual_market_funding=perpetual_market_funding, - min_notional="1000000", - ) - - derivative_servicer.markets_responses.append( - exchange_derivative_pb.MarketsResponse( - markets=[market], - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_markets = await api.fetch_markets( - market_statuses=[market.market_status], - quote_denom=market.quote_denom, - ) - expected_markets = { - "markets": [ - { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "oracleBase": market.oracle_base, - "oracleQuote": market.oracle_quote, - "oracleType": market.oracle_type, - "oracleScaleFactor": market.oracle_scale_factor, - "initialMarginRatio": market.initial_margin_ratio, - "maintenanceMarginRatio": market.maintenance_margin_ratio, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "makerFeeRate": market.maker_fee_rate, - "takerFeeRate": market.taker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "isPerpetual": market.is_perpetual, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - "perpetualMarketInfo": { - "hourlyFundingRateCap": perpetual_market_info.hourly_funding_rate_cap, - "hourlyInterestRate": str(perpetual_market_info.hourly_interest_rate), - "nextFundingTimestamp": str(perpetual_market_info.next_funding_timestamp), - "fundingInterval": str(perpetual_market_info.funding_interval), - }, - "perpetualMarketFunding": { - "cumulativeFunding": perpetual_market_funding.cumulative_funding, - "cumulativePrice": perpetual_market_funding.cumulative_price, - "lastTimestamp": str(perpetual_market_funding.last_timestamp), - }, - } - ] - } - - assert result_markets == expected_markets - - @pytest.mark.asyncio - async def test_fetch_market( - self, - derivative_servicer, - ): - quote_token_meta = exchange_derivative_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - perpetual_market_info = exchange_derivative_pb.PerpetualMarketInfo( - hourly_funding_rate_cap="0.000625", - hourly_interest_rate="0.00000416666", - next_funding_timestamp=1700064000, - funding_interval=3600, - ) - perpetual_market_funding = exchange_derivative_pb.PerpetualMarketFunding( - cumulative_funding="-82680.076492986572881307", - cumulative_price="-78.41752505919454668", - last_timestamp=1700004260, - ) - - market = exchange_derivative_pb.DerivativeMarketInfo( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - market_status="active", - ticker="INJ/USDT PERP", - oracle_base="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", - oracle_quote="0x1fc18861232290221461220bd4e2acd1dcdfbc89c84092c93c18bdc7756c1588", - oracle_type="pyth", - oracle_scale_factor=6, - initial_margin_ratio="0.05", - maintenance_margin_ratio="0.02", - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - is_perpetual=True, - min_price_tick_size="100", - min_quantity_tick_size="0.0001", - perpetual_market_info=perpetual_market_info, - perpetual_market_funding=perpetual_market_funding, - min_notional="1000000", - ) - - derivative_servicer.market_responses.append( - exchange_derivative_pb.MarketResponse( - market=market, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_market = await api.fetch_market(market_id=market.market_id) - expected_market = { - "market": { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "oracleBase": market.oracle_base, - "oracleQuote": market.oracle_quote, - "oracleType": market.oracle_type, - "oracleScaleFactor": market.oracle_scale_factor, - "initialMarginRatio": market.initial_margin_ratio, - "maintenanceMarginRatio": market.maintenance_margin_ratio, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "makerFeeRate": market.maker_fee_rate, - "takerFeeRate": market.taker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "isPerpetual": market.is_perpetual, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - "perpetualMarketInfo": { - "hourlyFundingRateCap": perpetual_market_info.hourly_funding_rate_cap, - "hourlyInterestRate": str(perpetual_market_info.hourly_interest_rate), - "nextFundingTimestamp": str(perpetual_market_info.next_funding_timestamp), - "fundingInterval": str(perpetual_market_info.funding_interval), - }, - "perpetualMarketFunding": { - "cumulativeFunding": perpetual_market_funding.cumulative_funding, - "cumulativePrice": perpetual_market_funding.cumulative_price, - "lastTimestamp": str(perpetual_market_funding.last_timestamp), - }, - } - } - - assert result_market == expected_market - - @pytest.mark.asyncio - async def test_fetch_binary_options_markets( - self, - derivative_servicer, - ): - quote_token_meta = exchange_derivative_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - - market = exchange_derivative_pb.BinaryOptionsMarketInfo( - market_id="0xaea3b04b88ad7972b6afcd676791eaa1872a8cf5ab7c5be93da755fd7fac9196", - market_status="active", - ticker="Long-Lived 7/8/22 1", - oracle_symbol="Long-Lived 7/8/22 1", - oracle_provider="Frontrunner", - oracle_type="provider", - oracle_scale_factor=6, - expiration_timestamp=1657311861, - settlement_timestamp=1657311862, - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - min_price_tick_size="0.01", - min_quantity_tick_size="1", - settlement_price="1000", - min_notional="1000000", - ) - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.binary_options_markets_responses.append( - exchange_derivative_pb.BinaryOptionsMarketsResponse(markets=[market], paging=paging) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_markets = await api.fetch_binary_options_markets( - market_status=market.market_status, - quote_denom=market.quote_denom, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_markets = { - "markets": [ - { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "oracleSymbol": market.oracle_symbol, - "oracleProvider": market.oracle_provider, - "oracleType": market.oracle_type, - "oracleScaleFactor": market.oracle_scale_factor, - "expirationTimestamp": str(market.expiration_timestamp), - "settlementTimestamp": str(market.settlement_timestamp), - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "makerFeeRate": market.maker_fee_rate, - "takerFeeRate": market.taker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "settlementPrice": market.settlement_price, - "minNotional": market.min_notional, - } - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_markets == expected_markets - - @pytest.mark.asyncio - async def test_fetch_binary_options_market( - self, - derivative_servicer, - ): - quote_token_meta = exchange_derivative_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - - market = exchange_derivative_pb.BinaryOptionsMarketInfo( - market_id="0xaea3b04b88ad7972b6afcd676791eaa1872a8cf5ab7c5be93da755fd7fac9196", - market_status="active", - ticker="Long-Lived 7/8/22 1", - oracle_symbol="Long-Lived 7/8/22 1", - oracle_provider="Frontrunner", - oracle_type="provider", - oracle_scale_factor=6, - expiration_timestamp=1657311861, - settlement_timestamp=1657311862, - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - min_price_tick_size="0.01", - min_quantity_tick_size="1", - settlement_price="1000", - min_notional="1000000", - ) - - derivative_servicer.binary_options_market_responses.append( - exchange_derivative_pb.BinaryOptionsMarketResponse(market=market) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_markets = await api.fetch_binary_options_market(market_id=market.market_id) - expected_markets = { - "market": { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "oracleSymbol": market.oracle_symbol, - "oracleProvider": market.oracle_provider, - "oracleType": market.oracle_type, - "oracleScaleFactor": market.oracle_scale_factor, - "expirationTimestamp": str(market.expiration_timestamp), - "settlementTimestamp": str(market.settlement_timestamp), - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "makerFeeRate": market.maker_fee_rate, - "takerFeeRate": market.taker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "settlementPrice": market.settlement_price, - "minNotional": market.min_notional, - } - } - - assert result_markets == expected_markets - - @pytest.mark.asyncio - async def test_fetch_orderbook_v2( - self, - derivative_servicer, - ): - buy = exchange_derivative_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_derivative_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_derivative_pb.DerivativeLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - derivative_servicer.orderbook_v2_responses.append( - exchange_derivative_pb.OrderbookV2Response( - orderbook=orderbook, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orderbook = await api.fetch_orderbook_v2( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - ) - expected_orderbook = { - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - } - } - - assert result_orderbook == expected_orderbook - - @pytest.mark.asyncio - async def test_fetch_orderbooks_v2( - self, - derivative_servicer, - ): - buy = exchange_derivative_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_derivative_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_derivative_pb.DerivativeLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - single_orderbook = exchange_derivative_pb.SingleDerivativeLimitOrderbookV2( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - orderbook=orderbook, - ) - - derivative_servicer.orderbooks_v2_responses.append( - exchange_derivative_pb.OrderbooksV2Response( - orderbooks=[single_orderbook], - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id]) - expected_orderbook = { - "orderbooks": [ - { - "marketId": single_orderbook.market_id, - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - }, - } - ] - } - - assert result_orderbook == expected_orderbook - - @pytest.mark.asyncio - async def test_fetch_orders( - self, - derivative_servicer, - ): - order = exchange_derivative_pb.DerivativeLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - is_reduce_only=False, - margin="2280000000", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - order_number=0, - order_type="", - is_conditional=False, - trigger_at=0, - placed_order_hash="", - execution_type="", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.orders_responses.append( - exchange_derivative_pb.OrdersResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_orders( - market_ids=[order.market_id], - order_side=order.order_side, - subaccount_id=order.subaccount_id, - is_conditional="true" if order.is_conditional else "false", - order_type=order.order_type, - include_inactive=True, - subaccount_total_orders=True, - trade_id="7959737_3_0", - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "isReduceOnly": order.is_reduce_only, - "margin": order.margin, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "orderNumber": str(order.order_number), - "orderType": order.order_type, - "isConditional": order.is_conditional, - "triggerAt": str(order.trigger_at), - "placedOrderHash": order.placed_order_hash, - "executionType": order.execution_type, - "txHash": order.tx_hash, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_positions( - self, - derivative_servicer, - ): - position = exchange_derivative_pb.DerivativePosition( - 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", - aggregate_reduce_only_quantity="0", - updated_at=1700161202147, - created_at=-62135596800000, - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.positions_responses.append( - exchange_derivative_pb.PositionsResponse( - positions=[position], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_positions( - market_ids=[position.market_id], - subaccount_id=position.subaccount_id, - direction=position.direction, - subaccount_total_positions=True, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "positions": [ - { - "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, - "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, - "createdAt": str(position.created_at), - "updatedAt": str(position.updated_at), - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_positions_v2( - self, - derivative_servicer, - ): - 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="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.positions_v2_responses.append( - exchange_derivative_pb.PositionsV2Response( - positions=[position], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_positions_v2( - market_ids=[position.market_id], - subaccount_id=position.subaccount_id, - direction=position.direction, - subaccount_total_positions=True, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "positions": [ - { - "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, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_liquidable_positions( - self, - derivative_servicer, - ): - position = exchange_derivative_pb.DerivativePosition( - 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", - aggregate_reduce_only_quantity="0", - updated_at=1700161202147, - created_at=-62135596800000, - ) - - derivative_servicer.liquidable_positions_responses.append( - exchange_derivative_pb.LiquidablePositionsResponse(positions=[position]) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_liquidable_positions( - market_id=position.market_id, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_orders = { - "positions": [ - { - "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, - "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, - "createdAt": str(position.created_at), - "updatedAt": str(position.updated_at), - }, - ] - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_funding_payments( - self, - derivative_servicer, - ): - payment = exchange_derivative_pb.FundingPayment( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - subaccount_id="0x1383dabde57e5aed55960ee43e158ae7118057d3000000000000000000000000", - amount="0.018466", - timestamp=1700186400645, - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.funding_payments_responses.append( - exchange_derivative_pb.FundingPaymentsResponse( - payments=[payment], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_funding_payments( - market_ids=[payment.market_id], - subaccount_id=payment.subaccount_id, - pagination=PaginationOption( - skip=0, - limit=100, - end_time=1699744939364, - ), - ) - expected_orders = { - "payments": [ - { - "marketId": payment.market_id, - "subaccountId": payment.subaccount_id, - "amount": payment.amount, - "timestamp": str(payment.timestamp), - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_funding_rates( - self, - derivative_servicer, - ): - funding_rate = exchange_derivative_pb.FundingRate( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - rate="0.000004", - timestamp=1700186400645, - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.funding_rates_responses.append( - exchange_derivative_pb.FundingRatesResponse( - funding_rates=[funding_rate], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_funding_rates( - market_id=funding_rate.market_id, - pagination=PaginationOption( - skip=0, - limit=100, - end_time=1699744939364, - ), - ) - expected_orders = { - "fundingRates": [ - { - "marketId": funding_rate.market_id, - "rate": funding_rate.rate, - "timestamp": str(funding_rate.timestamp), - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_trades( - self, - derivative_servicer, - ): - position_delta = exchange_derivative_pb.PositionDelta( - trade_direction="buy", - execution_price="13945600", - execution_quantity="5", - execution_margin="69728000", - ) - - trade = exchange_derivative_pb.DerivativeTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - trade_execution_type="limitMatchNewOrder", - is_liquidation=False, - position_delta=position_delta, - payout="0", - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.trades_responses.append( - exchange_derivative_pb.TradesResponse( - trades=[trade], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_trades = await api.fetch_trades( - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=position_delta.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id=trade.trade_id, - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "isLiquidation": trade.is_liquidation, - "positionDelta": { - "tradeDirection": position_delta.trade_direction, - "executionPrice": position_delta.execution_price, - "executionQuantity": position_delta.execution_quantity, - "executionMargin": position_delta.execution_margin, - }, - "payout": trade.payout, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_trades == expected_trades - - @pytest.mark.asyncio - async def test_fetch_subaccount_orders_list( - self, - derivative_servicer, - ): - order = exchange_derivative_pb.DerivativeLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - is_reduce_only=False, - margin="2280000000", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - order_number=0, - order_type="", - is_conditional=False, - trigger_at=0, - placed_order_hash="", - execution_type="", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.subaccount_orders_list_responses.append( - exchange_derivative_pb.SubaccountOrdersListResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_subaccount_orders_list( - subaccount_id=order.subaccount_id, - market_id=order.market_id, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "isReduceOnly": order.is_reduce_only, - "margin": order.margin, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "orderNumber": str(order.order_number), - "orderType": order.order_type, - "isConditional": order.is_conditional, - "triggerAt": str(order.trigger_at), - "placedOrderHash": order.placed_order_hash, - "executionType": order.execution_type, - "txHash": order.tx_hash, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_subaccount_trades_list( - self, - derivative_servicer, - ): - position_delta = exchange_derivative_pb.PositionDelta( - trade_direction="buy", - execution_price="13945600", - execution_quantity="5", - execution_margin="69728000", - ) - - trade = exchange_derivative_pb.DerivativeTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - trade_execution_type="limitMatchNewOrder", - is_liquidation=False, - position_delta=position_delta, - payout="0", - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - derivative_servicer.subaccount_trades_list_responses.append( - exchange_derivative_pb.SubaccountTradesListResponse( - trades=[trade], - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_trades = await api.fetch_subaccount_trades_list( - subaccount_id=trade.subaccount_id, - market_id=trade.market_id, - execution_type=trade.trade_execution_type, - direction=position_delta.trade_direction, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "isLiquidation": trade.is_liquidation, - "positionDelta": { - "tradeDirection": position_delta.trade_direction, - "executionPrice": position_delta.execution_price, - "executionQuantity": position_delta.execution_quantity, - "executionMargin": position_delta.execution_margin, - }, - "payout": trade.payout, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - } - - assert result_trades == expected_trades - - @pytest.mark.asyncio - async def test_fetch_orders_history( - self, - derivative_servicer, - ): - order = exchange_derivative_pb.DerivativeOrderHistory( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - is_active=True, - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - execution_type="limit", - order_type="buy_po", - price="0.000000000017541", - trigger_price="0", - quantity="50955000000000000000", - filled_quantity="1000000000000000", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - is_reduce_only=False, - direction="buy", - is_conditional=False, - trigger_at=0, - placed_order_hash="", - margin="2280000000", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.orders_history_responses.append( - exchange_derivative_pb.OrdersHistoryResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_orders = await api.fetch_orders_history( - subaccount_id=order.subaccount_id, - market_ids=[order.market_id], - order_types=[order.order_type], - direction=order.direction, - is_conditional="true" if order.is_conditional else "false", - state=order.state, - execution_types=[order.execution_type], - trade_id="8662464_1_0", - active_markets_only=True, - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "marketId": order.market_id, - "isActive": order.is_active, - "subaccountId": order.subaccount_id, - "executionType": order.execution_type, - "orderType": order.order_type, - "price": order.price, - "triggerPrice": order.trigger_price, - "quantity": order.quantity, - "filledQuantity": order.filled_quantity, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "isReduceOnly": order.is_reduce_only, - "direction": order.direction, - "isConditional": order.is_conditional, - "triggerAt": str(order.trigger_at), - "placedOrderHash": order.placed_order_hash, - "margin": order.margin, - "txHash": order.tx_hash, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_trades_v2( - self, - derivative_servicer, - ): - position_delta = exchange_derivative_pb.PositionDelta( - trade_direction="buy", - execution_price="13945600", - execution_quantity="5", - execution_margin="69728000", - ) - - trade = exchange_derivative_pb.DerivativeTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - trade_execution_type="limitMatchNewOrder", - is_liquidation=False, - position_delta=position_delta, - payout="0", - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - paging = exchange_derivative_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - derivative_servicer.trades_v2_responses.append( - exchange_derivative_pb.TradesV2Response( - trades=[trade], - paging=paging, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - result_trades = await api.fetch_trades_v2( - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=position_delta.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id=trade.trade_id, - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "isLiquidation": trade.is_liquidation, - "positionDelta": { - "tradeDirection": position_delta.trade_direction, - "executionPrice": position_delta.execution_price, - "executionQuantity": position_delta.execution_quantity, - "executionMargin": position_delta.execution_margin, - }, - "payout": trade.payout, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_trades == expected_trades - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcDerivativeApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py b/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py deleted file mode 100644 index faf4364a..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_explorer_api.py +++ /dev/null @@ -1,1513 +0,0 @@ -import base64 - -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_explorer_api import IndexerGrpcExplorerApi -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_explorer_rpc_pb2 as exchange_explorer_pb -from tests.client.indexer.configurable_explorer_query_servicer import ConfigurableExplorerQueryServicer - - -@pytest.fixture -def explorer_servicer(): - return ConfigurableExplorerQueryServicer() - - -class TestIndexerGrpcExplorerApi: - @pytest.mark.asyncio - async def test_fetch_account_txs( - 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":[{"key":"action",' - b'"value":"/cosmos.bank.v1beta1.MsgSend"},{"key":"sender",' - b'"value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},{"key":"module","value":"bank"}]},' - b'{"type":"coin_spent","attributes":[{"key":"spender",' - b'"value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},{"key":"amount",' - b'"value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}]},' - b'{"type":"coin_received","attributes":[{"key":"receiver",' - b'"value":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc"},{"key":"amount",' - b'"value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}]},' - b'{"type":"transfer","attributes":[{"key":"recipient",' - b'"value":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc"},' - b'{"key":"sender","value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"},' - b'{"key":"amount","value":"100000000000000000factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth"}' - b']},{"type":"message","attributes":[{"key":"sender",' - b'"value":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex"}]}]}]', - claim_ids=[claim_id], - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.account_txs_responses.append( - exchange_explorer_pb.GetAccountTxsResponse( - data=[tx_data], - paging=paging, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_txs = await api.fetch_account_txs( - address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", - before=221439, - after=221419, - message_type="cosmos.bank.v1beta1.MsgSend", - module="bank", - from_number=221419, - to_number=221439, - status="status", - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_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": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_txs == expected_txs - - @pytest.mark.asyncio - async def test_fetch_contract_txs( - 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], - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.contract_txs_responses.append( - exchange_explorer_pb.GetContractTxsResponse( - data=[tx_data], - paging=paging, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_contract_txs = await api.fetch_contract_txs( - address="inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex", - from_number=221419, - to_number=221439, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - 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": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_contract_txs == expected_contract_txs - - @pytest.mark.asyncio - async def test_fetch_blocks( - self, - explorer_servicer, - ): - block_info = exchange_explorer_pb.BlockInfo( - height=19034578, - proposer="injvalcons18x63wcw5hjxlf535lgn4qy20yer7mm0qedu0la", - moniker="InjectiveNode1", - block_hash="0x7f7bfe8caaa0eed042315d1447ef1ed726a80f5da23fdbe6831fc66775197db1", - parent_hash="0x44287ba5fad21d0109a3ec6f19d447580763e5a709e5a5ceb767174e99ae3bd8", - num_pre_commits=20, - num_txs=4, - timestamp="2023-11-29 20:23:33.842 +0000 UTC", - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.blocks_responses.append( - exchange_explorer_pb.GetBlocksResponse( - data=[block_info], - paging=paging, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_blocks = await api.fetch_blocks( - before=221419, - after=221439, - pagination=PaginationOption( - limit=100, - ), - ) - expected_blocks = { - "data": [ - { - "height": str(block_info.height), - "proposer": block_info.proposer, - "moniker": block_info.moniker, - "blockHash": block_info.block_hash, - "parentHash": block_info.parent_hash, - "numPreCommits": str(block_info.num_pre_commits), - "numTxs": str(block_info.num_txs), - "txs": [], - "timestamp": block_info.timestamp, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_blocks == expected_blocks - - @pytest.mark.asyncio - async def test_fetch_block( - self, - explorer_servicer, - ): - tx_data = exchange_explorer_pb.TxData( - id="tx id", - block_number=5825046, - block_timestamp="2022-12-11 22:06:49.182 +0000 UTC", - hash="0xbe8c8ca9a41196adf59b88fe9efd78e7532e04169152e779be3dc14ba7c360d9", - messages=b"null", - tx_number=994979, - tx_msg_types=b'["/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder"]', - ) - block_info = exchange_explorer_pb.BlockDetailInfo( - height=19034578, - proposer="injvalcons18x63wcw5hjxlf535lgn4qy20yer7mm0qedu0la", - moniker="InjectiveNode1", - block_hash="0x7f7bfe8caaa0eed042315d1447ef1ed726a80f5da23fdbe6831fc66775197db1", - parent_hash="0x44287ba5fad21d0109a3ec6f19d447580763e5a709e5a5ceb767174e99ae3bd8", - num_pre_commits=20, - num_txs=4, - total_txs=5, - txs=[tx_data], - timestamp="2023-11-29 20:23:33.842 +0000 UTC", - ) - - explorer_servicer.block_responses.append( - exchange_explorer_pb.GetBlockResponse( - s="ok", - errmsg="test error message", - data=block_info, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_block = await api.fetch_block(block_id=str(block_info.height)) - expected_block = { - "s": "ok", - "errmsg": "test error message", - "data": { - "height": str(block_info.height), - "proposer": block_info.proposer, - "moniker": block_info.moniker, - "blockHash": block_info.block_hash, - "parentHash": block_info.parent_hash, - "numPreCommits": str(block_info.num_pre_commits), - "numTxs": str(block_info.num_txs), - "totalTxs": str(block_info.total_txs), - "txs": [ - { - "id": tx_data.id, - "blockNumber": str(tx_data.block_number), - "blockTimestamp": tx_data.block_timestamp, - "hash": tx_data.hash, - "codespace": tx_data.codespace, - "messages": base64.b64encode(tx_data.messages).decode(), - "txNumber": str(tx_data.tx_number), - "errorLog": tx_data.error_log, - "code": tx_data.code, - "txMsgTypes": base64.b64encode(tx_data.tx_msg_types).decode(), - "logs": base64.b64encode(tx_data.logs).decode(), - "claimIds": tx_data.claim_ids, - } - ], - "timestamp": block_info.timestamp, - }, - } - - assert result_block == expected_block - - @pytest.mark.asyncio - async def test_fetch_validators( - self, - explorer_servicer, - ): - validator_description = exchange_explorer_pb.ValidatorDescription(moniker="InjectiveNode0") - validator = exchange_explorer_pb.Validator( - id="test id", - moniker="InjectiveNode0", - operator_address="injvaloper156t3yxd4udv0h9gwagfcmwnmm3quy0nph7tyh5", - consensus_address="injvalcons1xwg7xkmpqp8q804c37sa4dzyfwgnh4a74ll9pz", - jailed=False, - status=3, - tokens="200059138606549756596244963211573", - delegator_shares="200079146521201876783922319320744.623595039617821538", - description=validator_description, - unbonding_height=2489050, - unbonding_time="2022-09-18 14:44:56.825 +0000 UTC", - commission_rate="0.100000000000000000", - commission_max_rate="1.000000000000000000", - commission_max_change_rate="1.000000000000000000", - commission_update_time="2022-07-05 00:43:31.747 +0000 UTC", - proposed=4140681, - signed=10764141, - missed=0, - timestamp="2023-11-30 15:17:26.124 +0000 UTC", - uptime_percentage=99.906641771138965, - ) - - explorer_servicer.validators_responses.append( - exchange_explorer_pb.GetValidatorsResponse( - s="ok", - errmsg="test error message", - data=[validator], - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_validators = await api.fetch_validators() - expected_validators = { - "s": "ok", - "errmsg": "test error message", - "data": [ - { - "id": validator.id, - "moniker": validator.moniker, - "operatorAddress": validator.operator_address, - "consensusAddress": validator.consensus_address, - "jailed": validator.jailed, - "status": validator.status, - "tokens": validator.tokens, - "delegatorShares": validator.delegator_shares, - "description": { - "moniker": validator_description.moniker, - "identity": validator_description.identity, - "website": validator_description.website, - "securityContact": validator_description.security_contact, - "details": validator_description.details, - "imageUrl": validator_description.image_url, - }, - "unbondingHeight": str(validator.unbonding_height), - "unbondingTime": validator.unbonding_time, - "commissionRate": validator.commission_rate, - "commissionMaxRate": validator.commission_max_rate, - "commissionMaxChangeRate": validator.commission_max_change_rate, - "commissionUpdateTime": validator.commission_update_time, - "proposed": str(validator.proposed), - "signed": str(validator.signed), - "missed": str(validator.missed), - "timestamp": validator.timestamp, - "uptimes": validator.uptimes, - "slashingEvents": validator.slashing_events, - "uptimePercentage": validator.uptime_percentage, - "imageUrl": validator.image_url, - }, - ], - } - - assert result_validators == expected_validators - - @pytest.mark.asyncio - async def test_fetch_validator( - self, - explorer_servicer, - ): - validator_description = exchange_explorer_pb.ValidatorDescription(moniker="InjectiveNode0") - validator = exchange_explorer_pb.Validator( - id="test id", - moniker="InjectiveNode0", - operator_address="injvaloper156t3yxd4udv0h9gwagfcmwnmm3quy0nph7tyh5", - consensus_address="injvalcons1xwg7xkmpqp8q804c37sa4dzyfwgnh4a74ll9pz", - jailed=False, - status=3, - tokens="200059138606549756596244963211573", - delegator_shares="200079146521201876783922319320744.623595039617821538", - description=validator_description, - unbonding_height=2489050, - unbonding_time="2022-09-18 14:44:56.825 +0000 UTC", - commission_rate="0.100000000000000000", - commission_max_rate="1.000000000000000000", - commission_max_change_rate="1.000000000000000000", - commission_update_time="2022-07-05 00:43:31.747 +0000 UTC", - proposed=4140681, - signed=10764141, - missed=0, - timestamp="2023-11-30 15:17:26.124 +0000 UTC", - uptime_percentage=99.906641771138965, - ) - - explorer_servicer.validator_responses.append( - exchange_explorer_pb.GetValidatorResponse( - s="ok", - errmsg="test error message", - data=validator, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_validator = await api.fetch_validator(address=validator.operator_address) - expected_validator = { - "s": "ok", - "errmsg": "test error message", - "data": { - "id": validator.id, - "moniker": validator.moniker, - "operatorAddress": validator.operator_address, - "consensusAddress": validator.consensus_address, - "jailed": validator.jailed, - "status": validator.status, - "tokens": validator.tokens, - "delegatorShares": validator.delegator_shares, - "description": { - "moniker": validator_description.moniker, - "identity": validator_description.identity, - "website": validator_description.website, - "securityContact": validator_description.security_contact, - "details": validator_description.details, - "imageUrl": validator_description.image_url, - }, - "unbondingHeight": str(validator.unbonding_height), - "unbondingTime": validator.unbonding_time, - "commissionRate": validator.commission_rate, - "commissionMaxRate": validator.commission_max_rate, - "commissionMaxChangeRate": validator.commission_max_change_rate, - "commissionUpdateTime": validator.commission_update_time, - "proposed": str(validator.proposed), - "signed": str(validator.signed), - "missed": str(validator.missed), - "timestamp": validator.timestamp, - "uptimes": validator.uptimes, - "slashingEvents": validator.slashing_events, - "uptimePercentage": validator.uptime_percentage, - "imageUrl": validator.image_url, - }, - } - - assert result_validator == expected_validator - - @pytest.mark.asyncio - async def test_fetch_validator_uptime( - self, - explorer_servicer, - ): - validator_uptime = exchange_explorer_pb.ValidatorUptime( - block_number=2489050, - status="3", - ) - - explorer_servicer.validator_uptime_responses.append( - exchange_explorer_pb.GetValidatorUptimeResponse( - s="ok", - errmsg="test error message", - data=[validator_uptime], - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_validator = await api.fetch_validator_uptime(address="injvaloper156t3yxd4udv0h9gwagfcmwnmm3quy0nph7tyh5") - expected_validator = { - "s": "ok", - "errmsg": "test error message", - "data": [ - { - "blockNumber": str(validator_uptime.block_number), - "status": validator_uptime.status, - }, - ], - } - - assert result_validator == expected_validator - - @pytest.mark.asyncio - async def test_fetch_txs( - self, - explorer_servicer, - ): - code = 5 - claim_id = 100 - - tx_data = exchange_explorer_pb.TxData( - id="test id", - block_number=18138926, - block_timestamp="2023-11-07 23:19:55.371 +0000 UTC", - hash="0x3790ade2bea6c8605851ec89fa968adf2a2037a5ecac11ca95e99260508a3b7e", - codespace="test codespace", - messages=b'[{"type":"/cosmos.bank.v1beta1.MsgSend",' - b'"value":{"from_address":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex",' - b'"to_address":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc",' - b'"amount":[{"denom":"factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth",' - b'"amount":"100000000000000000"}]}}]', - tx_number=221429, - error_log="", - code=code, - tx_msg_types=b'["/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder"]', - 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], - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.txs_responses.append( - exchange_explorer_pb.GetTxsResponse( - data=[tx_data], - paging=paging, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_txs = await api.fetch_txs( - before=221439, - after=221419, - message_type="cosmos.bank.v1beta1.MsgSend", - module="bank", - from_number=221419, - to_number=221439, - status="status", - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_txs = { - "data": [ - { - "id": tx_data.id, - "blockNumber": str(tx_data.block_number), - "blockTimestamp": tx_data.block_timestamp, - "hash": tx_data.hash, - "codespace": tx_data.codespace, - "messages": base64.b64encode(tx_data.messages).decode(), - "txNumber": str(tx_data.tx_number), - "errorLog": tx_data.error_log, - "code": tx_data.code, - "txMsgTypes": base64.b64encode(tx_data.tx_msg_types).decode(), - "logs": base64.b64encode(tx_data.logs).decode(), - "claimIds": [str(claim_id)], - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_txs == expected_txs - - @pytest.mark.asyncio - async def test_fetch_tx_by_hash( - 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",' - b'"value":{"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], - ) - - explorer_servicer.tx_by_tx_hash_responses.append( - exchange_explorer_pb.GetTxByTxHashResponse( - s="ok", - errmsg="test error message", - data=tx_data, - ) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_tx = await api.fetch_tx_by_tx_hash(tx_hash=tx_data.hash) - expected_tx = { - "s": "ok", - "errmsg": "test error message", - "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)], - }, - } - - assert result_tx == expected_tx - - @pytest.mark.asyncio - async def test_fetch_peggy_deposit_txs( - self, - explorer_servicer, - ): - tx_hash = "0x028a43ad2089cad45a8855143508f7381787d7f17cc19e3cda1bc2300c1d043f" - tx_data = exchange_explorer_pb.PeggyDepositTx( - sender="0x197E6c3f19951eA0bA90Ddf465bcC79790cDD12d", - receiver="inj1r9lxc0cej502pw5smh6xt0x8j7gvm5fdrj6xhk", - event_nonce=624, - event_height=10122722, - amount="500000000000000000", - denom="0xAD1794307245443B3Cb55d88e79EEE4d8a548C03", - orchestrator_address="inj1c8rpu79mr70hqsgzutdd6rhvzhej9vntm6fqku", - state="Completed", - claim_type=1, - tx_hashes=[tx_hash], - created_at="2023-11-28 16:55:54.841 +0000 UTC", - updated_at="2023-11-28 16:56:07.944 +0000 UTC", - ) - - explorer_servicer.peggy_deposit_txs_responses.append( - exchange_explorer_pb.GetPeggyDepositTxsResponse(field=[tx_data]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_tx = await api.fetch_peggy_deposit_txs( - sender=tx_data.sender, - receiver=tx_data.receiver, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_tx = { - "field": [ - { - "sender": tx_data.sender, - "receiver": tx_data.receiver, - "eventNonce": str(tx_data.event_nonce), - "eventHeight": str(tx_data.event_height), - "amount": tx_data.amount, - "denom": tx_data.denom, - "orchestratorAddress": tx_data.orchestrator_address, - "state": tx_data.state, - "claimType": tx_data.claim_type, - "txHashes": [tx_hash], - "createdAt": tx_data.created_at, - "updatedAt": tx_data.updated_at, - }, - ] - } - - assert result_tx == expected_tx - - @pytest.mark.asyncio - async def test_fetch_peggy_withdrawal_txs( - self, - explorer_servicer, - ): - tx_hash = "0x028a43ad2089cad45a8855143508f7381787d7f17cc19e3cda1bc2300c1d043f" - tx_data = exchange_explorer_pb.PeggyWithdrawalTx( - sender="0x197E6c3f19951eA0bA90Ddf465bcC79790cDD12d", - receiver="inj1r9lxc0cej502pw5smh6xt0x8j7gvm5fdrj6xhk", - amount="500000000000000000", - denom="0xAD1794307245443B3Cb55d88e79EEE4d8a548C03", - bridge_fee="575043128234617596", - outgoing_tx_id=1136, - batch_timeout=10125614, - batch_nonce=1600, - orchestrator_address="inj1c8rpu79mr70hqsgzutdd6rhvzhej9vntm6fqku", - event_nonce=624, - event_height=10122722, - state="Completed", - claim_type=1, - tx_hashes=[tx_hash], - created_at="2023-11-28 16:55:54.841 +0000 UTC", - updated_at="2023-11-28 16:56:07.944 +0000 UTC", - ) - - explorer_servicer.peggy_withdrawal_txs_responses.append( - exchange_explorer_pb.GetPeggyWithdrawalTxsResponse(field=[tx_data]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_tx = await api.fetch_peggy_withdrawal_txs( - sender=tx_data.sender, - receiver=tx_data.receiver, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_tx = { - "field": [ - { - "sender": tx_data.sender, - "receiver": tx_data.receiver, - "amount": tx_data.amount, - "denom": tx_data.denom, - "bridgeFee": tx_data.bridge_fee, - "outgoingTxId": str(tx_data.outgoing_tx_id), - "batchTimeout": str(tx_data.batch_timeout), - "batchNonce": str(tx_data.batch_nonce), - "orchestratorAddress": tx_data.orchestrator_address, - "eventNonce": str(tx_data.event_nonce), - "eventHeight": str(tx_data.event_height), - "state": tx_data.state, - "claimType": tx_data.claim_type, - "txHashes": [tx_hash], - "createdAt": tx_data.created_at, - "updatedAt": tx_data.updated_at, - }, - ] - } - - assert result_tx == expected_tx - - @pytest.mark.asyncio - async def test_fetch_ibc_transfer_txs( - self, - explorer_servicer, - ): - tx_hash = "0x028a43ad2089cad45a8855143508f7381787d7f17cc19e3cda1bc2300c1d043f" - tx_data = exchange_explorer_pb.IBCTransferTx( - sender="0x197E6c3f19951eA0bA90Ddf465bcC79790cDD12d", - receiver="inj1r9lxc0cej502pw5smh6xt0x8j7gvm5fdrj6xhk", - source_port="transfer", - source_channel="channel-74", - destination_port="transfer", - destination_channel="channel-33", - amount="500000000000000000", - denom="0xAD1794307245443B3Cb55d88e79EEE4d8a548C03", - timeout_height="0-0", - timeout_timestamp=1701460751755119600, - packet_sequence=16607, - data_hex=b"7b22616d6f756e74223a2231303030303030222c2264656e6f6d223a227472616e736665722f6368616e6e656c2d3734" - b"2f756e6f6973222c227265636569766572223a226e6f6973316d7675757067726537706a78336b35746d353732396672" - b"6b6e396e766a75367067737861776334377067616d63747970647a6c736d3768673930222c2273656e646572223a2269" - b"6e6a31346e656e6474737a306334306e3778747a776b6a6d646338646b757a3833356a64796478686e227d", - state="Completed", - tx_hashes=[tx_hash], - created_at="2023-11-28 16:55:54.841 +0000 UTC", - updated_at="2023-11-28 16:56:07.944 +0000 UTC", - ) - - explorer_servicer.ibc_transfer_txs_responses.append( - exchange_explorer_pb.GetIBCTransferTxsResponse(field=[tx_data]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_tx = await api.fetch_ibc_transfer_txs( - sender=tx_data.sender, - receiver=tx_data.receiver, - src_channel=tx_data.source_channel, - src_port=tx_data.source_port, - dest_channel=tx_data.destination_channel, - dest_port=tx_data.destination_port, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_tx = { - "field": [ - { - "sender": tx_data.sender, - "receiver": tx_data.receiver, - "sourcePort": tx_data.source_port, - "sourceChannel": tx_data.source_channel, - "destinationPort": tx_data.destination_port, - "destinationChannel": tx_data.destination_channel, - "amount": tx_data.amount, - "denom": tx_data.denom, - "timeoutHeight": tx_data.timeout_height, - "timeoutTimestamp": str(tx_data.timeout_timestamp), - "packetSequence": str(tx_data.packet_sequence), - "dataHex": base64.b64encode(tx_data.data_hex).decode(), - "state": tx_data.state, - "txHashes": [tx_hash], - "createdAt": tx_data.created_at, - "updatedAt": tx_data.updated_at, - }, - ] - } - - assert result_tx == expected_tx - - @pytest.mark.asyncio - async def test_fetch_wasm_codes( - self, - explorer_servicer, - ): - checksum = exchange_explorer_pb.Checksum( - algorithm="sha256", - hash="0xadecb2d943c03eeee77e111791df61198a9dee097f47f14a811b8f9657122624", - ) - permission = exchange_explorer_pb.ContractPermission( - access_type=3, - address="test address", - ) - wasm_code = exchange_explorer_pb.WasmCode( - code_id=245, - tx_hash="0xa5da295f9252dc932861be6f2a4dbc9a8c0f44bb42a473ded5ec349407a1c708", - checksum=checksum, - created_at=1701373663980, - contract_type="test contract type", - version="test version", - permission=permission, - code_schema="test code schema", - code_view="test code view", - instantiates=0, - creator="inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c", - code_number=253, - proposal_id=0, - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.wasm_codes_responses.append( - exchange_explorer_pb.GetWasmCodesResponse(paging=paging, data=[wasm_code]) - ) - - 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, - ), - ) - expected_wasm_codes = { - "data": [ - { - "codeId": str(wasm_code.code_id), - "txHash": wasm_code.tx_hash, - "checksum": { - "algorithm": checksum.algorithm, - "hash": checksum.hash, - }, - "createdAt": str(wasm_code.created_at), - "contractType": wasm_code.contract_type, - "version": wasm_code.version, - "permission": { - "accessType": permission.access_type, - "address": permission.address, - }, - "codeSchema": wasm_code.code_schema, - "codeView": wasm_code.code_view, - "instantiates": str(wasm_code.instantiates), - "creator": wasm_code.creator, - "codeNumber": str(wasm_code.code_number), - "proposalId": str(wasm_code.proposal_id), - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_wasm_codes == expected_wasm_codes - - @pytest.mark.asyncio - async def test_fetch_wasm_code_by_id( - self, - explorer_servicer, - ): - checksum = exchange_explorer_pb.Checksum( - algorithm="sha256", - hash="0xadecb2d943c03eeee77e111791df61198a9dee097f47f14a811b8f9657122624", - ) - permission = exchange_explorer_pb.ContractPermission( - access_type=3, - address="test address", - ) - wasm_code = exchange_explorer_pb.GetWasmCodeByIDResponse( - code_id=245, - tx_hash="0xa5da295f9252dc932861be6f2a4dbc9a8c0f44bb42a473ded5ec349407a1c708", - checksum=checksum, - created_at=1701373663980, - contract_type="test contract type", - version="test version", - permission=permission, - code_schema="test code schema", - code_view="test code view", - instantiates=0, - creator="inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c", - code_number=253, - proposal_id=0, - ) - - explorer_servicer.wasm_code_by_id_responses.append(wasm_code) - - api = self._api_instance(servicer=explorer_servicer) - - result_wasm_code = await api.fetch_wasm_code_by_id(code_id=wasm_code.code_id) - expected_wasm_code = { - "codeId": str(wasm_code.code_id), - "txHash": wasm_code.tx_hash, - "checksum": { - "algorithm": checksum.algorithm, - "hash": checksum.hash, - }, - "createdAt": str(wasm_code.created_at), - "contractType": wasm_code.contract_type, - "version": wasm_code.version, - "permission": { - "accessType": permission.access_type, - "address": permission.address, - }, - "codeSchema": wasm_code.code_schema, - "codeView": wasm_code.code_view, - "instantiates": str(wasm_code.instantiates), - "creator": wasm_code.creator, - "codeNumber": str(wasm_code.code_number), - "proposalId": str(wasm_code.proposal_id), - } - - assert result_wasm_code == expected_wasm_code - - @pytest.mark.asyncio - async def test_fetch_wasm_contracts( - self, - explorer_servicer, - ): - wasm_contract = exchange_explorer_pb.WasmContract( - label="Talis candy machine", - address="inj1t4lnxfu9gtyd50uqmf0ahpwk3vtg5yk9pe7uj4", - tx_hash="0x7462ce393fd7691c5179107dcd5ee47c79e7a348538c0c976e160bbbfdae338c", - creator="inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj", - executes=23, - instantiated_at=1701320950004, - init_message='{"admin":"inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3","codeId":"104",' - '"label":"Talis candy machine","msg":"",' - '"sender":"inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj","fundsList":[],' - '"contract_address":"inj1mhsrt6ulz07wnesppy39wwygjntk0stmk39ftg",' - '"owner":"inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj",' - '"fee_collector":"inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3",' - '"operator_pubkey":"Aq9ExLymJrae0ol4Pq13vZkDARZeunbFWJGXgsHtkzkx",' - '"public_phase":{"id":0,"private":false,"start":1701363602,"end":1701489600,' - '"price":{"native":[{"denom":"inj","amount":"100000000000000000"}]},"mint_limit":5},' - '"reserved_tokens":11,"total_tokens":111}', - last_executed_at=1701395446228, - funds=[], - code_id=104, - admin="inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3", - current_migrate_message="", - contract_number=1037, - version="test version", - type="test_type", - proposal_id=0, - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.wasm_contracts_responses.append( - exchange_explorer_pb.GetWasmContractsResponse(paging=paging, data=[wasm_contract]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - 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, - pagination=PaginationOption( - limit=100, - skip=10, - ), - ) - expected_wasm_contracts = { - "data": [ - { - "label": wasm_contract.label, - "address": wasm_contract.address, - "txHash": wasm_contract.tx_hash, - "creator": wasm_contract.creator, - "executes": str(wasm_contract.executes), - "instantiatedAt": str(wasm_contract.instantiated_at), - "initMessage": wasm_contract.init_message, - "lastExecutedAt": str(wasm_contract.last_executed_at), - "funds": wasm_contract.funds, - "codeId": str(wasm_contract.code_id), - "admin": wasm_contract.admin, - "currentMigrateMessage": wasm_contract.current_migrate_message, - "contractNumber": str(wasm_contract.contract_number), - "version": wasm_contract.version, - "type": wasm_contract.type, - "proposalId": str(wasm_contract.proposal_id), - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_wasm_contracts == expected_wasm_contracts - - @pytest.mark.asyncio - async def test_fetch_wasm_contract_by_address( - self, - explorer_servicer, - ): - wasm_contract = exchange_explorer_pb.GetWasmContractByAddressResponse( - label="Talis candy machine", - address="inj1t4lnxfu9gtyd50uqmf0ahpwk3vtg5yk9pe7uj4", - tx_hash="0x7462ce393fd7691c5179107dcd5ee47c79e7a348538c0c976e160bbbfdae338c", - creator="inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj", - executes=23, - instantiated_at=1701320950004, - init_message='{"admin":"inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3","codeId":"104",' - '"label":"Talis candy machine","msg":"","sender":"inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj",' - '"fundsList":[],"contract_address":"inj1mhsrt6ulz07wnesppy39wwygjntk0stmk39ftg",' - '"owner":"inj1fh92xcg28rat7apzhw5aw8x4x83wrprq4sp3tj",' - '"fee_collector":"inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3",' - '"operator_pubkey":"Aq9ExLymJrae0ol4Pq13vZkDARZeunbFWJGXgsHtkzkx",' - '"public_phase":{"id":0,"private":false,"start":1701363602,"end":1701489600,' - '"price":{"native":[{"denom":"inj","amount":"100000000000000000"}]},"mint_limit":5},' - '"reserved_tokens":11,"total_tokens":111}', - last_executed_at=1701395446228, - funds=[], - code_id=104, - admin="inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3", - current_migrate_message="", - contract_number=1037, - version="test version", - type="test_type", - proposal_id=0, - ) - - explorer_servicer.wasm_contract_by_address_responses.append(wasm_contract) - - api = self._api_instance(servicer=explorer_servicer) - - result_wasm_contract = await api.fetch_wasm_contract_by_address(address=wasm_contract.address) - expected_wasm_contract = { - "label": wasm_contract.label, - "address": wasm_contract.address, - "txHash": wasm_contract.tx_hash, - "creator": wasm_contract.creator, - "executes": str(wasm_contract.executes), - "instantiatedAt": str(wasm_contract.instantiated_at), - "initMessage": wasm_contract.init_message, - "lastExecutedAt": str(wasm_contract.last_executed_at), - "funds": wasm_contract.funds, - "codeId": str(wasm_contract.code_id), - "admin": wasm_contract.admin, - "currentMigrateMessage": wasm_contract.current_migrate_message, - "contractNumber": str(wasm_contract.contract_number), - "version": wasm_contract.version, - "type": wasm_contract.type, - "proposalId": str(wasm_contract.proposal_id), - } - - assert result_wasm_contract == expected_wasm_contract - - @pytest.mark.asyncio - async def test_fetch_cw20_balance( - self, - explorer_servicer, - ): - token_info = exchange_explorer_pb.Cw20TokenInfo( - name="Tether", - symbol="USDT", - decimals=6, - total_supply="100000000000", - ) - marketing_info = exchange_explorer_pb.Cw20MarketingInfo( - project="Tether", - description="Tether project", - logo="test logo", - marketing=b"Test marketing info", - ) - cw20_metadata = exchange_explorer_pb.Cw20Metadata( - token_info=token_info, - marketing_info=marketing_info, - ) - wasm_balance = exchange_explorer_pb.WasmCw20Balance( - account="0xaf79152ac5df276d9a8e1e2e22822f9713474902", - balance="1000", - contract_address="inj1t4lnxfu9gtyd50uqmf0ahpwk3vtg5yk9pe7uj4", - cw20_metadata=cw20_metadata, - updated_at=1701395446228, - ) - - explorer_servicer.cw20_balance_responses.append( - exchange_explorer_pb.GetCw20BalanceResponse(field=[wasm_balance]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_wasm_contract = await api.fetch_cw20_balance( - address=wasm_balance.account, - pagination=PaginationOption( - limit=100, - ), - ) - expected_wasm_contract = { - "field": [ - { - "account": wasm_balance.account, - "balance": wasm_balance.balance, - "contractAddress": wasm_balance.contract_address, - "cw20Metadata": { - "tokenInfo": { - "name": token_info.name, - "symbol": token_info.symbol, - "decimals": str(token_info.decimals), - "totalSupply": token_info.total_supply, - }, - "marketingInfo": { - "project": marketing_info.project, - "description": marketing_info.description, - "logo": marketing_info.logo, - "marketing": base64.b64encode(marketing_info.marketing).decode(), - }, - }, - "updatedAt": str(wasm_balance.updated_at), - }, - ] - } - - assert result_wasm_contract == expected_wasm_contract - - @pytest.mark.asyncio - async def test_fetch_relayers( - self, - explorer_servicer, - ): - relayer = exchange_explorer_pb.Relayer( - name="Injdojo", - cta="https://injdojo.exchange", - ) - relayers = exchange_explorer_pb.RelayerMarkets( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", relayers=[relayer] - ) - - explorer_servicer.relayers_responses.append(exchange_explorer_pb.RelayersResponse(field=[relayers])) - - api = self._api_instance(servicer=explorer_servicer) - - result_wasm_contract = await api.fetch_relayers( - market_ids=[relayers.market_id], - ) - expected_wasm_contract = { - "field": [ - { - "marketId": relayers.market_id, - "relayers": [ - { - "name": relayer.name, - "cta": relayer.cta, - }, - ], - }, - ] - } - - assert result_wasm_contract == expected_wasm_contract - - @pytest.mark.asyncio - async def test_fetch_bank_transfers( - self, - explorer_servicer, - ): - coin = exchange_explorer_pb.Coin( - denom="inj", - amount="200000000000000", - ) - bank_transfer = exchange_explorer_pb.BankTransfer( - sender="inj17xpfvakm2amg962yls6f84z3kell8c5l6s5ye9", - recipient="inj1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8dkncm8", - amounts=[coin], - block_number=52990746, - block_timestamp="2023-12-01 14:25:28.266 +0000 UTC", - ) - - paging = exchange_explorer_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - explorer_servicer.bank_transfers_responses.append( - exchange_explorer_pb.GetBankTransfersResponse(paging=paging, data=[bank_transfer]) - ) - - api = self._api_instance(servicer=explorer_servicer) - - result_transfers = await api.fetch_bank_transfers( - senders=[bank_transfer.sender], - recipients=[bank_transfer.recipient], - is_community_pool_related=False, - address=["inj1t4lnxfu9gtyd50uqmf0ahpwk3vtg5yk9pe7uj4"], - per_page=20, - token="inj", - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_transfers = { - "data": [ - { - "sender": bank_transfer.sender, - "recipient": bank_transfer.recipient, - "amounts": [ - { - "denom": coin.denom, - "amount": coin.amount, - } - ], - "blockNumber": str(bank_transfer.block_number), - "blockTimestamp": bank_transfer.block_timestamp, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_transfers == expected_transfers - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcExplorerApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_insurance_api.py b/tests/client/indexer/grpc/test_indexer_grpc_insurance_api.py deleted file mode 100644 index 27e3ee9f..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_insurance_api.py +++ /dev/null @@ -1,122 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_insurance_api import IndexerGrpcInsuranceApi -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_insurance_rpc_pb2 as exchange_insurance_pb -from tests.client.indexer.configurable_insurance_query_servicer import ConfigurableInsuranceQueryServicer - - -@pytest.fixture -def insurance_servicer(): - return ConfigurableInsuranceQueryServicer() - - -class TestIndexerGrpcInsuranceApi: - @pytest.mark.asyncio - async def test_fetch_insurance_funds( - self, - insurance_servicer, - ): - insurance_fund = exchange_insurance_pb.InsuranceFund( - market_ticker="inj/usdt", - market_id="0x7f15b4f4484e6820fc446e42cd447ca6d9bfd7c0592304294270c2bef5f589cd", - deposit_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - pool_token_denom="share132", - redemption_notice_period_duration=1209600, - balance="920389040000", - total_share="1000000000000000000", - oracle_base="0x31775e1d6897129e8a84eeba975778fb50015b88039e9bc140bbd839694ac0ae", - oracle_quote="USD", - oracle_type="coinbase", - expiry=1696539600, - ) - - insurance_servicer.funds_responses.append( - exchange_insurance_pb.FundsResponse( - funds=[insurance_fund], - ) - ) - - api = self._api_instance(servicer=insurance_servicer) - - result_insurance_list = await api.fetch_insurance_funds() - expected_insurance_list = { - "funds": [ - { - "marketTicker": insurance_fund.market_ticker, - "marketId": insurance_fund.market_id, - "depositDenom": insurance_fund.deposit_denom, - "poolTokenDenom": insurance_fund.pool_token_denom, - "redemptionNoticePeriodDuration": str(insurance_fund.redemption_notice_period_duration), - "balance": insurance_fund.balance, - "totalShare": insurance_fund.total_share, - "oracleBase": insurance_fund.oracle_base, - "oracleQuote": insurance_fund.oracle_quote, - "oracleType": insurance_fund.oracle_type, - "expiry": str(insurance_fund.expiry), - } - ] - } - - assert result_insurance_list == expected_insurance_list - - @pytest.mark.asyncio - async def test_fetch_redemptions( - self, - insurance_servicer, - ): - redemption_schedule = exchange_insurance_pb.RedemptionSchedule( - redemption_id=1, - status="disbursed", - redeemer="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", - claimable_redemption_time=1674798129093000, - redemption_amount="500000000000000000", - redemption_denom="share4", - requested_at=1673588529093000, - disbursed_amount="5000000", - disbursed_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - disbursed_at=1674798130965000, - ) - - insurance_servicer.redemptions_responses.append( - exchange_insurance_pb.RedemptionsResponse( - redemption_schedules=[redemption_schedule], - ) - ) - - api = self._api_instance(servicer=insurance_servicer) - - result_insurance_list = await api.fetch_redemptions( - address=redemption_schedule.redeemer, - denom=redemption_schedule.redemption_denom, - status=redemption_schedule.status, - ) - expected_insurance_list = { - "redemptionSchedules": [ - { - "redemptionId": str(redemption_schedule.redemption_id), - "status": redemption_schedule.status, - "redeemer": redemption_schedule.redeemer, - "claimableRedemptionTime": str(redemption_schedule.claimable_redemption_time), - "redemptionAmount": str(redemption_schedule.redemption_amount), - "redemptionDenom": redemption_schedule.redemption_denom, - "requestedAt": str(redemption_schedule.requested_at), - "disbursedAmount": redemption_schedule.disbursed_amount, - "disbursedDenom": redemption_schedule.disbursed_denom, - "disbursedAt": str(redemption_schedule.disbursed_at), - } - ] - } - - assert result_insurance_list == expected_insurance_list - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcInsuranceApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_meta_api.py b/tests/client/indexer/grpc/test_indexer_grpc_meta_api.py deleted file mode 100644 index b7ee7378..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_meta_api.py +++ /dev/null @@ -1,94 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_meta_api import IndexerGrpcMetaApi -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_meta_rpc_pb2 as exchange_meta_pb -from tests.client.indexer.configurable_meta_query_servicer import ConfigurableMetaQueryServicer - - -@pytest.fixture -def meta_servicer(): - return ConfigurableMetaQueryServicer() - - -class TestIndexerGrpcMetaApi: - @pytest.mark.asyncio - async def test_fetch_portfolio( - self, - meta_servicer, - ): - meta_servicer.ping_responses.append(exchange_meta_pb.PingResponse()) - - api = self._api_instance(servicer=meta_servicer) - - result_ping = await api.fetch_ping() - expected_ping = {} - - assert result_ping == expected_ping - - @pytest.mark.asyncio - async def test_fetch_version( - self, - meta_servicer, - ): - version = "v1.12.28" - build = { - "GoVersion": "go1.20.5", - "GoArch": "amd64", - } - meta_servicer.version_responses.append( - exchange_meta_pb.VersionResponse( - version=version, - build=build, - ) - ) - - api = self._api_instance(servicer=meta_servicer) - - result_version = await api.fetch_version() - expected_version = {"build": build, "version": version} - - assert result_version == expected_version - - @pytest.mark.asyncio - async def test_fetch_info( - self, - meta_servicer, - ): - timestamp = 1698440196320 - server_time = 1698440197744 - version = "v1.12.28" - build = { - "GoVersion": "go1.20.5", - "GoArch": "amd64", - } - region = "test region" - meta_servicer.info_responses.append( - exchange_meta_pb.InfoResponse( - timestamp=timestamp, server_time=server_time, version=version, build=build, region=region - ) - ) - - api = self._api_instance(servicer=meta_servicer) - - result_info = await api.fetch_info() - expected_info = { - "timestamp": str(timestamp), - "serverTime": str(server_time), - "version": version, - "build": build, - "region": region, - } - - assert result_info == expected_info - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcMetaApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py b/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py deleted file mode 100644 index 96ac10d7..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_oracle_api.py +++ /dev/null @@ -1,85 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_oracle_api import IndexerGrpcOracleApi -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_oracle_rpc_pb2 as exchange_oracle_pb -from tests.client.indexer.configurable_oracle_query_servicer import ConfigurableOracleQueryServicer - - -@pytest.fixture -def oracle_servicer(): - return ConfigurableOracleQueryServicer() - - -class TestIndexerGrpcOracleApi: - @pytest.mark.asyncio - async def test_fetch_oracle_list( - self, - oracle_servicer, - ): - oracle = exchange_oracle_pb.Oracle( - symbol="Gold/USDT", - base_symbol="Gold", - quote_symbol="USDT", - oracle_type="pricefeed", - price="1", - ) - - oracle_servicer.oracle_list_responses.append( - exchange_oracle_pb.OracleListResponse( - oracles=[oracle], - ) - ) - - api = self._api_instance(servicer=oracle_servicer) - - result_oracle_list = await api.fetch_oracle_list() - expected_oracle_list = { - "oracles": [ - { - "symbol": oracle.symbol, - "baseSymbol": oracle.base_symbol, - "quoteSymbol": oracle.quote_symbol, - "oracleType": oracle.oracle_type, - "price": oracle.price, - } - ] - } - - assert result_oracle_list == expected_oracle_list - - @pytest.mark.asyncio - async def test_fetch_oracle_price( - self, - oracle_servicer, - ): - price = "0.00000002" - - oracle_servicer.price_responses.append( - exchange_oracle_pb.PriceResponse( - price=price, - ) - ) - - api = self._api_instance(servicer=oracle_servicer) - - result_oracle_list = await api.fetch_oracle_price( - base_symbol="Gold", - quote_symbol="USDT", - oracle_type="pricefeed", - oracle_scale_factor=6, - ) - expected_oracle_list = {"price": price} - - assert result_oracle_list == expected_oracle_list - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcOracleApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py b/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py deleted file mode 100644 index 45d5ea62..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_portfolio_api.py +++ /dev/null @@ -1,178 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_portfolio_api import IndexerGrpcPortfolioApi -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_portfolio_rpc_pb2 as exchange_portfolio_pb -from tests.client.indexer.configurable_portfolio_query_servicer import ConfigurablePortfolioQueryServicer - - -@pytest.fixture -def portfolio_servicer(): - return ConfigurablePortfolioQueryServicer() - - -class TestIndexerGrpcPortfolioApi: - @pytest.mark.asyncio - async def test_fetch_account_portfolio( - self, - portfolio_servicer, - ): - coin = exchange_portfolio_pb.Coin( - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - amount="2322098", - ) - subaccount_deposit = exchange_portfolio_pb.SubaccountDeposit( - total_balance="0.170858923182467801", - available_balance="0.170858923182467801", - ) - subaccount_balance = exchange_portfolio_pb.SubaccountBalanceV2( - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000000", - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - deposit=subaccount_deposit, - ) - position = exchange_portfolio_pb.DerivativePosition( - 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", - aggregate_reduce_only_quantity="0", - updated_at=1700161202147, - created_at=-62135596800000, - ) - positions_with_upnl = exchange_portfolio_pb.PositionsWithUPNL( - position=position, - unrealized_pnl="-364.479654577777780880", - ) - - portfolio = exchange_portfolio_pb.Portfolio( - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - bank_balances=[coin], - subaccounts=[subaccount_balance], - positions_with_upnl=[positions_with_upnl], - ) - - portfolio_servicer.account_portfolio_responses.append( - exchange_portfolio_pb.AccountPortfolioResponse( - portfolio=portfolio, - ) - ) - - api = self._api_instance(servicer=portfolio_servicer) - - result_auction = await api.fetch_account_portfolio(account_address=portfolio.account_address) - expected_auction = { - "portfolio": { - "accountAddress": portfolio.account_address, - "bankBalances": [ - { - "denom": coin.denom, - "amount": coin.amount, - } - ], - "subaccounts": [ - { - "subaccountId": subaccount_balance.subaccount_id, - "denom": subaccount_balance.denom, - "deposit": { - "totalBalance": subaccount_deposit.total_balance, - "availableBalance": subaccount_deposit.available_balance, - }, - } - ], - "positionsWithUpnl": [ - { - "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, - "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, - "createdAt": str(position.created_at), - "updatedAt": str(position.updated_at), - }, - "unrealizedPnl": positions_with_upnl.unrealized_pnl, - }, - ], - } - } - - assert result_auction == expected_auction - - @pytest.mark.asyncio - async def test_fetch_account_portfolio_balances( - self, - portfolio_servicer, - ): - coin = exchange_portfolio_pb.Coin( - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - amount="2322098", - ) - subaccount_deposit = exchange_portfolio_pb.SubaccountDeposit( - total_balance="0.170858923182467801", - available_balance="0.170858923182467801", - ) - subaccount_balance = exchange_portfolio_pb.SubaccountBalanceV2( - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000000", - denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - deposit=subaccount_deposit, - ) - - portfolio = exchange_portfolio_pb.PortfolioBalances( - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - bank_balances=[coin], - subaccounts=[subaccount_balance], - ) - - portfolio_servicer.account_portfolio_balances_responses.append( - exchange_portfolio_pb.AccountPortfolioBalancesResponse( - portfolio=portfolio, - ) - ) - - api = self._api_instance(servicer=portfolio_servicer) - - result_auction = await api.fetch_account_portfolio_balances(account_address=portfolio.account_address) - expected_auction = { - "portfolio": { - "accountAddress": portfolio.account_address, - "bankBalances": [ - { - "denom": coin.denom, - "amount": coin.amount, - } - ], - "subaccounts": [ - { - "subaccountId": subaccount_balance.subaccount_id, - "denom": subaccount_balance.denom, - "deposit": { - "totalBalance": subaccount_deposit.total_balance, - "availableBalance": subaccount_deposit.available_balance, - }, - } - ], - } - } - - assert result_auction == expected_auction - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcPortfolioApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py b/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py deleted file mode 100644 index f17dac2d..00000000 --- a/tests/client/indexer/grpc/test_indexer_grpc_spot_api.py +++ /dev/null @@ -1,863 +0,0 @@ -import grpc -import pytest - -from pyinjective.client.indexer.grpc.indexer_grpc_spot_api import IndexerGrpcSpotApi -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as exchange_spot_pb -from tests.client.indexer.configurable_spot_query_servicer import ConfigurableSpotQueryServicer - - -@pytest.fixture -def spot_servicer(): - return ConfigurableSpotQueryServicer() - - -class TestIndexerGrpcSpotApi: - @pytest.mark.asyncio - async def test_fetch_markets( - self, - spot_servicer, - ): - base_token_meta = exchange_spot_pb.TokenMeta( - name="Injective Protocol", - address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", - symbol="INJ", - logo="https://static.alchemyapi.io/images/assets/7226.png", - decimals=18, - updated_at=1683119359318, - ) - quote_token_meta = exchange_spot_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - - market = exchange_spot_pb.SpotMarketInfo( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - market_status="active", - ticker="INJ/USDT", - base_denom="inj", - base_token_meta=base_token_meta, - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - min_price_tick_size="0.000000000000001", - min_quantity_tick_size="1000000000000000", - min_notional="1000000", - ) - - spot_servicer.markets_responses.append( - exchange_spot_pb.MarketsResponse( - markets=[market], - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_markets = await api.fetch_markets( - market_statuses=[market.market_status], - base_denom=market.base_denom, - quote_denom=market.quote_denom, - ) - expected_markets = { - "markets": [ - { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "baseDenom": market.base_denom, - "baseTokenMeta": { - "name": market.base_token_meta.name, - "address": market.base_token_meta.address, - "symbol": market.base_token_meta.symbol, - "logo": market.base_token_meta.logo, - "decimals": market.base_token_meta.decimals, - "updatedAt": str(market.base_token_meta.updated_at), - }, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "takerFeeRate": market.taker_fee_rate, - "makerFeeRate": market.maker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - } - ] - } - - assert result_markets == expected_markets - - @pytest.mark.asyncio - async def test_fetch_market( - self, - spot_servicer, - ): - base_token_meta = exchange_spot_pb.TokenMeta( - name="Injective Protocol", - address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", - symbol="INJ", - logo="https://static.alchemyapi.io/images/assets/7226.png", - decimals=18, - updated_at=1683119359318, - ) - quote_token_meta = exchange_spot_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - - market = exchange_spot_pb.SpotMarketInfo( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - market_status="active", - ticker="INJ/USDT", - base_denom="inj", - base_token_meta=base_token_meta, - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - min_price_tick_size="0.000000000000001", - min_quantity_tick_size="1000000000000000", - min_notional="1000000", - ) - - spot_servicer.market_responses.append( - exchange_spot_pb.MarketResponse( - market=market, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_market = await api.fetch_market(market_id=market.market_id) - expected_market = { - "market": { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "baseDenom": market.base_denom, - "baseTokenMeta": { - "name": market.base_token_meta.name, - "address": market.base_token_meta.address, - "symbol": market.base_token_meta.symbol, - "logo": market.base_token_meta.logo, - "decimals": market.base_token_meta.decimals, - "updatedAt": str(market.base_token_meta.updated_at), - }, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "takerFeeRate": market.taker_fee_rate, - "makerFeeRate": market.maker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - } - } - - assert result_market == expected_market - - @pytest.mark.asyncio - async def test_fetch_orderbook_v2( - self, - spot_servicer, - ): - buy = exchange_spot_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_spot_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_spot_pb.SpotLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - spot_servicer.orderbook_v2_responses.append( - exchange_spot_pb.OrderbookV2Response( - orderbook=orderbook, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_orderbook = await api.fetch_orderbook_v2( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - ) - expected_orderbook = { - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - } - } - - assert result_orderbook == expected_orderbook - - @pytest.mark.asyncio - async def test_fetch_orderbooks_v2( - self, - spot_servicer, - ): - buy = exchange_spot_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_spot_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_spot_pb.SpotLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - single_orderbook = exchange_spot_pb.SingleSpotLimitOrderbookV2( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - orderbook=orderbook, - ) - - spot_servicer.orderbooks_v2_responses.append( - exchange_spot_pb.OrderbooksV2Response( - orderbooks=[single_orderbook], - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_orderbook = await api.fetch_orderbooks_v2(market_ids=[single_orderbook.market_id]) - expected_orderbook = { - "orderbooks": [ - { - "marketId": single_orderbook.market_id, - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - }, - } - ] - } - - assert result_orderbook == expected_orderbook - - @pytest.mark.asyncio - async def test_fetch_orders( - self, - spot_servicer, - ): - order = exchange_spot_pb.SpotLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.orders_responses.append( - exchange_spot_pb.OrdersResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_orders = await api.fetch_orders( - market_ids=[order.market_id], - order_side=order.order_side, - subaccount_id=order.subaccount_id, - include_inactive=True, - subaccount_total_orders=True, - trade_id="7959737_3_0", - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "txHash": order.tx_hash, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_trades( - self, - spot_servicer, - ): - price = exchange_spot_pb.PriceLevel( - price="0.000000000006024", - quantity="10000000000000000", - timestamp=1677563766350, - ) - - trade = exchange_spot_pb.SpotTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - trade_execution_type="limitMatchNewOrder", - trade_direction="buy", - price=price, - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.trades_responses.append( - exchange_spot_pb.TradesResponse( - trades=[trade], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_trades = await api.fetch_trades( - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=trade.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id=trade.trade_id, - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "tradeDirection": trade.trade_direction, - "price": { - "price": price.price, - "quantity": price.quantity, - "timestamp": str(price.timestamp), - }, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_trades == expected_trades - - @pytest.mark.asyncio - async def test_fetch_subaccount_orders_list( - self, - spot_servicer, - ): - order = exchange_spot_pb.SpotLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.subaccount_orders_list_responses.append( - exchange_spot_pb.SubaccountOrdersListResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_orders = await api.fetch_subaccount_orders_list( - subaccount_id=order.subaccount_id, - market_id=order.market_id, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "txHash": order.tx_hash, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - async def test_fetch_subaccount_trades_list( - self, - spot_servicer, - ): - price = exchange_spot_pb.PriceLevel( - price="0.000000000006024", - quantity="10000000000000000", - timestamp=1677563766350, - ) - - trade = exchange_spot_pb.SpotTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - trade_execution_type="limitMatchNewOrder", - trade_direction="buy", - price=price, - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - spot_servicer.subaccount_trades_list_responses.append( - exchange_spot_pb.SubaccountTradesListResponse( - trades=[trade], - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_trades = await api.fetch_subaccount_trades_list( - subaccount_id=trade.subaccount_id, - market_id=trade.market_id, - execution_type=trade.trade_execution_type, - direction=trade.trade_direction, - pagination=PaginationOption( - skip=0, - limit=100, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "tradeDirection": trade.trade_direction, - "price": { - "price": price.price, - "quantity": price.quantity, - "timestamp": str(price.timestamp), - }, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - } - - assert result_trades == expected_trades - - @pytest.mark.asyncio - async def test_fetch_orders_history( - self, - spot_servicer, - ): - order = exchange_spot_pb.SpotOrderHistory( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - is_active=True, - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - execution_type="limit", - order_type="buy_po", - price="0.000000000017541", - trigger_price="0", - quantity="50955000000000000000", - filled_quantity="1000000000000000", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - direction="buy", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.orders_history_responses.append( - exchange_spot_pb.OrdersHistoryResponse( - orders=[order], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_orders = await api.fetch_orders_history( - subaccount_id=order.subaccount_id, - market_ids=[order.market_id], - order_types=[order.order_type], - direction=order.direction, - state=order.state, - execution_types=[order.execution_type], - trade_id="8662464_1_0", - active_markets_only=True, - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_orders = { - "orders": [ - { - "orderHash": order.order_hash, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "executionType": order.execution_type, - "orderType": order.order_type, - "price": order.price, - "triggerPrice": order.trigger_price, - "quantity": order.quantity, - "filledQuantity": order.filled_quantity, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "direction": order.direction, - "txHash": order.tx_hash, - "isActive": order.is_active, - "cid": order.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_orders == expected_orders - - @pytest.mark.asyncio - 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") - fee = exchange_spot_pb.Coin(denom="inj", amount="100000") - - atomic_swap = exchange_spot_pb.AtomicSwap( - sender="sender", - route="route", - source_coin=source_coin, - dest_coin=dest_coin, - fees=[fee], - contract_address="contract address", - index_by_sender=1, - index_by_sender_contract=2, - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - executed_at=1699644939364, - refund_amount="0", - ) - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.atomic_swap_history_responses.append( - exchange_spot_pb.AtomicSwapHistoryResponse( - data=[atomic_swap], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_history = await api.fetch_atomic_swap_history( - address=atomic_swap.sender, - contract_address=atomic_swap.contract_address, - pagination=PaginationOption( - skip=0, - limit=100, - from_number=1, - to_number=100, - ), - ) - expected_history = { - "data": [ - { - "contractAddress": atomic_swap.contract_address, - "destCoin": {"amount": dest_coin.amount, "denom": dest_coin.denom}, - "executedAt": str(atomic_swap.executed_at), - "fees": [{"amount": fee.amount, "denom": fee.denom}], - "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}, - "txHash": atomic_swap.tx_hash, - } - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_history == expected_history - - @pytest.mark.asyncio - async def test_fetch_trades_v2( - self, - spot_servicer, - ): - price = exchange_spot_pb.PriceLevel( - price="0.000000000006024", - quantity="10000000000000000", - timestamp=1677563766350, - ) - - trade = exchange_spot_pb.SpotTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - trade_execution_type="limitMatchNewOrder", - trade_direction="buy", - price=price, - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - paging = exchange_spot_pb.Paging(total=5, to=5, count_by_subaccount=10, next=["next1", "next2"]) - setattr(paging, "from", 1) - - spot_servicer.trades_v2_responses.append( - exchange_spot_pb.TradesV2Response( - trades=[trade], - paging=paging, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - result_trades = await api.fetch_trades_v2( - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=trade.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id=trade.trade_id, - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - expected_trades = { - "trades": [ - { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "tradeDirection": trade.trade_direction, - "price": { - "price": price.price, - "quantity": price.quantity, - "timestamp": str(price.timestamp), - }, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - ], - "paging": { - "total": str(paging.total), - "from": getattr(paging, "from"), - "to": paging.to, - "countBySubaccount": str(paging.count_by_subaccount), - "next": paging.next, - }, - } - - assert result_trades == expected_trades - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcSpotApi(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/stream_grpc/__init__.py b/tests/client/indexer/stream_grpc/__init__.py deleted file mode 100644 index e69de29b..00000000 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 deleted file mode 100644 index 925e85c8..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_account_stream.py +++ /dev/null @@ -1,81 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_account_stream import IndexerGrpcAccountStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_accounts_rpc_pb2 as exchange_accounts_pb -from tests.client.indexer.configurable_account_query_servicer import ConfigurableAccountQueryServicer - - -@pytest.fixture -def account_servicer(): - return ConfigurableAccountQueryServicer() - - -class TestIndexerGrpcAccountStream: - @pytest.mark.asyncio - async def test_fetch_portfolio( - self, - account_servicer, - ): - deposit = exchange_accounts_pb.SubaccountDeposit( - total_balance="20", - available_balance="10", - ) - balance = exchange_accounts_pb.SubaccountBalance( - subaccount_id="0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - account_address="inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku", - denom="inj", - deposit=deposit, - ) - account_servicer.stream_subaccount_balance_responses.append( - exchange_accounts_pb.StreamSubaccountBalanceResponse(balance=balance, timestamp=1672218001897) - ) - - api = self._api_instance(servicer=account_servicer) - - balance_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: balance_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_subaccount_balance( - subaccount_id=balance.subaccount_id, - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - denoms=["inj"], - ) - ) - expected_balance_update = { - "balance": { - "accountAddress": balance.account_address, - "denom": balance.denom, - "deposit": { - "availableBalance": balance.deposit.available_balance, - "totalBalance": balance.deposit.total_balance, - }, - "subaccountId": balance.subaccount_id, - }, - "timestamp": "1672218001897", - } - - first_balance_update = await asyncio.wait_for(balance_updates.get(), timeout=1) - - assert first_balance_update == expected_balance_update - assert end_event.is_set() - - def _api_instance(self, servicer): - network = Network.devnet() - channel = grpc.aio.insecure_channel(network.grpc_endpoint) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcAccountStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_auction_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_auction_stream.py deleted file mode 100644 index ef76134e..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_auction_stream.py +++ /dev/null @@ -1,68 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_auction_stream import IndexerGrpcAuctionStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_auction_rpc_pb2 as exchange_auction_pb -from tests.client.indexer.configurable_auction_query_servicer import ConfigurableAuctionQueryServicer - - -@pytest.fixture -def auction_servicer(): - return ConfigurableAuctionQueryServicer() - - -class TestIndexerGrpcAuctionStream: - @pytest.mark.asyncio - async def test_stream_oracle_prices_by_markets( - self, - auction_servicer, - ): - bidder = "inj1pdxq82m20fzkjn2th2mm5jp7t5ex6j6klf9cs5" - amount = "1000000000000000000" - round = 1 - timestamp = 1675426622603 - - auction_servicer.stream_bids_responses.append( - exchange_auction_pb.StreamBidsResponse(bidder=bidder, bid_amount=amount, round=round, timestamp=timestamp) - ) - - api = self._api_instance(servicer=auction_servicer) - - bid_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: bid_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_bids( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "bidAmount": amount, - "bidder": bidder, - "round": str(round), - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(bid_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcAuctionStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api 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 deleted file mode 100644 index 55c491cd..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_derivative_stream.py +++ /dev/null @@ -1,789 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_derivative_stream import IndexerGrpcDerivativeStream -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_derivative_exchange_rpc_pb2 as exchange_derivative_pb -from tests.client.indexer.configurable_derivative_query_servicer import ConfigurableDerivativeQueryServicer - - -@pytest.fixture -def derivative_servicer(): - return ConfigurableDerivativeQueryServicer() - - -class TestIndexerGrpcDerivativeStream: - @pytest.mark.asyncio - async def test_stream_market( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - quote_token_meta = exchange_derivative_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - perpetual_market_info = exchange_derivative_pb.PerpetualMarketInfo( - hourly_funding_rate_cap="0.000625", - hourly_interest_rate="0.00000416666", - next_funding_timestamp=1700064000, - funding_interval=3600, - ) - perpetual_market_funding = exchange_derivative_pb.PerpetualMarketFunding( - cumulative_funding="-82680.076492986572881307", - cumulative_price="-78.41752505919454668", - last_timestamp=1700004260, - ) - - market = exchange_derivative_pb.DerivativeMarketInfo( - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - market_status="active", - ticker="INJ/USDT PERP", - oracle_base="0x2d9315a88f3019f8efa88dfe9c0f0843712da0bac814461e27733f6b83eb51b3", - oracle_quote="0x1fc18861232290221461220bd4e2acd1dcdfbc89c84092c93c18bdc7756c1588", - oracle_type="pyth", - oracle_scale_factor=6, - initial_margin_ratio="0.05", - maintenance_margin_ratio="0.02", - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - is_perpetual=True, - min_price_tick_size="100", - min_quantity_tick_size="0.0001", - perpetual_market_info=perpetual_market_info, - perpetual_market_funding=perpetual_market_funding, - min_notional="1000000", - ) - - derivative_servicer.stream_market_responses.append( - exchange_derivative_pb.StreamMarketResponse( - market=market, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - market_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: market_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_market( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[market.market_id], - ) - ) - expected_update = { - "market": { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "oracleBase": market.oracle_base, - "oracleQuote": market.oracle_quote, - "oracleType": market.oracle_type, - "oracleScaleFactor": market.oracle_scale_factor, - "initialMarginRatio": market.initial_margin_ratio, - "maintenanceMarginRatio": market.maintenance_margin_ratio, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "makerFeeRate": market.maker_fee_rate, - "takerFeeRate": market.taker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "isPerpetual": market.is_perpetual, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - "perpetualMarketInfo": { - "hourlyFundingRateCap": perpetual_market_info.hourly_funding_rate_cap, - "hourlyInterestRate": str(perpetual_market_info.hourly_interest_rate), - "nextFundingTimestamp": str(perpetual_market_info.next_funding_timestamp), - "fundingInterval": str(perpetual_market_info.funding_interval), - }, - "perpetualMarketFunding": { - "cumulativeFunding": perpetual_market_funding.cumulative_funding, - "cumulativePrice": perpetual_market_funding.cumulative_price, - "lastTimestamp": str(perpetual_market_funding.last_timestamp), - }, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(market_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orderbook_v2( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - - buy = exchange_derivative_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_derivative_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_derivative_pb.DerivativeLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - derivative_servicer.stream_orderbook_v2_responses.append( - exchange_derivative_pb.StreamOrderbookV2Response( - orderbook=orderbook, - operation_type=operation_type, - timestamp=timestamp, - market_id=market_id, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - orderbook_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orderbook_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_orderbook_v2( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[market_id], - ) - ) - expected_update = { - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - }, - "operationType": operation_type, - "timestamp": str(timestamp), - "marketId": market_id, - } - - first_update = await asyncio.wait_for(orderbook_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orderbook_update( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - buy = exchange_derivative_pb.PriceLevelUpdate( - price="0.000000000014198", - quantity="142000000000000000000", - is_active=True, - timestamp=1698982052141, - ) - sell = exchange_derivative_pb.PriceLevelUpdate( - price="0.00000000095699", - quantity="189000000000000000", - is_active=True, - timestamp=1698920369246, - ) - - level_updates = exchange_derivative_pb.OrderbookLevelUpdates( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - sequence=5506752, - buys=[buy], - sells=[sell], - updated_at=1698982083606, - ) - - derivative_servicer.stream_orderbook_update_responses.append( - exchange_derivative_pb.StreamOrderbookUpdateResponse( - orderbook_level_updates=level_updates, - operation_type=operation_type, - timestamp=timestamp, - market_id=level_updates.market_id, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - orderbook_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orderbook_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_orderbook_update( - market_ids=[level_updates.market_id], - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "orderbookLevelUpdates": { - "marketId": level_updates.market_id, - "sequence": str(level_updates.sequence), - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "isActive": buy.is_active, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "isActive": sell.is_active, - "timestamp": str(sell.timestamp), - } - ], - "updatedAt": str(level_updates.updated_at), - }, - "operationType": operation_type, - "timestamp": str(timestamp), - "marketId": level_updates.market_id, - } - - first_update = await asyncio.wait_for(orderbook_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_positions( - self, - derivative_servicer, - ): - timestamp = 1672218001897 - - position = exchange_derivative_pb.DerivativePosition( - 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", - aggregate_reduce_only_quantity="0", - updated_at=1700161202147, - created_at=-62135596800000, - ) - - derivative_servicer.stream_positions_responses.append( - exchange_derivative_pb.StreamPositionsResponse( - 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() - - asyncio.get_event_loop().create_task( - api.stream_positions( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[position.market_id], - subaccount_ids=[position.subaccount_id], - ) - ) - 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, - "aggregateReduceOnlyQuantity": position.aggregate_reduce_only_quantity, - "createdAt": str(position.created_at), - "updatedAt": str(position.updated_at), - }, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(positions.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orders( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - order = exchange_derivative_pb.DerivativeLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - is_reduce_only=False, - margin="2280000000", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - order_number=0, - order_type="", - is_conditional=False, - trigger_at=0, - placed_order_hash="", - execution_type="", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - derivative_servicer.stream_orders_responses.append( - exchange_derivative_pb.StreamOrdersResponse( - order=order, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - orders_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orders_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_orders( - market_ids=[order.market_id], - order_side=order.order_side, - subaccount_id=order.subaccount_id, - is_conditional="true", - order_type="", - include_inactive=True, - subaccount_total_orders=True, - trade_id="7959737_3_0", - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "order": { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "isReduceOnly": order.is_reduce_only, - "margin": order.margin, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "orderNumber": str(order.order_number), - "orderType": order.order_type, - "isConditional": order.is_conditional, - "triggerAt": str(order.trigger_at), - "placedOrderHash": order.placed_order_hash, - "executionType": order.execution_type, - "txHash": order.tx_hash, - "cid": order.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(orders_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_trades( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - position_delta = exchange_derivative_pb.PositionDelta( - trade_direction="buy", - execution_price="13945600", - execution_quantity="5", - execution_margin="69728000", - ) - - trade = exchange_derivative_pb.DerivativeTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - trade_execution_type="limitMatchNewOrder", - is_liquidation=False, - position_delta=position_delta, - payout="0", - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - derivative_servicer.stream_trades_responses.append( - exchange_derivative_pb.StreamTradesResponse( - trade=trade, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - trade_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: trade_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_trades( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=position_delta.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id="7959737_3_0", - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - ) - expected_update = { - "trade": { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "isLiquidation": trade.is_liquidation, - "positionDelta": { - "tradeDirection": position_delta.trade_direction, - "executionPrice": position_delta.execution_price, - "executionQuantity": position_delta.execution_quantity, - "executionMargin": position_delta.execution_margin, - }, - "payout": trade.payout, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orders_history( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - order = exchange_derivative_pb.DerivativeOrderHistory( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - is_active=True, - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - execution_type="limit", - order_type="buy_po", - price="0.000000000017541", - trigger_price="0", - quantity="50955000000000000000", - filled_quantity="1000000000000000", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - is_reduce_only=False, - direction="buy", - is_conditional=False, - trigger_at=0, - placed_order_hash="", - margin="2280000000", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - derivative_servicer.stream_orders_history_responses.append( - exchange_derivative_pb.StreamOrdersHistoryResponse( - order=order, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - orders_history_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orders_history_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_orders_history( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - subaccount_id=order.subaccount_id, - market_id=order.market_id, - order_types=[order.order_type], - direction=order.direction, - state=order.state, - execution_types=[order.execution_type], - ) - ) - expected_update = { - "order": { - "orderHash": order.order_hash, - "marketId": order.market_id, - "isActive": order.is_active, - "subaccountId": order.subaccount_id, - "executionType": order.execution_type, - "orderType": order.order_type, - "price": order.price, - "triggerPrice": order.trigger_price, - "quantity": order.quantity, - "filledQuantity": order.filled_quantity, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "isReduceOnly": order.is_reduce_only, - "direction": order.direction, - "isConditional": order.is_conditional, - "triggerAt": str(order.trigger_at), - "placedOrderHash": order.placed_order_hash, - "margin": order.margin, - "txHash": order.tx_hash, - "cid": order.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(orders_history_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_trades_v2( - self, - derivative_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - position_delta = exchange_derivative_pb.PositionDelta( - trade_direction="buy", - execution_price="13945600", - execution_quantity="5", - execution_margin="69728000", - ) - - trade = exchange_derivative_pb.DerivativeTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", - trade_execution_type="limitMatchNewOrder", - is_liquidation=False, - position_delta=position_delta, - payout="0", - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - derivative_servicer.stream_trades_v2_responses.append( - exchange_derivative_pb.StreamTradesV2Response( - trade=trade, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=derivative_servicer) - - trade_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: trade_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_trades_v2( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=position_delta.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id="7959737_3_0", - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - ) - expected_update = { - "trade": { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "isLiquidation": trade.is_liquidation, - "positionDelta": { - "tradeDirection": position_delta.trade_direction, - "executionPrice": position_delta.execution_price, - "executionQuantity": position_delta.execution_quantity, - "executionMargin": position_delta.execution_margin, - }, - "payout": trade.payout, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(trade_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcDerivativeStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api 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 deleted file mode 100644 index b960076a..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_explorer_stream.py +++ /dev/null @@ -1,137 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_explorer_stream import IndexerGrpcExplorerStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_explorer_rpc_pb2 as exchange_explorer_pb -from tests.client.indexer.configurable_explorer_query_servicer import ConfigurableExplorerQueryServicer - - -@pytest.fixture -def explorer_servicer(): - return ConfigurableExplorerQueryServicer() - - -class TestIndexerGrpcAuctionStream: - @pytest.mark.asyncio - async def test_stream_txs( - self, - explorer_servicer, - ): - code = 5 - claim_id = 100 - tx_data = exchange_explorer_pb.StreamTxsResponse( - id="test id", - block_number=18138926, - block_timestamp="2023-11-07 23:19:55.371 +0000 UTC", - hash="0x3790ade2bea6c8605851ec89fa968adf2a2037a5ecac11ca95e99260508a3b7e", - codespace="test codespace", - messages='[{"type":"/cosmos.bank.v1beta1.MsgSend",' - '"value":{"from_address":"inj1phd706jqzd9wznkk5hgsfkrc8jqxv0kmlj0kex",' - '"to_address":"inj1d6qx83nhx3a3gx7e654x4su8hur5s83u84h2xc",' - '"amount":[{"denom":"factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth",' - '"amount":"100000000000000000"}]}}]', - tx_number=221429, - error_log="", - code=code, - claim_ids=[claim_id], - ) - - explorer_servicer.stream_txs_responses.append(tx_data) - - api = self._api_instance(servicer=explorer_servicer) - - txs_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: txs_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_txs( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "id": tx_data.id, - "blockNumber": str(tx_data.block_number), - "blockTimestamp": tx_data.block_timestamp, - "hash": tx_data.hash, - "codespace": tx_data.codespace, - "messages": tx_data.messages, - "txNumber": str(tx_data.tx_number), - "errorLog": tx_data.error_log, - "code": tx_data.code, - "claimIds": [str(claim_id)], - } - - first_update = await asyncio.wait_for(txs_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_blocks( - self, - explorer_servicer, - ): - block_info = exchange_explorer_pb.StreamBlocksResponse( - height=19034578, - proposer="injvalcons18x63wcw5hjxlf535lgn4qy20yer7mm0qedu0la", - moniker="InjectiveNode1", - block_hash="0x7f7bfe8caaa0eed042315d1447ef1ed726a80f5da23fdbe6831fc66775197db1", - parent_hash="0x44287ba5fad21d0109a3ec6f19d447580763e5a709e5a5ceb767174e99ae3bd8", - num_pre_commits=20, - num_txs=4, - timestamp="2023-11-29 20:23:33.842 +0000 UTC", - ) - - explorer_servicer.stream_blocks_responses.append(block_info) - - api = self._api_instance(servicer=explorer_servicer) - - blocks_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: blocks_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_blocks( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "height": str(block_info.height), - "proposer": block_info.proposer, - "moniker": block_info.moniker, - "blockHash": block_info.block_hash, - "parentHash": block_info.parent_hash, - "numPreCommits": str(block_info.num_pre_commits), - "numTxs": str(block_info.num_txs), - "txs": [], - "timestamp": block_info.timestamp, - } - - first_update = await asyncio.wait_for(blocks_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcExplorerStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_meta_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_meta_stream.py deleted file mode 100644 index 0e476e76..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_meta_stream.py +++ /dev/null @@ -1,66 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_meta_stream import IndexerGrpcMetaStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_meta_rpc_pb2 as exchange_meta_pb -from tests.client.indexer.configurable_meta_query_servicer import ConfigurableMetaQueryServicer - - -@pytest.fixture -def meta_servicer(): - return ConfigurableMetaQueryServicer() - - -class TestIndexerGrpcMetaStream: - @pytest.mark.asyncio - async def test_fetch_portfolio( - self, - meta_servicer, - ): - event = "test event" - new_endpoint = "new test endpoint" - timestamp = 1672218001897 - - meta_servicer.stream_keepalive_responses.append( - exchange_meta_pb.StreamKeepaliveResponse( - event=event, - new_endpoint=new_endpoint, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=meta_servicer) - - keepalive_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: keepalive_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_keepalive( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = {"event": event, "newEndpoint": new_endpoint, "timestamp": str(timestamp)} - - first_update = await asyncio.wait_for(keepalive_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcMetaStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api 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 deleted file mode 100644 index 2e60d84a..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py +++ /dev/null @@ -1,108 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_oracle_stream import IndexerGrpcOracleStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_oracle_rpc_pb2 as exchange_oracle_pb -from tests.client.indexer.configurable_oracle_query_servicer import ConfigurableOracleQueryServicer - - -@pytest.fixture -def oracle_servicer(): - return ConfigurableOracleQueryServicer() - - -class TestIndexerGrpcOracleStream: - @pytest.mark.asyncio - async def test_stream_oracle_prices( - self, - oracle_servicer, - ): - price = "0.00000000000002" - timestamp = 1672218001897 - - oracle_servicer.stream_prices_responses.append( - exchange_oracle_pb.StreamPricesResponse( - price=price, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=oracle_servicer) - - price_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: price_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_prices( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - base_symbol="Gold", - quote_symbol="USDT", - oracle_type="pricefeed", - ) - ) - expected_update = {"price": price, "timestamp": str(timestamp)} - - first_update = await asyncio.wait_for(price_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_oracle_prices_by_markets( - self, - oracle_servicer, - ): - price = "0.00000000000002" - timestamp = 1672218001897 - market_id = "0xa43d2be9861efb0d188b136cef0ae2150f80e08ec318392df654520dd359fcd7" - - oracle_servicer.stream_prices_by_markets_responses.append( - exchange_oracle_pb.StreamPricesByMarketsResponse( - price=price, - timestamp=timestamp, - market_id=market_id, - ) - ) - - api = self._api_instance(servicer=oracle_servicer) - - price_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: price_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_prices_by_markets( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[market_id], - ) - ) - expected_update = {"price": price, "timestamp": str(timestamp), "marketId": market_id} - - first_update = await asyncio.wait_for(price_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcOracleStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_portfolio_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_portfolio_stream.py deleted file mode 100644 index f992fb9b..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_portfolio_stream.py +++ /dev/null @@ -1,79 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_portfolio_stream import IndexerGrpcPortfolioStream -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_portfolio_rpc_pb2 as exchange_portfolio_pb -from tests.client.indexer.configurable_portfolio_query_servicer import ConfigurablePortfolioQueryServicer - - -@pytest.fixture -def portfolio_servicer(): - return ConfigurablePortfolioQueryServicer() - - -class TestIndexerGrpcPortfolioStream: - @pytest.mark.asyncio - async def test_stream_account_portfolio( - self, - portfolio_servicer, - ): - update_type = "total_balance" - denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" - amount = "1000000000000000000" - subaccount_id = "0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000000" - timestamp = 1675426622603 - - portfolio_servicer.stream_account_portfolio_responses.append( - exchange_portfolio_pb.StreamAccountPortfolioResponse( - type=update_type, - denom=denom, - amount=amount, - subaccount_id=subaccount_id, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=portfolio_servicer) - - portfolio_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: portfolio_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_account_portfolio( - account_address="test_address", - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - subaccount_id=subaccount_id, - update_type=update_type, - ) - ) - expected_update = { - "type": update_type, - "denom": denom, - "amount": amount, - "subaccountId": subaccount_id, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(portfolio_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcPortfolioStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api 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 deleted file mode 100644 index 96b31d49..00000000 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_spot_stream.py +++ /dev/null @@ -1,664 +0,0 @@ -import asyncio - -import grpc -import pytest - -from pyinjective.client.indexer.grpc_stream.indexer_grpc_spot_stream import IndexerGrpcSpotStream -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as exchange_spot_pb -from tests.client.indexer.configurable_spot_query_servicer import ConfigurableSpotQueryServicer - - -@pytest.fixture -def spot_servicer(): - return ConfigurableSpotQueryServicer() - - -class TestIndexerGrpcSpotStream: - @pytest.mark.asyncio - async def test_stream_markets( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - base_token_meta = exchange_spot_pb.TokenMeta( - name="Injective Protocol", - address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", - symbol="INJ", - logo="https://static.alchemyapi.io/images/assets/7226.png", - decimals=18, - updated_at=1683119359318, - ) - quote_token_meta = exchange_spot_pb.TokenMeta( - name="Testnet Tether USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683119359320, - ) - - market = exchange_spot_pb.SpotMarketInfo( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - market_status="active", - ticker="INJ/USDT", - base_denom="inj", - base_token_meta=base_token_meta, - quote_denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - quote_token_meta=quote_token_meta, - maker_fee_rate="-0.0001", - taker_fee_rate="0.001", - service_provider_fee="0.4", - min_price_tick_size="0.000000000000001", - min_quantity_tick_size="1000000000000000", - min_notional="1000000", - ) - - spot_servicer.stream_markets_responses.append( - exchange_spot_pb.StreamMarketsResponse( - market=market, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - market_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: market_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_markets( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[market.market_id], - ) - ) - expected_update = { - "market": { - "marketId": market.market_id, - "marketStatus": market.market_status, - "ticker": market.ticker, - "baseDenom": market.base_denom, - "baseTokenMeta": { - "name": market.base_token_meta.name, - "address": market.base_token_meta.address, - "symbol": market.base_token_meta.symbol, - "logo": market.base_token_meta.logo, - "decimals": market.base_token_meta.decimals, - "updatedAt": str(market.base_token_meta.updated_at), - }, - "quoteDenom": market.quote_denom, - "quoteTokenMeta": { - "name": market.quote_token_meta.name, - "address": market.quote_token_meta.address, - "symbol": market.quote_token_meta.symbol, - "logo": market.quote_token_meta.logo, - "decimals": market.quote_token_meta.decimals, - "updatedAt": str(market.quote_token_meta.updated_at), - }, - "takerFeeRate": market.taker_fee_rate, - "makerFeeRate": market.maker_fee_rate, - "serviceProviderFee": market.service_provider_fee, - "minPriceTickSize": market.min_price_tick_size, - "minQuantityTickSize": market.min_quantity_tick_size, - "minNotional": market.min_notional, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(market_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orderbook_v2( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - market_id = "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" - - buy = exchange_spot_pb.PriceLevel( - price="0.000000000014198", - quantity="142000000000000000000", - timestamp=1698982052141, - ) - sell = exchange_spot_pb.PriceLevel( - price="0.00000000095699", - quantity="189000000000000000", - timestamp=1698920369246, - ) - - orderbook = exchange_spot_pb.SpotLimitOrderbookV2( - buys=[buy], - sells=[sell], - sequence=5506752, - timestamp=1698982083606, - ) - - spot_servicer.stream_orderbook_v2_responses.append( - exchange_spot_pb.StreamOrderbookV2Response( - orderbook=orderbook, - operation_type=operation_type, - timestamp=timestamp, - market_id=market_id, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - orderbook_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orderbook_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_orderbook_v2( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[market_id], - ) - ) - expected_update = { - "orderbook": { - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "timestamp": str(sell.timestamp), - } - ], - "sequence": str(orderbook.sequence), - "timestamp": str(orderbook.timestamp), - }, - "operationType": operation_type, - "timestamp": str(timestamp), - "marketId": market_id, - } - - first_update = await asyncio.wait_for(orderbook_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orderbook_update( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - buy = exchange_spot_pb.PriceLevelUpdate( - price="0.000000000014198", - quantity="142000000000000000000", - is_active=True, - timestamp=1698982052141, - ) - sell = exchange_spot_pb.PriceLevelUpdate( - price="0.00000000095699", - quantity="189000000000000000", - is_active=True, - timestamp=1698920369246, - ) - - level_updates = exchange_spot_pb.OrderbookLevelUpdates( - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - sequence=5506752, - buys=[buy], - sells=[sell], - updated_at=1698982083606, - ) - - spot_servicer.stream_orderbook_update_responses.append( - exchange_spot_pb.StreamOrderbookUpdateResponse( - orderbook_level_updates=level_updates, - operation_type=operation_type, - timestamp=timestamp, - market_id=level_updates.market_id, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - orderbook_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orderbook_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_orderbook_update( - market_ids=[level_updates.market_id], - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "orderbookLevelUpdates": { - "marketId": level_updates.market_id, - "sequence": str(level_updates.sequence), - "buys": [ - { - "price": buy.price, - "quantity": buy.quantity, - "isActive": buy.is_active, - "timestamp": str(buy.timestamp), - } - ], - "sells": [ - { - "price": sell.price, - "quantity": sell.quantity, - "isActive": sell.is_active, - "timestamp": str(sell.timestamp), - } - ], - "updatedAt": str(level_updates.updated_at), - }, - "operationType": operation_type, - "timestamp": str(timestamp), - "marketId": level_updates.market_id, - } - - first_update = await asyncio.wait_for(orderbook_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orders( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - order = exchange_spot_pb.SpotLimitOrder( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - order_side="buy", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - price="0.000000000017541", - quantity="50955000000000000000", - unfilled_quantity="50955000000000000000", - trigger_price="0", - fee_recipient="inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - spot_servicer.stream_orders_responses.append( - exchange_spot_pb.StreamOrdersResponse( - order=order, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - orders_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orders_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_orders( - market_ids=[order.market_id], - order_side=order.order_side, - subaccount_id=order.subaccount_id, - include_inactive=True, - subaccount_total_orders=True, - trade_id="7959737_3_0", - cid=order.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - ) - ) - expected_update = { - "order": { - "orderHash": order.order_hash, - "orderSide": order.order_side, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "price": order.price, - "quantity": order.quantity, - "unfilledQuantity": order.unfilled_quantity, - "triggerPrice": order.trigger_price, - "feeRecipient": order.fee_recipient, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "txHash": order.tx_hash, - "cid": order.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(orders_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_trades( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - price = exchange_spot_pb.PriceLevel( - price="0.000000000006024", - quantity="10000000000000000", - timestamp=1677563766350, - ) - - trade = exchange_spot_pb.SpotTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - trade_execution_type="limitMatchNewOrder", - trade_direction="buy", - price=price, - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - spot_servicer.stream_trades_responses.append( - exchange_spot_pb.StreamTradesResponse( - trade=trade, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - trade_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: trade_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_trades( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=trade.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id="7959737_3_0", - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - ) - expected_update = { - "trade": { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "tradeDirection": trade.trade_direction, - "price": { - "price": price.price, - "quantity": price.quantity, - "timestamp": str(price.timestamp), - }, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(trade_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_orders_history( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - order = exchange_spot_pb.SpotOrderHistory( - order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - is_active=True, - subaccount_id="0x5e249f0e8cb406f41de16e1bd6f6b55e7bc75add000000000000000000000004", - execution_type="limit", - order_type="buy_po", - price="0.000000000017541", - trigger_price="0", - quantity="50955000000000000000", - filled_quantity="1000000000000000", - state="booked", - created_at=1699644939364, - updated_at=1699644939364, - direction="buy", - tx_hash="0x0000000000000000000000000000000000000000000000000000000000000000", - cid="cid1", - ) - - spot_servicer.stream_orders_history_responses.append( - exchange_spot_pb.StreamOrdersHistoryResponse( - order=order, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - orders_history_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: orders_history_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_orders_history( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - subaccount_id=order.subaccount_id, - market_id=order.market_id, - order_types=[order.order_type], - direction=order.direction, - state=order.state, - execution_types=[order.execution_type], - ) - ) - expected_update = { - "order": { - "orderHash": order.order_hash, - "marketId": order.market_id, - "subaccountId": order.subaccount_id, - "executionType": order.execution_type, - "orderType": order.order_type, - "price": order.price, - "triggerPrice": order.trigger_price, - "quantity": order.quantity, - "filledQuantity": order.filled_quantity, - "state": order.state, - "createdAt": str(order.created_at), - "updatedAt": str(order.updated_at), - "direction": order.direction, - "txHash": order.tx_hash, - "isActive": order.is_active, - "cid": order.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(orders_history_updates.get(), timeout=1) - - assert first_update == expected_update - assert end_event.is_set() - - @pytest.mark.asyncio - async def test_stream_trades_v2( - self, - spot_servicer, - ): - operation_type = "update" - timestamp = 1672218001897 - - price = exchange_spot_pb.PriceLevel( - price="0.000000000006024", - quantity="10000000000000000", - timestamp=1677563766350, - ) - - trade = exchange_spot_pb.SpotTrade( - order_hash="0xe549e4750287c93fcc8dec24f319c15025e07e89a8d0937be2b3865ed79d9da7", - subaccount_id="0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", - market_id="0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe", - trade_execution_type="limitMatchNewOrder", - trade_direction="buy", - price=price, - fee="36.144", - executed_at=1677563766350, - fee_recipient="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - trade_id="8662464_1_0", - execution_side="taker", - cid="cid1", - ) - - spot_servicer.stream_trades_v2_responses.append( - exchange_spot_pb.StreamTradesV2Response( - trade=trade, - operation_type=operation_type, - timestamp=timestamp, - ) - ) - - api = self._api_instance(servicer=spot_servicer) - - trade_updates = asyncio.Queue() - end_event = asyncio.Event() - - callback = lambda update: trade_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_trades_v2( - callback=callback, - on_end_callback=end_callback, - on_status_callback=error_callback, - market_ids=[trade.market_id], - subaccount_ids=[trade.subaccount_id], - execution_side=trade.execution_side, - direction=trade.trade_direction, - execution_types=[trade.trade_execution_type], - trade_id="7959737_3_0", - account_address="inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", - cid=trade.cid, - pagination=PaginationOption( - skip=0, - limit=100, - start_time=1699544939364, - end_time=1699744939364, - ), - ) - ) - expected_update = { - "trade": { - "orderHash": trade.order_hash, - "subaccountId": trade.subaccount_id, - "marketId": trade.market_id, - "tradeExecutionType": trade.trade_execution_type, - "tradeDirection": trade.trade_direction, - "price": { - "price": price.price, - "quantity": price.quantity, - "timestamp": str(price.timestamp), - }, - "fee": trade.fee, - "executedAt": str(trade.executed_at), - "feeRecipient": trade.fee_recipient, - "tradeId": trade.trade_id, - "executionSide": trade.execution_side, - "cid": trade.cid, - }, - "operationType": operation_type, - "timestamp": str(timestamp), - } - - first_update = await asyncio.wait_for(trade_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) - cookie_assistant = DisabledCookieAssistant() - - api = IndexerGrpcSpotStream(channel=channel, cookie_assistant=cookie_assistant) - api._stub = servicer - - return api diff --git a/tests/client/model/test_pagination.py b/tests/client/model/test_pagination.py index dc8c4a11..a98e53d2 100644 --- a/tests/client/model/test_pagination.py +++ b/tests/client/model/test_pagination.py @@ -1,6 +1,6 @@ import base64 -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption class TestPaginationOption: diff --git a/tests/core/ibc/channel/grpc/test_ibc_channel_grpc_api.py b/tests/core/ibc/channel/grpc/test_ibc_channel_grpc_api.py index b8223c78..88101ec5 100644 --- a/tests/core/ibc/channel/grpc/test_ibc_channel_grpc_api.py +++ b/tests/core/ibc/channel/grpc/test_ibc_channel_grpc_api.py @@ -4,8 +4,8 @@ import pytest from google.protobuf import any_pb2 -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.ibc.channel.grpc.ibc_channel_grpc_api import IBCChannelGrpcApi +from pyinjective.client.model import PaginationOption +from pyinjective.core.ibc.channel.grpc import IBCChannelGrpcApi from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb from pyinjective.proto.cosmos.ics23.v1 import proofs_pb2 as ics23_proofs diff --git a/tests/core/ibc/client/grpc/test_ibc_client_grpc_api.py b/tests/core/ibc/client/grpc/test_ibc_client_grpc_api.py index c45e85dd..9a6c8bd4 100644 --- a/tests/core/ibc/client/grpc/test_ibc_client_grpc_api.py +++ b/tests/core/ibc/client/grpc/test_ibc_client_grpc_api.py @@ -4,8 +4,8 @@ import pytest from google.protobuf import any_pb2 -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.ibc.client.grpc.ibc_client_grpc_api import IBCClientGrpcApi +from pyinjective.client.model import PaginationOption +from pyinjective.core.ibc.client.grpc import IBCClientGrpcApi from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb from pyinjective.proto.cosmos.ics23.v1 import proofs_pb2 as ics23_proofs diff --git a/tests/core/ibc/connection/grpc/test_ibc_connection_grpc_api.py b/tests/core/ibc/connection/grpc/test_ibc_connection_grpc_api.py index 03835830..302d426c 100644 --- a/tests/core/ibc/connection/grpc/test_ibc_connection_grpc_api.py +++ b/tests/core/ibc/connection/grpc/test_ibc_connection_grpc_api.py @@ -4,8 +4,8 @@ import pytest from google.protobuf import any_pb2 -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.ibc.connection.grpc.ibc_connection_grpc_api import IBCConnectionGrpcApi +from pyinjective.client.model import PaginationOption +from pyinjective.core.ibc.connection.grpc import IBCConnectionGrpcApi from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb from pyinjective.proto.cosmos.ics23.v1 import proofs_pb2 as ics23_proofs diff --git a/tests/core/ibc/transfer/grpc/test_ibc_transfer_grpc_api.py b/tests/core/ibc/transfer/grpc/test_ibc_transfer_grpc_api.py index 98b68488..79bf2b56 100644 --- a/tests/core/ibc/transfer/grpc/test_ibc_transfer_grpc_api.py +++ b/tests/core/ibc/transfer/grpc/test_ibc_transfer_grpc_api.py @@ -3,8 +3,8 @@ import grpc import pytest -from pyinjective.client.model.pagination import PaginationOption -from pyinjective.core.ibc.transfer.grpc.ibc_transfer_grpc_api import IBCTransferGrpcApi +from pyinjective.client.model import PaginationOption +from pyinjective.core.ibc.transfer.grpc import IBCTransferGrpcApi from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.query.v1beta1 import pagination_pb2 as pagination_pb from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb diff --git a/tests/core/tendermint/grpc/test_tendermint_grpc_api.py b/tests/core/tendermint/grpc/test_tendermint_grpc_api.py index cf61f18b..5cd550ad 100644 --- a/tests/core/tendermint/grpc/test_tendermint_grpc_api.py +++ b/tests/core/tendermint/grpc/test_tendermint_grpc_api.py @@ -3,9 +3,9 @@ import grpc import pytest -from pyinjective.client.model.pagination import PaginationOption +from pyinjective.client.model import PaginationOption from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.core.tendermint.grpc.tendermint_grpc_api import TendermintGrpcApi +from pyinjective.core.tendermint.grpc import TendermintGrpcApi 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 diff --git a/tests/core/tx/grpc/test_tx_grpc_api.py b/tests/core/tx/grpc/test_tx_grpc_api.py index b98dfbdb..47d489c6 100644 --- a/tests/core/tx/grpc/test_tx_grpc_api.py +++ b/tests/core/tx/grpc/test_tx_grpc_api.py @@ -5,7 +5,7 @@ from google.protobuf import any_pb2 from pyinjective.core.network import DisabledCookieAssistant, Network -from pyinjective.core.tx.grpc.tx_grpc_api import TxGrpcApi +from pyinjective.core.tx.grpc import TxGrpcApi from pyinjective.proto.cosmos.base.abci.v1beta1 import abci_pb2 as abci_type from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb from pyinjective.proto.cosmos.tx.v1beta1 import service_pb2 as tx_service, tx_pb2 diff --git a/tests/rpc_fixtures/markets_fixtures.py b/tests/rpc_fixtures/markets_fixtures.py index 9aecaf56..5c47840a 100644 --- a/tests/rpc_fixtures/markets_fixtures.py +++ b/tests/rpc_fixtures/markets_fixtures.py @@ -26,87 +26,6 @@ def smart_denom_metadata(): return metadata - -@pytest.fixture -def inj_token_meta(): - from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as spot_exchange_pb - - token = spot_exchange_pb.TokenMeta( - name="Injective Protocol", - address="0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30", - symbol="INJ", - logo="https://static.alchemyapi.io/images/assets/7226.png", - decimals=18, - updated_at=1681739137644, - ) - - return token - - -@pytest.fixture -def ape_token_meta(): - from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as spot_exchange_pb - - token = spot_exchange_pb.TokenMeta( - name="APE", - address="0x0000000000000000000000000000000000000000", - symbol="APE", - logo="https://assets.coingecko.com/coins/images/24383/small/apecoin.jpg?1647476455", - decimals=18, - updated_at=1681739137646, - ) - - return token - - -@pytest.fixture -def usdt_token_meta(): - from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as spot_exchange_pb - - token = spot_exchange_pb.TokenMeta( - name="USDT", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1681739137645, - ) - - return token - - -@pytest.fixture -def usdt_token_meta_second_denom(): - from pyinjective.proto.exchange import injective_spot_exchange_rpc_pb2 as spot_exchange_pb - - token = spot_exchange_pb.TokenMeta( - name="USDT Second Denom", - address="0x0000000000000000000000000000000000000000", - symbol="USDT", - logo="https://static.alchemyapi.io/images/assets/826.png", - decimals=6, - updated_at=1691739137645, - ) - - return token - - -@pytest.fixture -def usdt_perp_token_meta(): - from pyinjective.proto.exchange import injective_derivative_exchange_rpc_pb2 as derivative_exchange_pb - - token = derivative_exchange_pb.TokenMeta( - name="Tether", - address="0xdAC17F958D2ee523a2206206994597C13D831ec7", - symbol="USDTPerp", - logo="https://static.alchemyapi.io/images/assets/825.png", - decimals=6, - updated_at=1683929869866, - ) - - return token - - @pytest.fixture def ape_usdt_spot_market_meta(): from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as exchange_pb diff --git a/tests/test_async_client.py b/tests/test_async_client.py index 92a4c98f..479d27c5 100644 --- a/tests/test_async_client.py +++ b/tests/test_async_client.py @@ -9,18 +9,6 @@ from pyinjective.proto.injective.exchange.v1beta1 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.rpc_fixtures.markets_fixtures import ( # noqa: F401 - ape_token_meta, - ape_usdt_spot_market_meta, - btc_usdt_perp_market_meta, - first_match_bet_market_meta, - inj_token_meta, - inj_usdt_spot_market_meta, - smart_denom_metadata, - usdt_perp_token_meta, - usdt_token_meta, - usdt_token_meta_second_denom, -) @pytest.fixture 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" - )