diff --git a/CHANGELOG.md b/CHANGELOG.md
index a2464c7e6..b83fd0347 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic
Releases prior to 7.0 has been removed from this file to declutter search results; see the [archived copy](https://github.com/dipdup-io/dipdup/blob/8.0.0b5/CHANGELOG.md) for the full list.
-## [8.1.0] - 2024-10-??
+## [8.1.0] - 2024-10-16
### Added
@@ -14,7 +14,7 @@ Releases prior to 7.0 has been removed from this file to declutter search result
- cli: Added `schema` subcommands to manage database migrations: `migrate`, `upgrade`, `downgrade`, `heads` and `history`.
- cli: Added interactive mode for `new` command.
- database: Support database migrations using [`aerich`](https://github.com/tortoise/aerich).
-- hasura: Added `ignore` and `ignore_internal` config options to hide specific tables/views.
+- hasura: Added `hide` and `hide_internal` config options to make specified tables/views private.
### Fixed
diff --git a/docs/7.references/2.config.md b/docs/7.references/2.config.md
index e533a0867..ead794c18 100644
--- a/docs/7.references/2.config.md
+++ b/docs/7.references/2.config.md
@@ -333,7 +333,7 @@ description: "Config file reference"
## dipdup.config.HasuraConfig
-class dipdup.config.HasuraConfig(url, admin_secret=None, create_source=False, source='default', select_limit=1000, allow_aggregations=True, allow_inconsistent_metadata=False, camel_case=False, rest=True, http=None, ignore_internal=False, ignore=None)
+class dipdup.config.HasuraConfig(url, admin_secret=None, create_source=False, source='default', select_limit=1000, allow_aggregations=True, allow_inconsistent_metadata=False, camel_case=False, rest=True, http=None, hide_internal=False, hide=None)
Config for the Hasura integration.
- Parameters:
@@ -348,8 +348,8 @@ description: "Config file reference"
camel_case (bool) – Whether to use camelCase instead of default pascal_case for the field names.
rest (bool) – Enable REST API both for autogenerated and custom queries.
http (HttpConfig | None) – HTTP connection tunables
-ignore_internal (bool) – Whether to ignore internal tables (prefixed with “dipdup”) when generating the GraphQL API.
-ignore (list[str]) – List of additional table names to ignore when generating the GraphQL API.
+hide_internal (bool) – Whether to make internal tables (prefixed with “dipdup”) private.
+hide (list[str]) – List of table/view names to make private.
diff --git a/docs/8.examples/_demos_table.md b/docs/8.examples/_demos_table.md
index c552a6a52..2337fd031 100644
--- a/docs/8.examples/_demos_table.md
+++ b/docs/8.examples/_demos_table.md
@@ -1,21 +1,21 @@
| name | network | description | source |
|-|-|-|-|
-| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_blank) |
-| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_events) |
-| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_transactions) |
-| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_uniswap) |
-| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_starknet_events) |
-| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_auction) |
-| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_dao) |
-| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_dex) |
-| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_domains) |
-| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_etherlink) |
-| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_events) |
-| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_factories) |
-| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_head) |
-| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_nft_marketplace) |
-| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_raw) |
-| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token) |
-| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token_balances) |
-| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token_transfers) |
+| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_blank) |
+| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_events) |
+| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_transactions) |
+| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_uniswap) |
+| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_starknet_events) |
+| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_auction) |
+| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_dao) |
+| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_dex) |
+| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_domains) |
+| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_etherlink) |
+| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_events) |
+| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_factories) |
+| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_head) |
+| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_nft_marketplace) |
+| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_raw) |
+| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token) |
+| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token_balances) |
+| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token_transfers) |
diff --git a/docs/9.release-notes/1.v8.1.md b/docs/9.release-notes/1.v8.1.md
index d29930f60..02c9c8247 100644
--- a/docs/9.release-notes/1.v8.1.md
+++ b/docs/9.release-notes/1.v8.1.md
@@ -7,5 +7,17 @@ description: DipDup 8.1 release notes
# Release Notes: 8.1
-{{ #include 9.release-notes/_8.0_changelog.md }}
+This release was created during the [ODHack 8.0](https://app.onlydust.com/hackathons/odhack-80) event by the following participants:
+
+@bigherc18 contributed support for database migrations using the Aerich tool. This optional integration allows to manage database migrations with the `dipdup schema` commands. See the [Migrations](../1.getting-started/5.database.md#migrations) section to learn to enable and use this integration.
+
+@JoE11-y contributed an interactive config generator. Now you can create a working DipDup config without knowing the syntax, just answering the questions. Run `dipdup new` command and choose "Interactively" to try it out.
+
+@tosoham contributed the `hide` and `hide_internal` config options to make tables/views private in Hasura API. See the [Hasura config reference](https://dipdup.io/docs/references/config#dipdupconfighasuraconfig).
+
+@MrRoudyk contributed improvements to the version checker, so you'll never miss an update. And @fabrobles92 improved the readability of app reports.
+
+Thank you!
+
+{{ #include 9.release-notes/_8.1_changelog.md }}
{{ #include 9.release-notes/_footer.md }}
diff --git a/docs/9.release-notes/_8.1_changelog.md b/docs/9.release-notes/_8.1_changelog.md
index 69e1c57f2..04bc4bb9f 100644
--- a/docs/9.release-notes/_8.1_changelog.md
+++ b/docs/9.release-notes/_8.1_changelog.md
@@ -7,7 +7,7 @@
- cli: Added `schema` subcommands to manage database migrations: `migrate`, `upgrade`, `downgrade`, `heads` and `history`.
- cli: Added interactive mode for `new` command.
- database: Support database migrations using [`aerich`](https://github.com/tortoise/aerich).
-- hasura: Added `ignore` and `ignore_internal` config options to hide specific tables/views.
+- hasura: Added `hide` and `hide_internal` config options to make specified tables/views private.
### Fixed
diff --git a/pdm.lock b/pdm.lock
index b209e45fc..7e9c1348d 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -5,7 +5,7 @@
groups = ["default", "docs", "lint", "migrations", "perf", "test"]
strategy = ["inherit_metadata"]
lock_version = "4.5.0"
-content_hash = "sha256:7f4333f669cfe9240e257bef6afabd34b58ce39354dc611b6c74a4838ac66f85"
+content_hash = "sha256:d20bdcb8b0b8ce671b85925a71abbe6cd643993a333e7c00cbeb0546c10559e7"
[[metadata.targets]]
requires_python = ">=3.12,<3.13"
@@ -41,7 +41,7 @@ files = [
[[package]]
name = "aiohttp"
-version = "3.10.2"
+version = "3.10.10"
requires_python = ">=3.8"
summary = "Async http client/server framework (asyncio)"
groups = ["default", "test"]
@@ -52,25 +52,25 @@ dependencies = [
"attrs>=17.3.0",
"frozenlist>=1.1.1",
"multidict<7.0,>=4.5",
- "yarl<2.0,>=1.0",
+ "yarl<2.0,>=1.12.0",
]
files = [
- {file = "aiohttp-3.10.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:14eb6b17f6246959fb0b035d4f4ae52caa870c4edfb6170aad14c0de5bfbf478"},
- {file = "aiohttp-3.10.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:465e445ec348d4e4bd349edd8b22db75f025da9d7b6dc1369c48e7935b85581e"},
- {file = "aiohttp-3.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:341f8ece0276a828d95b70cd265d20e257f5132b46bf77d759d7f4e0443f2906"},
- {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c01fbb87b5426381cd9418b3ddcf4fc107e296fa2d3446c18ce6c76642f340a3"},
- {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c474af073e1a6763e1c5522bbb2d85ff8318197e4c6c919b8d7886e16213345"},
- {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d9076810a5621236e29b2204e67a68e1fe317c8727ee4c9abbfbb1083b442c38"},
- {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8f515d6859e673940e08de3922b9c4a2249653b0ac181169313bd6e4b1978ac"},
- {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:655e583afc639bef06f3b2446972c1726007a21003cd0ef57116a123e44601bc"},
- {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8da9449a575133828cc99985536552ea2dcd690e848f9d41b48d8853a149a959"},
- {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19073d57d0feb1865d12361e2a1f5a49cb764bf81a4024a3b608ab521568093a"},
- {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8e98e1845805f184d91fda6f9ab93d7c7b0dddf1c07e0255924bfdb151a8d05"},
- {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:377220a5efde6f9497c5b74649b8c261d3cce8a84cb661be2ed8099a2196400a"},
- {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92f7f4a4dc9cdb5980973a74d43cdbb16286dacf8d1896b6c3023b8ba8436f8e"},
- {file = "aiohttp-3.10.2-cp312-cp312-win32.whl", hash = "sha256:9bb2834a6f11d65374ce97d366d6311a9155ef92c4f0cee543b2155d06dc921f"},
- {file = "aiohttp-3.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:518dc3cb37365255708283d1c1c54485bbacccd84f0a0fb87ed8917ba45eda5b"},
- {file = "aiohttp-3.10.2.tar.gz", hash = "sha256:4d1f694b5d6e459352e5e925a42e05bac66655bfde44d81c59992463d2897014"},
+ {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c"},
+ {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28"},
+ {file = "aiohttp-3.10.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f"},
+ {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138"},
+ {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742"},
+ {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7"},
+ {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16"},
+ {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8"},
+ {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6"},
+ {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a"},
+ {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9"},
+ {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a"},
+ {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205"},
+ {file = "aiohttp-3.10.10-cp312-cp312-win32.whl", hash = "sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628"},
+ {file = "aiohttp-3.10.10-cp312-cp312-win_amd64.whl", hash = "sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf"},
+ {file = "aiohttp-3.10.10.tar.gz", hash = "sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a"},
]
[[package]]
@@ -516,8 +516,8 @@ files = [
[[package]]
name = "datamodel-code-generator"
-version = "0.25.9"
-requires_python = "<4.0,>=3.7"
+version = "0.26.1"
+requires_python = "<4.0,>=3.8"
summary = "Datamodel Code Generator"
groups = ["default"]
dependencies = [
@@ -536,8 +536,8 @@ dependencies = [
"toml<1.0.0,>=0.10.0; python_version < \"3.11\"",
]
files = [
- {file = "datamodel_code_generator-0.25.9-py3-none-any.whl", hash = "sha256:9e0324233123d6e39a35bc0004771956935889a974aacfd7a0651de11d2219a9"},
- {file = "datamodel_code_generator-0.25.9.tar.gz", hash = "sha256:65ca9807d8edbd88a7f7931c10f4bc1c08bd9bbc5bb0508418a2b6a16590eb65"},
+ {file = "datamodel_code_generator-0.26.1-py3-none-any.whl", hash = "sha256:bbe8a6cc0b9cfdbfd294e336e02b4c50b481ffc3b3c608b5578b6d7aa02cc8ae"},
+ {file = "datamodel_code_generator-0.26.1.tar.gz", hash = "sha256:3b7b49c4230fa197ca28847e1e8996cd664638a7e91796c826a61c60d4ccd8a2"},
]
[[package]]
@@ -869,13 +869,13 @@ files = [
[[package]]
name = "iso8601"
-version = "1.1.0"
-requires_python = ">=3.6.2,<4.0"
+version = "2.1.0"
+requires_python = ">=3.7,<4.0"
summary = "Simple module to parse ISO 8601 dates"
groups = ["default", "migrations"]
files = [
- {file = "iso8601-1.1.0-py3-none-any.whl", hash = "sha256:8400e90141bf792bce2634df533dc57e3bee19ea120a87bebcd3da89a58ad73f"},
- {file = "iso8601-1.1.0.tar.gz", hash = "sha256:32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f"},
+ {file = "iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242"},
+ {file = "iso8601-2.1.0.tar.gz", hash = "sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df"},
]
[[package]]
@@ -1256,6 +1256,33 @@ files = [
{file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"},
]
+[[package]]
+name = "propcache"
+version = "0.2.0"
+requires_python = ">=3.8"
+summary = "Accelerated property cache"
+groups = ["default", "test"]
+files = [
+ {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2"},
+ {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7"},
+ {file = "propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8"},
+ {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793"},
+ {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09"},
+ {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89"},
+ {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e"},
+ {file = "propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23"},
+ {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348"},
+ {file = "propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5"},
+ {file = "propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3"},
+ {file = "propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036"},
+ {file = "propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70"},
+]
+
[[package]]
name = "psutil"
version = "6.0.0"
@@ -1375,13 +1402,13 @@ files = [
[[package]]
name = "pypika-tortoise"
-version = "0.1.6"
-requires_python = ">=3.7,<4.0"
+version = "0.2.1"
+requires_python = "<4.0,>=3.7"
summary = "Forked from pypika and streamline just for tortoise-orm"
groups = ["default", "migrations"]
files = [
- {file = "pypika-tortoise-0.1.6.tar.gz", hash = "sha256:d802868f479a708e3263724c7b5719a26ad79399b2a70cea065f4a4cadbebf36"},
- {file = "pypika_tortoise-0.1.6-py3-none-any.whl", hash = "sha256:2d68bbb7e377673743cff42aa1059f3a80228d411fbcae591e4465e173109fd8"},
+ {file = "pypika_tortoise-0.2.1-py3-none-any.whl", hash = "sha256:e91a1c5a78c6753ead1a9ba1aa169a1f1282c5035170e5462f0073564bc18886"},
+ {file = "pypika_tortoise-0.2.1.tar.gz", hash = "sha256:979bbb9d60fe9f6e4129a25c44ee008aab4a4e97b296350be9983dcaa2766354"},
]
[[package]]
@@ -1712,7 +1739,7 @@ files = [
[[package]]
name = "sentry-sdk"
-version = "2.12.0"
+version = "2.16.0"
requires_python = ">=3.6"
summary = "Python client for Sentry (https://sentry.io)"
groups = ["default"]
@@ -1721,8 +1748,8 @@ dependencies = [
"urllib3>=1.26.11",
]
files = [
- {file = "sentry_sdk-2.12.0-py2.py3-none-any.whl", hash = "sha256:7a8d5163d2ba5c5f4464628c6b68f85e86972f7c636acc78aed45c61b98b7a5e"},
- {file = "sentry_sdk-2.12.0.tar.gz", hash = "sha256:8763840497b817d44c49b3fe3f5f7388d083f2337ffedf008b2cdb63b5c86dc6"},
+ {file = "sentry_sdk-2.16.0-py2.py3-none-any.whl", hash = "sha256:49139c31ebcd398f4f6396b18910610a0c1602f6e67083240c33019d1f6aa30c"},
+ {file = "sentry_sdk-2.16.0.tar.gz", hash = "sha256:90f733b32e15dfc1999e6b7aca67a38688a567329de4d6e184154a73f96c6892"},
]
[[package]]
@@ -1991,20 +2018,20 @@ files = [
[[package]]
name = "tortoise-orm"
-version = "0.21.6"
+version = "0.21.7"
requires_python = "<4.0,>=3.8"
summary = "Easy async ORM for python, built with relations in mind"
groups = ["default", "migrations"]
dependencies = [
- "aiosqlite<0.18.0,>=0.16.0",
- "iso8601<2.0.0,>=1.0.2",
+ "aiosqlite<0.21.0,>=0.16.0",
+ "iso8601<3.0.0,>=2.1.0",
"pydantic!=2.7.0,<3.0,>=2.0",
- "pypika-tortoise<0.2.0,>=0.1.6",
+ "pypika-tortoise<0.3.0,>=0.2.1",
"pytz",
]
files = [
- {file = "tortoise_orm-0.21.6-py3-none-any.whl", hash = "sha256:98fcf07dce3396075eac36b0d2b14d2267ff875d32455e03ee15e38de2f138df"},
- {file = "tortoise_orm-0.21.6.tar.gz", hash = "sha256:0fbc718001647bf282c01eaaa360f94f1432c9281701244180703d48d58a88ec"},
+ {file = "tortoise_orm-0.21.7-py3-none-any.whl", hash = "sha256:2229925885461f424673223ea1875bd5e6961384c766833af55a1ea11a9b25eb"},
+ {file = "tortoise_orm-0.21.7.tar.gz", hash = "sha256:8a790a931828aa37ac364b344c561e603422aced2af5e403f6790575da0f19c5"},
]
[[package]]
@@ -2124,18 +2151,18 @@ files = [
[[package]]
name = "uvloop"
-version = "0.20.0"
+version = "0.21.0"
requires_python = ">=3.8.0"
summary = "Fast implementation of asyncio event loop on top of libuv"
groups = ["default"]
files = [
- {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4b75f2950ddb6feed85336412b9a0c310a2edbcf4cf931aa5cfe29034829676d"},
- {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:77fbc69c287596880ecec2d4c7a62346bef08b6209749bf6ce8c22bbaca0239e"},
- {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6462c95f48e2d8d4c993a2950cd3d31ab061864d1c226bbf0ee2f1a8f36674b9"},
- {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:649c33034979273fa71aa25d0fe120ad1777c551d8c4cd2c0c9851d88fcb13ab"},
- {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a609780e942d43a275a617c0839d85f95c334bad29c4c0918252085113285b5"},
- {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aea15c78e0d9ad6555ed201344ae36db5c63d428818b4b2a42842b3870127c00"},
- {file = "uvloop-0.20.0.tar.gz", hash = "sha256:4603ca714a754fc8d9b197e325db25b2ea045385e8a3ad05d3463de725fdf469"},
+ {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"},
+ {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"},
+ {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"},
+ {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"},
+ {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"},
+ {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"},
+ {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"},
]
[[package]]
@@ -2163,7 +2190,7 @@ files = [
[[package]]
name = "web3"
-version = "7.3.0"
+version = "7.3.1"
requires_python = "<4,>=3.8"
summary = "web3: A Python library for interacting with Ethereum"
groups = ["default"]
@@ -2184,8 +2211,8 @@ dependencies = [
"websockets>=10.0.0",
]
files = [
- {file = "web3-7.3.0-py3-none-any.whl", hash = "sha256:afcbab05040fecff205394713458ffc64bb8b5966164339a397d63f29cbe6ba1"},
- {file = "web3-7.3.0.tar.gz", hash = "sha256:74d52cfcc23b8e99c837190128b932923f38fca290ae2cf2d690edbf622252a0"},
+ {file = "web3-7.3.1-py3-none-any.whl", hash = "sha256:fceb5816d64da000e0eaf26a8ba3a260ae87d32eb6cb88502348fa900fcba7df"},
+ {file = "web3-7.3.1.tar.gz", hash = "sha256:7da3dbdd6741360913f88a245b8a74889f370648b2d0fa6decb16c143ce77651"},
]
[[package]]
@@ -2223,30 +2250,32 @@ files = [
[[package]]
name = "yarl"
-version = "1.9.5"
-requires_python = ">=3.8"
+version = "1.15.3"
+requires_python = ">=3.9"
summary = "Yet another URL library"
groups = ["default", "test"]
dependencies = [
"idna>=2.0",
"multidict>=4.0",
-]
-files = [
- {file = "yarl-1.9.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8f5a8f396313da1d011a4d7abe179f2e1248710a873bb744138370335912966b"},
- {file = "yarl-1.9.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0e87e493bf5ee802d271491988701fe09ea34ae6e8b6f5b7319bbd336bed4211"},
- {file = "yarl-1.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bf4edd995dfd9e2f16edf542e917bccae48d1bcf995d95aa2252646c6ee90e4e"},
- {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57030cf990297e1d648c51555805a3892c49311ca3edee99774dfaa40955aa41"},
- {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aabc452eddad8abc7e94ea47162e89d24445066504d26a2f8aa4e1936aedf39f"},
- {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0b2bc7ce7bd40ee5ad55291676414062cdfa3a89e11a17619d30b7d18f388e6e"},
- {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd02efd9f252da151db11142256ed9e577fefb25f7eb0ab6826ebee2aaa5d251"},
- {file = "yarl-1.9.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec06b1ef69af30ddbc3931d3e3756c83e90abc2bb5ac796c2f0845ce75274386"},
- {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cdc3cf183fdbd924b6705d2317719e81f14e4be6603b590bb04a963abb8ca7cd"},
- {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:608704b4d2a6da4bfb95cac97a7be9f40d047fbb23b1597579cd0a38aed10753"},
- {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f4edf7cd1e763f2c126bd37d69f56ffb495724319a7807e6ff216b9ea5b57c64"},
- {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8c468aea27c0fdee3d55a026bd8ccb1b17306837cd50829dc81fbbf0024aa750"},
- {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a40d014c18754415655fc0516d9a59c74db0ecd023e9139c99354362db7cf480"},
- {file = "yarl-1.9.5-cp312-cp312-win32.whl", hash = "sha256:d217b391dd96ee523a17920987752d9c0871f8d82312a1db6862013d9f0a3dce"},
- {file = "yarl-1.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:a419be4f256861492c9ee7e51751afdd5967d64b6c98176db605eae4d75ced06"},
- {file = "yarl-1.9.5-py3-none-any.whl", hash = "sha256:f072c95c97badd8b05250b50d8ba072c212c6bf16f0b61e92299a28302a3a021"},
- {file = "yarl-1.9.5.tar.gz", hash = "sha256:5c9b12dbb3d4607dd4d8877d44c8ac410a6eb2cde3792be30aa0b371d88260a2"},
+ "propcache>=0.2.0",
+]
+files = [
+ {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:decf9d76191bfe34835f1abd3fa8ebe8a9cd7e16300a5c7e82b18c0812bb22a2"},
+ {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ce65ed7ad7b6cbca06b0c011b170bd2b0bc56b0a740540e2713e5ac12d7b9b2e"},
+ {file = "yarl-1.15.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cf2b50352df8775591869aaa22c52b64d60376ba99c0802b42778fedc90b775"},
+ {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32e8ebf0080ddd38ec05f8be940a3719e5fe1ab8bb6d2b3f6f8b89c9e34149aa"},
+ {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05183fd49244517cb11c208d0ae128f2e8a85ddb7caf22ad8b0ffcdf5481fcb6"},
+ {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46653b5fd29e63ffe63335da343829a2b00bb43b0bd9bb21240d3b42629629e2"},
+ {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6316af233610b9868eda92cf68c016750cbf50085ac6c51faa17905ddd25605"},
+ {file = "yarl-1.15.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5685ebc333c95b75be3a0a83a81b82b6411beee9585eaeb9e2e588ae8df23848"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6da6f6c6ee5595658f21bb9d1ecd702f7a7f22f224ac063dfb595624aec4a2e0"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45c05b87a8494d9820ea1ac82118fd2f1d795d868e94766fe8ff670377bf6280"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04f930fcc940f96b8b29110c56882bcff8703f87a7b9354d3acf60ffded5a23d"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8df77742b403e71c5d62d22d150e6e35efd6096a15f2c7419815911c62225100"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f785d83ece0998e4ce4fadda22fa6c1ecc40e10f41617013a8726d2e9af0d98f"},
+ {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7794aade99be0d48b69bd5942acddfeff0de3d09c724d9abe4f19736708ef18f"},
+ {file = "yarl-1.15.3-cp312-cp312-win32.whl", hash = "sha256:a3a98d70c667c957c7cd0b153d4cb5e45d43f5e2e23de73be6f7b5c883c01f72"},
+ {file = "yarl-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:90257bc627897a2c1d562efcd6a6b18887e9dacae795cad2367e8e16df47d966"},
+ {file = "yarl-1.15.3-py3-none-any.whl", hash = "sha256:a1d49ed6f4b812dde88e937d4c2bd3f13d72c23ef7de1e17a63b7cacef4b5691"},
+ {file = "yarl-1.15.3.tar.gz", hash = "sha256:fbcff47f8ba82467f203037f7a30decf5c724211b224682f7236edb0dcbb5b95"},
]
diff --git a/pyproject.toml b/pyproject.toml
index 03556847a..1814e1cb0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,7 @@
[project]
name = "dipdup"
description = "Modular framework for creating selective indexers and featureful backends for dapps"
-version = "8.0.0"
+version = "8.1.0"
license = { text = "MIT" }
authors = [
{ name = "Lev Gorodetskii", email = "dipdup@drsr.io" },
@@ -49,16 +49,15 @@ classifiers = [
]
dependencies = [
- # FIXME: KeyError in _make_or_get_ssl_context
- "aiohttp==3.10.2",
+ "aiohttp~=3.10",
"aiolimiter~=1.1",
"anyio~=4.4",
- "appdirs~=1.4.4",
+ "appdirs~=1.4",
"APScheduler~=3.10",
"async-lru~=2.0",
"asyncpg~=0.29",
"click~=8.1",
- "datamodel-code-generator~=0.25.9",
+ "datamodel-code-generator~=0.26",
"eth-abi~=5.0",
"lru-dict~=1.3",
"orjson~=3.10",
@@ -70,15 +69,14 @@ dependencies = [
"python-dotenv~=1.0",
"python-json-logger~=2.0",
"ruamel.yaml~=0.18.6",
- # FIXME: Argument 1 to "serialize" has incompatible type "Event";
- "sentry-sdk==2.12.0",
+ "sentry-sdk~=2.16",
"sqlparse~=0.5",
"starknet-py==0.24.0",
"strict-rfc3339~=0.7",
"survey~=5.4",
"tabulate~=0.9",
# NOTE: Heavily patched; don't update without testing.
- "tortoise-orm==0.21.6",
+ "tortoise-orm==0.21.7",
"uvloop~=0.20",
"web3~=7.2",
]
@@ -90,8 +88,6 @@ migrations = [
[tool.pdm.resolution]
# NOTE: Introduced by starknetpy 0.24; depends on half of the PyPI
excludes = ["bip-utils", "ledgerwallet"]
-# NOTE: tortoise-orm
-overrides = { aiosqlite = "0.20.0" }
[project.urls]
Homepage = "https://dipdup.io/"
diff --git a/requirements.txt b/requirements.txt
index fa8dd5dc0..d3550c5d6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@
# Please do not edit it manually.
aiohappyeyeballs==2.4.0
-aiohttp==3.10.2
+aiohttp==3.10.10
aiolimiter==1.1.0
aiosignal==1.3.1
aiosqlite==0.20.0
@@ -24,7 +24,7 @@ click==8.1.7
colorama==0.4.6; platform_system == "Windows" or sys_platform == "win32"
crypto-cpp-py==1.4.4
cytoolz==0.12.3; implementation_name == "cpython"
-datamodel-code-generator==0.25.9
+datamodel-code-generator==0.26.1
dnspython==2.6.1; python_version ~= "3.11"
ecdsa==0.18.0
email-validator==2.2.0; python_version ~= "3.11"
@@ -41,7 +41,7 @@ genson==1.3.0
hexbytes==1.2.1
idna==3.8
inflect==5.6.2
-iso8601==1.1.0
+iso8601==2.1.0
isort==5.13.2
jinja2==3.1.4
lark==1.2.2
@@ -61,11 +61,12 @@ pathspec==0.12.1
platformdirs==4.2.2
poseidon-py==0.1.5
prometheus-client==0.21.0
+propcache==0.2.0
pycryptodome==3.21.0
pydantic-core==2.23.4
pydantic[email]==2.9.2; python_version ~= "3.11"
pyhumps==3.8.0
-pypika-tortoise==0.1.6
+pypika-tortoise==0.2.1
pysignalr==1.0.0
python-dotenv==1.0.1
python-json-logger==2.0.7
@@ -78,7 +79,7 @@ requests==2.32.3
rlp==4.0.1
ruamel-yaml==0.18.6
ruamel-yaml-clib==0.2.8; platform_python_implementation == "CPython" and python_version < "3.13"
-sentry-sdk==2.12.0
+sentry-sdk==2.16.0
six==1.16.0
sniffio==1.3.1
sqlparse==0.5.1
@@ -88,7 +89,7 @@ survey==5.4.0
sympy==1.11.1
tabulate==0.9.0
toolz==0.12.1; implementation_name == "pypy" or implementation_name == "cpython"
-tortoise-orm==0.21.6
+tortoise-orm==0.21.7
typeguard==4.0.1
types-requests==2.32.0.20240712
typing-extensions==4.12.2
@@ -96,7 +97,7 @@ typing-inspect==0.9.0
tzdata==2024.1; platform_system == "Windows"
tzlocal==5.2
urllib3==2.2.2
-uvloop==0.20.0
-web3==7.3.0
+uvloop==0.21.0
+web3==7.3.1
websockets==12.0
-yarl==1.9.5
+yarl==1.15.3
diff --git a/schemas/dipdup-3.0.json b/schemas/dipdup-3.0.json
index 4727b5089..03b44de87 100644
--- a/schemas/dipdup-3.0.json
+++ b/schemas/dipdup-3.0.json
@@ -606,13 +606,13 @@
"additionalProperties": false,
"description": "Config for the Hasura integration.",
"properties": {
- "ignore": {
+ "hide": {
"items": {
"type": "string"
},
- "title": "ignore",
+ "title": "hide",
"type": "array",
- "description": "List of additional table names to ignore when generating the GraphQL API."
+ "description": "List of table/view names to make private."
},
"url": {
"$ref": "#/$defs/Url",
@@ -687,11 +687,11 @@
"title": "http",
"description": "HTTP connection tunables"
},
- "ignore_internal": {
+ "hide_internal": {
"default": false,
- "title": "ignore_internal",
+ "title": "hide_internal",
"type": "boolean",
- "description": "Whether to ignore internal tables (prefixed with \"dipdup\") when generating the GraphQL API."
+ "description": "Whether to make internal tables (prefixed with \"dipdup\") private."
}
},
"required": [
diff --git a/src/demo_blank/pyproject.toml b/src/demo_blank/pyproject.toml
index 820b2a3f1..71bf7a88d 100644
--- a/src/demo_blank/pyproject.toml
+++ b/src/demo_blank/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_blank"
version = "0.0.1"
diff --git a/src/demo_evm_events/pyproject.toml b/src/demo_evm_events/pyproject.toml
index be6008466..91ffc38bc 100644
--- a/src/demo_evm_events/pyproject.toml
+++ b/src/demo_evm_events/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_evm_events"
version = "0.0.1"
diff --git a/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py b/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py
index 199eb8e3b..932395b83 100644
--- a/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py
+++ b/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_transactions/pyproject.toml b/src/demo_evm_transactions/pyproject.toml
index e96819e7c..f62b6d6de 100644
--- a/src/demo_evm_transactions/pyproject.toml
+++ b/src/demo_evm_transactions/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_evm_transactions"
version = "0.0.1"
diff --git a/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py b/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py
index f1bb36e15..41fcaddf7 100644
--- a/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py
+++ b/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/pyproject.toml b/src/demo_evm_uniswap/pyproject.toml
index 226647777..02bdc0bdc 100644
--- a/src/demo_evm_uniswap/pyproject.toml
+++ b/src/demo_evm_uniswap/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_evm_uniswap"
version = "0.0.1"
diff --git a/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py b/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py
index dcdbdd40b..7bcd2b7b6 100644
--- a/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py
+++ b/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/burn.py b/src/demo_evm_uniswap/types/pool/evm_events/burn.py
index a34fb42b6..30add117c 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/burn.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/burn.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/collect.py b/src/demo_evm_uniswap/types/pool/evm_events/collect.py
index ba4ee114b..ed5d43aed 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/collect.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/collect.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/flash.py b/src/demo_evm_uniswap/types/pool/evm_events/flash.py
index c037f3d4d..0b3448a8e 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/flash.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/flash.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/initialize.py b/src/demo_evm_uniswap/types/pool/evm_events/initialize.py
index 1624d90fb..dd62d1ad4 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/initialize.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/initialize.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/mint.py b/src/demo_evm_uniswap/types/pool/evm_events/mint.py
index 4f54cc1cf..8016bb569 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/mint.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/mint.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/pool/evm_events/swap.py b/src/demo_evm_uniswap/types/pool/evm_events/swap.py
index 6b56f59be..0e537c4ce 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/swap.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/swap.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py b/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py
index cc1c101c1..e0aede83e 100644
--- a/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py
+++ b/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py b/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py
index 5887cdadf..c39cb7aec 100644
--- a/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py
+++ b/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py b/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py
index 551004ffc..4d66b59ab 100644
--- a/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py
+++ b/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py b/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py
index 965449e2c..276b3a7c2 100644
--- a/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py
+++ b/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_starknet_events/pyproject.toml b/src/demo_starknet_events/pyproject.toml
index 48e47f988..ed6aaee99 100644
--- a/src/demo_starknet_events/pyproject.toml
+++ b/src/demo_starknet_events/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_starknet_events"
version = "0.0.1"
diff --git a/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py b/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py
index 0f59827ef..0d3a2eb08 100644
--- a/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py
+++ b/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_auction/pyproject.toml b/src/demo_tezos_auction/pyproject.toml
index 3176cbd12..4c80528a6 100644
--- a/src/demo_tezos_auction/pyproject.toml
+++ b/src/demo_tezos_auction/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_auction"
version = "0.0.1"
diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py
index 913b0b0b5..b86785b8a 100644
--- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py
+++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py
index c59690d43..38e18a1de 100644
--- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py
+++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py
index b28457c23..803877f17 100644
--- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py
+++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py
index 82e34659c..d4ad1aad8 100644
--- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py
+++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dao/pyproject.toml b/src/demo_tezos_dao/pyproject.toml
index 92fec878f..24f856b05 100644
--- a/src/demo_tezos_dao/pyproject.toml
+++ b/src/demo_tezos_dao/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_dao"
version = "0.0.1"
diff --git a/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py b/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py
index f0248c0ca..990a05680 100644
--- a/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py
+++ b/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dao/types/registry/tezos_storage.py b/src/demo_tezos_dao/types/registry/tezos_storage.py
index 9b45c24cf..fceb433ce 100644
--- a/src/demo_tezos_dao/types/registry/tezos_storage.py
+++ b/src/demo_tezos_dao/types/registry/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/pyproject.toml b/src/demo_tezos_dex/pyproject.toml
index 04c49a2b4..6359c8c9c 100644
--- a/src/demo_tezos_dex/pyproject.toml
+++ b/src/demo_tezos_dex/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_dex"
version = "0.0.1"
diff --git a/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py
index fc96d1a65..fdbadf29a 100644
--- a/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py
+++ b/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/fa12_token/tezos_storage.py b/src/demo_tezos_dex/types/fa12_token/tezos_storage.py
index 4d304ab01..5e7914c9c 100644
--- a/src/demo_tezos_dex/types/fa12_token/tezos_storage.py
+++ b/src/demo_tezos_dex/types/fa12_token/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py
index 7af7a6449..5fb4f21dc 100644
--- a/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py
+++ b/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/fa2_token/tezos_storage.py b/src/demo_tezos_dex/types/fa2_token/tezos_storage.py
index 7ea4ee7e6..acd97fd0e 100644
--- a/src/demo_tezos_dex/types/fa2_token/tezos_storage.py
+++ b/src/demo_tezos_dex/types/fa2_token/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py
index 5e6fd36df..1c4a46304 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py
index c272829b6..9d0e39fe6 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py
index 221b68ecc..835724aee 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py
index 9d1c155ad..a818bea86 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py
index fc96d1a65..fdbadf29a 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py
index 649b75098..145f8a673 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py
index ed602091d..33e46fd2e 100644
--- a/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py
+++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py
index 5e6fd36df..1c4a46304 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py
index c272829b6..9d0e39fe6 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py
index 221b68ecc..835724aee 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py
index 9d1c155ad..a818bea86 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py
index 7af7a6449..5fb4f21dc 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py
index 649b75098..145f8a673 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py
index 2e29f4a40..2a6e1ecc3 100644
--- a/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py
+++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_domains/pyproject.toml b/src/demo_tezos_domains/pyproject.toml
index 258ffaf89..b9eb1de9e 100644
--- a/src/demo_tezos_domains/pyproject.toml
+++ b/src/demo_tezos_domains/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_domains"
version = "0.0.1"
diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py
index 2aaec3f55..64419f5c6 100644
--- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py
+++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py
index b5509791f..80677737c 100644
--- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py
+++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py
index f91fa91ec..8a4556561 100644
--- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py
+++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py
index 4f853abad..047fc6969 100644
--- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py
+++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/pyproject.toml b/src/demo_tezos_etherlink/pyproject.toml
index fe638a66b..37295aa53 100644
--- a/src/demo_tezos_etherlink/pyproject.toml
+++ b/src/demo_tezos_etherlink/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_etherlink"
version = "0.0.1"
diff --git a/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py b/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py
index d5201c3a5..36a573b0b 100644
--- a/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py
+++ b/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/rollup/tezos_storage.py b/src/demo_tezos_etherlink/types/rollup/tezos_storage.py
index 2f20e6e87..de6f05ddc 100644
--- a/src/demo_tezos_etherlink/types/rollup/tezos_storage.py
+++ b/src/demo_tezos_etherlink/types/rollup/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py b/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py
index 3d60c5f4d..110ed92e9 100644
--- a/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py
+++ b/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py b/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py
index e93127277..1d5b5a178 100644
--- a/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py
+++ b/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py
index 82103d4c4..fac5dbab8 100644
--- a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py
+++ b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py
index c931eb408..4c99047ff 100644
--- a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py
+++ b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py b/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py
index 98dd02f27..96dea6c78 100644
--- a/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py
+++ b/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_events/pyproject.toml b/src/demo_tezos_events/pyproject.toml
index b4765adc1..045697cc8 100644
--- a/src/demo_tezos_events/pyproject.toml
+++ b/src/demo_tezos_events/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_events"
version = "0.0.1"
diff --git a/src/demo_tezos_events/types/events_contract/tezos_events/move.py b/src/demo_tezos_events/types/events_contract/tezos_events/move.py
index fe390214b..d0df4a851 100644
--- a/src/demo_tezos_events/types/events_contract/tezos_events/move.py
+++ b/src/demo_tezos_events/types/events_contract/tezos_events/move.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_events/types/events_contract/tezos_events/roll.py b/src/demo_tezos_events/types/events_contract/tezos_events/roll.py
index cfe47ad7b..4cb3c0d08 100644
--- a/src/demo_tezos_events/types/events_contract/tezos_events/roll.py
+++ b/src/demo_tezos_events/types/events_contract/tezos_events/roll.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_factories/pyproject.toml b/src/demo_tezos_factories/pyproject.toml
index 78ca245ac..060111e43 100644
--- a/src/demo_tezos_factories/pyproject.toml
+++ b/src/demo_tezos_factories/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_factories"
version = "0.0.1"
diff --git a/src/demo_tezos_factories/types/factory/tezos_storage.py b/src/demo_tezos_factories/types/factory/tezos_storage.py
index 362eb32fa..f195919b0 100644
--- a/src/demo_tezos_factories/types/factory/tezos_storage.py
+++ b/src/demo_tezos_factories/types/factory/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py b/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py
index 7af7a6449..5fb4f21dc 100644
--- a/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py
+++ b/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_factories/types/token/tezos_storage.py b/src/demo_tezos_factories/types/token/tezos_storage.py
index 755cb2523..bac24eb6e 100644
--- a/src/demo_tezos_factories/types/token/tezos_storage.py
+++ b/src/demo_tezos_factories/types/token/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_head/pyproject.toml b/src/demo_tezos_head/pyproject.toml
index 8a4d16701..cdfb054f9 100644
--- a/src/demo_tezos_head/pyproject.toml
+++ b/src/demo_tezos_head/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_head"
version = "0.0.1"
diff --git a/src/demo_tezos_nft_marketplace/pyproject.toml b/src/demo_tezos_nft_marketplace/pyproject.toml
index 66d1db1c6..e3c42e075 100644
--- a/src/demo_tezos_nft_marketplace/pyproject.toml
+++ b/src/demo_tezos_nft_marketplace/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_nft_marketplace"
version = "0.0.1"
diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py
index 0d3fb1388..691593a81 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py
index adcf10c3a..c3c34082b 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py
index a1efa64cb..26e9d40b4 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py
index 8c95b7bfc..0a78b4d12 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py
index 8ad1f5831..f3428ef4e 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py
index 6bac35298..56d4cdda7 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py
index 011360c9d..6ba32b14a 100644
--- a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py
+++ b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_raw/pyproject.toml b/src/demo_tezos_raw/pyproject.toml
index a7ffddb03..e70b30a7d 100644
--- a/src/demo_tezos_raw/pyproject.toml
+++ b/src/demo_tezos_raw/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_raw"
version = "0.0.1"
diff --git a/src/demo_tezos_token/pyproject.toml b/src/demo_tezos_token/pyproject.toml
index a00b3e8fa..a3e42ecde 100644
--- a/src/demo_tezos_token/pyproject.toml
+++ b/src/demo_tezos_token/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_token"
version = "0.0.1"
diff --git a/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py b/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py
index 9f3c9b495..3bd7244a8 100644
--- a/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py
+++ b/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py b/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py
index fc96d1a65..fdbadf29a 100644
--- a/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py
+++ b/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_token/types/tzbtc/tezos_storage.py b/src/demo_tezos_token/types/tzbtc/tezos_storage.py
index 65bc30c0c..7238d5aeb 100644
--- a/src/demo_tezos_token/types/tzbtc/tezos_storage.py
+++ b/src/demo_tezos_token/types/tzbtc/tezos_storage.py
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
from __future__ import annotations
diff --git a/src/demo_tezos_token_balances/pyproject.toml b/src/demo_tezos_token_balances/pyproject.toml
index 8c441a637..9f86316bc 100644
--- a/src/demo_tezos_token_balances/pyproject.toml
+++ b/src/demo_tezos_token_balances/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_token_balances"
version = "0.0.1"
diff --git a/src/demo_tezos_token_transfers/pyproject.toml b/src/demo_tezos_token_transfers/pyproject.toml
index 925e1b2b9..d86ce7adf 100644
--- a/src/demo_tezos_token_transfers/pyproject.toml
+++ b/src/demo_tezos_token_transfers/pyproject.toml
@@ -1,4 +1,4 @@
-# generated by DipDup 8.0.0
+# generated by DipDup 8.1.0
[project]
name = "demo_tezos_token_transfers"
version = "0.0.1"
diff --git a/src/dipdup/_version.py b/src/dipdup/_version.py
index b8051c8ca..e179e4ed7 100644
--- a/src/dipdup/_version.py
+++ b/src/dipdup/_version.py
@@ -37,11 +37,12 @@ async def check_version() -> None:
latest_version = _read_cached_version()
if not latest_version:
latest_version = await _get_latest_version()
+ if latest_version:
+ _write_cached_version(latest_version)
if not latest_version:
return
- _write_cached_version(latest_version)
- if latest_version == __version__:
+ if __version__ >= latest_version:
return
_logger.warning(
diff --git a/src/dipdup/config/__init__.py b/src/dipdup/config/__init__.py
index f426b8240..627a91ee4 100644
--- a/src/dipdup/config/__init__.py
+++ b/src/dipdup/config/__init__.py
@@ -375,8 +375,8 @@ class HasuraConfig:
:param camel_case: Whether to use camelCase instead of default pascal_case for the field names.
:param rest: Enable REST API both for autogenerated and custom queries.
:param http: HTTP connection tunables
- :param ignore_internal: Whether to ignore internal tables (prefixed with "dipdup") when generating the GraphQL API.
- :param ignore: List of additional table names to ignore when generating the GraphQL API.
+ :param hide_internal: Whether to make internal tables (prefixed with "dipdup") private.
+ :param hide: List of table/view names to make private.
"""
url: Url
@@ -389,8 +389,8 @@ class HasuraConfig:
camel_case: bool = False
rest: bool = True
http: HttpConfig | None = None
- ignore_internal: bool = False
- ignore: list[str] = Field(default_factory=list)
+ hide_internal: bool = False
+ hide: list[str] = Field(default_factory=list)
@property
def headers(self) -> dict[str, str]:
diff --git a/src/dipdup/fields.py b/src/dipdup/fields.py
index bf3583e9e..a9cf2aa6e 100644
--- a/src/dipdup/fields.py
+++ b/src/dipdup/fields.py
@@ -8,7 +8,7 @@
from typing import Any
from typing import TypeVar
-import orjson
+from tortoise.contrib.postgres.fields import ArrayField as ArrayField
from tortoise.exceptions import ConfigurationError as TortoiseConfigurationError
from tortoise.fields import relational as relational
from tortoise.fields.base import CASCADE as CASCADE
@@ -95,24 +95,6 @@ def to_python_value(
raise FrameworkException(f'Invalid enum value: {value}')
-# TODO: Use PostgreSQL native ARRAY type
-class ArrayField(Field[list[str]]):
- SQL_TYPE = 'TEXT'
-
- def to_db_value(
- self,
- value: list[str],
- instance: type[_TortoiseModel] | _TortoiseModel,
- ) -> str | None:
- return orjson.dumps(value).decode()
-
- def to_python_value(self, value: str | list[str]) -> list[str] | None:
- if isinstance(value, str):
- array = orjson.loads(value)
- return [str(x) for x in array]
- return value
-
-
class DecimalField(Field[Decimal], Decimal):
"""
Accurate decimal field.
diff --git a/src/dipdup/hasura.py b/src/dipdup/hasura.py
index c15a4a149..71a6e5565 100644
--- a/src/dipdup/hasura.py
+++ b/src/dipdup/hasura.py
@@ -342,10 +342,10 @@ def _iterate_graphql_queries(self) -> Iterator[tuple[str, str]]:
for file in iter_files(graphql_path, '.graphql'):
yield file.name.split('/')[-1][:-8], file.read()
- def _is_ignored(self, name: str) -> bool:
- if self._hasura_config.ignore_internal and name.startswith('dipdup_'):
+ def _is_hidden(self, name: str) -> bool:
+ if self._hasura_config.hide_internal and name.startswith('dipdup_'):
return True
- if name in self._hasura_config.ignore:
+ if name in self._hasura_config.hide:
return True
return False
@@ -363,16 +363,10 @@ async def _generate_source_tables_metadata(self) -> list[dict[str, Any]]:
for app, model in iter_models(self._package):
table_name = model._meta.db_table or pascal_to_snake(model.__name__)
- if self._is_ignored(table_name):
- continue
-
model_tables[f'{app}.{model.__name__}'] = table_name
metadata_tables[table_name] = self._format_table(table_name)
for view in views:
- if self._is_ignored(view):
- continue
-
metadata_tables[view] = self._format_table(view)
for app, model in iter_models(self._package):
@@ -409,8 +403,6 @@ async def _generate_source_tables_metadata(self) -> list[dict[str, Any]]:
junction_table_name = field.through
- if self._is_ignored(junction_table_name):
- continue
metadata_tables[junction_table_name] = self._format_table(junction_table_name)
metadata_tables[junction_table_name]['object_relationships'].append(
self._format_object_relationship(
@@ -649,13 +641,12 @@ def _format_column_config(self, fields: list[Field]) -> dict[str, Any]:
return {humps.decamelize(f.name): {'custom_name': humps.decamelize(f.name)} for f in fields}
def _format_table(self, name: str) -> dict[str, Any]:
+ permissions = [] if self._is_hidden(name) else [self._format_select_permissions()]
return {
'table': self._format_table_table(name),
'object_relationships': [],
'array_relationships': [],
- 'select_permissions': [
- self._format_select_permissions(),
- ],
+ 'select_permissions': permissions,
}
def _format_table_table(self, name: str) -> dict[str, Any]:
diff --git a/src/dipdup/http.py b/src/dipdup/http.py
index 5665a21af..c95a014bf 100644
--- a/src/dipdup/http.py
+++ b/src/dipdup/http.py
@@ -3,7 +3,6 @@
import logging
import platform
import time
-from collections.abc import Mapping
from contextlib import AbstractAsyncContextManager
from contextlib import suppress
from http import HTTPStatus
@@ -11,7 +10,6 @@
from pathlib import Path
from typing import Any
from typing import Literal
-from typing import cast
from typing import overload
from urllib.parse import urlsplit
from urllib.parse import urlunsplit
@@ -167,8 +165,7 @@ async def _retry_request(
ratelimit_sleep = self._config.ratelimit_sleep
# TODO: Parse Retry-After in UTC date format
with suppress(KeyError, ValueError):
- e.headers = cast(Mapping[str, Any], e.headers)
- ratelimit_sleep = max(ratelimit_sleep, int(e.headers['Retry-After']))
+ ratelimit_sleep = max(ratelimit_sleep, int(e.headers['Retry-After'])) # type: ignore[index]
else:
metrics.set_http_error(self._url, 0)
@@ -251,6 +248,8 @@ async def _request(
# NOTE: Use raw=True if fail on 204 is not a desired behavior
if response.status == HTTPStatus.NO_CONTENT:
raise InvalidRequestError('204 No Content', request_string)
+ if not response._body:
+ raise InvalidRequestError('Empty response', request_string)
with suppress(JSONDecodeError):
return orjson.loads(response._body)
return response._body
diff --git a/src/dipdup/sentry.py b/src/dipdup/sentry.py
index a719f94c1..ec983586c 100644
--- a/src/dipdup/sentry.py
+++ b/src/dipdup/sentry.py
@@ -42,7 +42,7 @@ def extract_event(error: Exception) -> 'Event':
"""Extracts Sentry event from an exception"""
exc_info = sentry_sdk.utils.exc_info_from_error(error)
event, _ = sentry_sdk.utils.event_from_exception(exc_info)
- return sentry_sdk.serializer.serialize(event)
+ return sentry_sdk.serializer.serialize(event) # type: ignore[arg-type,return-value]
def before_send(