From 2f4a55617749d8911817b68c32dfb1e24e70e7a4 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Wed, 5 Feb 2025 06:22:08 -0300 Subject: [PATCH 1/9] Bump version 8.2.0 --- .vscode/launch.json | 40 ++--- CHANGELOG.md | 10 +- docs/0.quickstart-substrate.md | 6 - docs/8.examples/_demos_table.md | 38 ++-- docs/9.release-notes/1.v8.2.md | 2 +- docs/9.release-notes/_8.0_changelog.md | 8 - docs/9.release-notes/_8.2_changelog.md | 14 ++ pyproject.toml | 2 +- requirements.txt | 68 +++---- scripts/docs.py | 6 +- src/demo_blank/pyproject.toml | 2 +- src/demo_evm_events/pyproject.toml | 2 +- .../types/eth_usdt/evm_events/transfer.py | 2 +- src/demo_evm_transactions/pyproject.toml | 2 +- .../eth_usdt/evm_transactions/transfer.py | 2 +- src/demo_evm_uniswap/pyproject.toml | 2 +- .../types/factory/evm_events/pool_created.py | 2 +- .../types/pool/evm_events/burn.py | 2 +- .../types/pool/evm_events/collect.py | 2 +- .../types/pool/evm_events/flash.py | 2 +- .../types/pool/evm_events/initialize.py | 2 +- .../types/pool/evm_events/mint.py | 2 +- .../types/pool/evm_events/swap.py | 2 +- .../position_manager/evm_events/collect.py | 2 +- .../evm_events/decrease_liquidity.py | 2 +- .../evm_events/increase_liquidity.py | 2 +- .../position_manager/evm_events/transfer.py | 2 +- src/demo_starknet_events/pyproject.toml | 2 +- .../stark_usdt/starknet_events/transfer.py | 2 +- src/demo_substrate_events/pyproject.toml | 2 +- .../assets_transferred/v601.py | 2 +- src/demo_tezos_auction/pyproject.toml | 2 +- .../tzcolors_auction/tezos_parameters/bid.py | 2 +- .../tezos_parameters/create_auction.py | 2 +- .../tezos_parameters/withdraw.py | 2 +- .../types/tzcolors_auction/tezos_storage.py | 2 +- src/demo_tezos_dao/pyproject.toml | 2 +- .../registry/tezos_parameters/propose.py | 2 +- .../types/registry/tezos_storage.py | 2 +- src/demo_tezos_dex/pyproject.toml | 2 +- .../fa12_token/tezos_parameters/transfer.py | 2 +- .../types/fa12_token/tezos_storage.py | 2 +- .../fa2_token/tezos_parameters/transfer.py | 2 +- .../types/fa2_token/tezos_storage.py | 2 +- .../tezos_parameters/divest_liquidity.py | 2 +- .../tezos_parameters/invest_liquidity.py | 2 +- .../tezos_parameters/tez_to_token_payment.py | 2 +- .../tezos_parameters/token_to_tez_payment.py | 2 +- .../quipu_fa12/tezos_parameters/transfer.py | 2 +- .../tezos_parameters/withdraw_profit.py | 2 +- .../types/quipu_fa12/tezos_storage.py | 2 +- .../tezos_parameters/divest_liquidity.py | 2 +- .../tezos_parameters/invest_liquidity.py | 2 +- .../tezos_parameters/tez_to_token_payment.py | 2 +- .../tezos_parameters/token_to_tez_payment.py | 2 +- .../quipu_fa2/tezos_parameters/transfer.py | 2 +- .../tezos_parameters/withdraw_profit.py | 2 +- .../types/quipu_fa2/tezos_storage.py | 2 +- src/demo_tezos_domains/pyproject.toml | 2 +- .../tezos_big_maps/store_expiry_map_key.py | 2 +- .../tezos_big_maps/store_expiry_map_value.py | 2 +- .../tezos_big_maps/store_records_key.py | 2 +- .../tezos_big_maps/store_records_value.py | 2 +- src/demo_tezos_etherlink/pyproject.toml | 3 +- .../types/rollup/tezos_parameters/default.py | 2 +- .../types/rollup/tezos_storage.py | 2 +- .../ticket_helper/tezos_parameters/default.py | 2 +- .../types/ticket_helper/tezos_storage.py | 2 +- .../ticketer/tezos_parameters/deposit.py | 2 +- .../ticketer/tezos_parameters/withdraw.py | 2 +- .../types/ticketer/tezos_storage.py | 2 +- src/demo_tezos_events/pyproject.toml | 2 +- .../events_contract/tezos_events/move.py | 2 +- .../events_contract/tezos_events/roll.py | 2 +- src/demo_tezos_factories/pyproject.toml | 2 +- .../types/factory/tezos_storage.py | 2 +- .../types/token/tezos_parameters/transfer.py | 2 +- .../types/token/tezos_storage.py | 2 +- src/demo_tezos_head/pyproject.toml | 2 +- src/demo_tezos_nft_marketplace/pyproject.toml | 2 +- .../tezos_parameters/cancel_swap.py | 2 +- .../hen_minter/tezos_parameters/collect.py | 2 +- .../hen_minter/tezos_parameters/mint_objkt.py | 2 +- .../types/hen_minter/tezos_parameters/swap.py | 2 +- .../types/hen_minter/tezos_storage.py | 2 +- .../types/hen_objkts/tezos_parameters/mint.py | 2 +- .../types/hen_objkts/tezos_storage.py | 2 +- src/demo_tezos_raw/pyproject.toml | 2 +- src/demo_tezos_token/pyproject.toml | 2 +- .../types/tzbtc/tezos_parameters/mint.py | 2 +- .../types/tzbtc/tezos_parameters/transfer.py | 2 +- .../types/tzbtc/tezos_storage.py | 2 +- src/demo_tezos_token_balances/pyproject.toml | 2 +- src/demo_tezos_token_transfers/pyproject.toml | 2 +- src/dipdup/codegen/evm.py | 5 +- uv.lock | 166 ++++++++++-------- 96 files changed, 284 insertions(+), 250 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 1c528c436..84fe6921b 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -38,7 +38,7 @@ } }, { - "name": "demo_substrate_events: run", + "name": "demo_evm_events: run", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -48,7 +48,7 @@ "run" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_substrate_events", + "cwd": "${workspaceFolder}/src/demo_evm_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -56,7 +56,7 @@ } }, { - "name": "demo_substrate_events: init", + "name": "demo_evm_events: init", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -66,7 +66,7 @@ "init" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_substrate_events", + "cwd": "${workspaceFolder}/src/demo_evm_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -74,7 +74,7 @@ } }, { - "name": "demo_evm_events: run", + "name": "demo_evm_transactions: run", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -84,7 +84,7 @@ "run" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_events", + "cwd": "${workspaceFolder}/src/demo_evm_transactions", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -92,7 +92,7 @@ } }, { - "name": "demo_evm_events: init", + "name": "demo_evm_transactions: init", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -102,7 +102,7 @@ "init" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_events", + "cwd": "${workspaceFolder}/src/demo_evm_transactions", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -110,7 +110,7 @@ } }, { - "name": "demo_evm_transactions: run", + "name": "demo_evm_uniswap: run", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -120,7 +120,7 @@ "run" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_transactions", + "cwd": "${workspaceFolder}/src/demo_evm_uniswap", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -128,7 +128,7 @@ } }, { - "name": "demo_evm_transactions: init", + "name": "demo_evm_uniswap: init", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -138,7 +138,7 @@ "init" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_transactions", + "cwd": "${workspaceFolder}/src/demo_evm_uniswap", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -146,7 +146,7 @@ } }, { - "name": "demo_evm_uniswap: run", + "name": "demo_starknet_events: run", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -156,7 +156,7 @@ "run" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_uniswap", + "cwd": "${workspaceFolder}/src/demo_starknet_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -164,7 +164,7 @@ } }, { - "name": "demo_evm_uniswap: init", + "name": "demo_starknet_events: init", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -174,7 +174,7 @@ "init" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_evm_uniswap", + "cwd": "${workspaceFolder}/src/demo_starknet_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -182,7 +182,7 @@ } }, { - "name": "demo_starknet_events: run", + "name": "demo_substrate_events: run", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -192,7 +192,7 @@ "run" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_starknet_events", + "cwd": "${workspaceFolder}/src/demo_substrate_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", @@ -200,7 +200,7 @@ } }, { - "name": "demo_starknet_events: init", + "name": "demo_substrate_events: init", "type": "debugpy", "request": "launch", "module": "dipdup", @@ -210,7 +210,7 @@ "init" ], "console": "integratedTerminal", - "cwd": "${workspaceFolder}/src/demo_starknet_events", + "cwd": "${workspaceFolder}/src/demo_substrate_events", "justMyCode": false, "env": { "DIPDUP_DEBUG": "1", diff --git a/CHANGELOG.md b/CHANGELOG.md index 363964b4d..64321d07a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,11 @@ 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. -## [Unreleased] +## [8.2.0] - ????-??-?? + +### Added + +- starknet.node: Added methods for fetching contract ABIs for `init` command. ### Fixed @@ -26,7 +30,6 @@ Releases prior to 7.0 has been removed from this file to declutter search result ### Other - deps: `tortoise-orm` updated to 0.24.0. -- starknet.node: Added methods for fetching contract ABI's ## [8.2.0rc1] - 2025-01-24 @@ -613,7 +616,8 @@ Releases prior to 7.0 has been removed from this file to declutter search result [semantic versioning]: https://semver.org/spec/v2.0.0.html -[Unreleased]: https://github.com/dipdup-io/dipdup/compare/8.2.0rc1...HEAD +[Unreleased]: https://github.com/dipdup-io/dipdup/compare/8.2.0...HEAD +[8.2.0]: https://github.com/dipdup-io/dipdup/compare/8.2.0rc1...8.2.0 [8.2.0rc1]: https://github.com/dipdup-io/dipdup/compare/8.1.4...8.2.0rc1 [8.1.4]: https://github.com/dipdup-io/dipdup/compare/8.1.3...8.1.4 [8.1.3]: https://github.com/dipdup-io/dipdup/compare/8.1.2...8.1.3 diff --git a/docs/0.quickstart-substrate.md b/docs/0.quickstart-substrate.md index f63768e18..5fa4f8ddc 100644 --- a/docs/0.quickstart-substrate.md +++ b/docs/0.quickstart-substrate.md @@ -26,12 +26,6 @@ The recommended way to install DipDup CLI is [pipx](https://pipx.pypa.io/stable/ See the [Installation](../docs/1.getting-started/1.installation.md) page for all options. -After installation, run the following command to switch to the preview branch: - -```shell [Terminal] -dipdup self install -f -v 8.2.0rc1 -``` - ## Create a project DipDup CLI has a built-in project generator. Run the following command in your terminal: diff --git a/docs/8.examples/_demos_table.md b/docs/8.examples/_demos_table.md index 0f157bae8..b0e2888c1 100644 --- a/docs/8.examples/_demos_table.md +++ b/docs/8.examples/_demos_table.md @@ -1,22 +1,22 @@ | name | network | description | source | |-|-|-|-| -| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_blank) | -| demo_substrate_events | | Substrate balance transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_substrate_events) | -| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_evm_events) | -| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/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.2.0rc1/src/demo_evm_uniswap) | -| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_starknet_events) | -| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_auction) | -| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_dao) | -| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_dex) | -| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_domains) | -| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_etherlink) | -| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_events) | -| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_factories) | -| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_head) | -| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/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.2.0rc1/src/demo_tezos_raw) | -| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_token) | -| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_token_balances) | -| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0rc1/src/demo_tezos_token_transfers) | +| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_blank) | +| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_evm_events) | +| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.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.2.0/src/demo_evm_uniswap) | +| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_starknet_events) | +| demo_substrate_events | Substrate | Substrate balance transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_substrate_events) | +| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_auction) | +| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_dao) | +| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_dex) | +| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_domains) | +| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_etherlink) | +| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_events) | +| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_factories) | +| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_head) | +| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.2.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.2.0/src/demo_tezos_raw) | +| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_token) | +| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_token_balances) | +| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.2.0/src/demo_tezos_token_transfers) | diff --git a/docs/9.release-notes/1.v8.2.md b/docs/9.release-notes/1.v8.2.md index 8e8b5bdf3..456147598 100644 --- a/docs/9.release-notes/1.v8.2.md +++ b/docs/9.release-notes/1.v8.2.md @@ -1,5 +1,5 @@ --- -title: "8.2 (rc)" +title: "8.2" description: DipDup 8.2 release notes --- diff --git a/docs/9.release-notes/_8.0_changelog.md b/docs/9.release-notes/_8.0_changelog.md index b76a4809e..e0555feed 100644 --- a/docs/9.release-notes/_8.0_changelog.md +++ b/docs/9.release-notes/_8.0_changelog.md @@ -46,7 +46,6 @@ - performance: Fixed estimation indexing speed in levels per second. - starknet.events: Fixed filtering events by key. - subsquid: Fixed missing entry in `dipdup_head` internal table. -- substrate.subsquid: Fixed parsing nested structures in response. - tezos.big_maps: Fixed logging status message in `skip_history` mode. - tezos.big_maps: Respect order of handlers in `skip_history` mode. - tezos.operations: Fixed `sr_cement` operation index subscription. @@ -64,12 +63,6 @@ - deps: Python 3.12 is now required to run DipDup. - performance: All time intervals are now measured in seconds. - performance: Several metrics have been renamed and new ones have been added. -- project: Set default PostgreSQL password and Hasura secret (both are `changeme`) for new projects. -- project: Use PostgreSQL 16 image for new projects. - -### Deprecated - -- package: DipDup packages are expected to have `pyproject.toml` and `dipdup.yaml` files in the root directory. This will become a requirement in 9.0. ### Removed @@ -92,5 +85,4 @@ - deps: `sentry-sdk` updated to 2.1. - deps: `tortoise-orm` updated to 0.20.1. - deps: `tortoise-orm` updated to 0.21.2. -- deps: `tortoise-orm` updated to 0.24.0. - deps: `web3` updated to 6.18. diff --git a/docs/9.release-notes/_8.2_changelog.md b/docs/9.release-notes/_8.2_changelog.md index f2e939ca7..768ce0f8c 100644 --- a/docs/9.release-notes/_8.2_changelog.md +++ b/docs/9.release-notes/_8.2_changelog.md @@ -4,6 +4,7 @@ ### Added - project: Support uv package manager in the default project template. +- starknet.node: Added methods for fetching contract ABIs for `init` command. - substrate.events: Added `subtrate.events` index kind to process Substrate events. - substrate.node: Added `subtrate.node` datasource to receive data from Substrate node. - substrate.subscan: Added `substrate.subscan` datasource to fetch ABIs from Subscan. @@ -11,11 +12,24 @@ ### Fixed +- cli: Fixed help message on `CallbackError` reporting `batch` handler instead of actual one. - database: Don't process internal models twice if imported from the project. - evm.subsquid: Fixed event/transaction model deserialization. +- substrate.subsquid: Fixed parsing for `__kind` junctions with multiple keys. +- substrate.subsquid: Fixed parsing nested structures in response. ### Changed - env: Database migrations with aerich require `DIPDUP_MIGRATIONS` variable to be set. - evm.etherscan: Datasource has been renamed from `abi.etherscan` to `evm.etherscan` for consistency. - project: Expose Prometheus and internal API ports in default sqlite environment. +- project: Set default PostgreSQL password and Hasura secret (both are `changeme`) for new projects. +- project: Use PostgreSQL 16 image for new projects. + +### Deprecated + +- package: DipDup packages are expected to have `pyproject.toml` and `dipdup.yaml` files in the root directory. This will become a requirement in 9.0. + +### Other + +- deps: `tortoise-orm` updated to 0.24.0. diff --git a/pyproject.toml b/pyproject.toml index a7133b301..4a3776d53 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.2.0rc1" +version = "8.2.0" license = { text = "MIT" } authors = [ { name = "Lev Gorodetskii", email = "dipdup@drsr.io" }, diff --git a/requirements.txt b/requirements.txt index 1d6916feb..3a5c7a551 100644 --- a/requirements.txt +++ b/requirements.txt @@ -94,16 +94,19 @@ bitarray==3.0.0 \ --hash=sha256:aca0a9cd376beaccd9f504961de83e776dd209c2de5a4c78dc87a78edf61839b \ --hash=sha256:f785af6b7cb07a9b1e5db0dea9ef9e3e8bb3d74874a0a61303eab9c16acc1999 \ --hash=sha256:fcef31b062f756ba7eebcd7890c5d5de84b9d64ee877325257bcc9782288564a -black==24.10.0 \ - --hash=sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f \ - --hash=sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8 \ - --hash=sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d \ - --hash=sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875 \ - --hash=sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3 \ - --hash=sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65 -certifi==2024.12.14 \ - --hash=sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 \ - --hash=sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db +black==25.1.0 \ + --hash=sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc \ + --hash=sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666 \ + --hash=sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f \ + --hash=sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b \ + --hash=sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717 \ + --hash=sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba +cached-property==2.0.1 \ + --hash=sha256:484d617105e3ee0e4f1f58725e72a8ef9e93deee462222dbd51cd91230897641 \ + --hash=sha256:f617d70ab1100b7bcf6e42228f9ddcb78c676ffa167278d9f730d1c2fba69ccb +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe charset-normalizer==3.4.1 \ --hash=sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d \ --hash=sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa \ @@ -186,21 +189,21 @@ email-validator==2.2.0 \ eth-abi==5.2.0 \ --hash=sha256:178703fa98c07d8eecd5ae569e7e8d159e493ebb6eeb534a8fe973fbc4e40ef0 \ --hash=sha256:17abe47560ad753f18054f5b3089fcb588f3e3a092136a416b6c1502cb7e8877 -eth-account==0.13.4 \ - --hash=sha256:2e1f2de240bef3d9f3d8013656135d2a79b6be6d4e7885bce9cace4334a4a376 \ - --hash=sha256:a4c109e9bad3a278243fcc028b755fb72b43e25b1e6256b3f309a44f5f7d87c3 +eth-account==0.13.3 \ + --hash=sha256:03d6af5d314e64b3dd53283e15b24736c5caa24542e5edac0455d6ff87d8b1e0 \ + --hash=sha256:c8f3dae3403b8647f386fcc081fb8c2a0970991cf3e00af7e7ebd73f95d6a319 eth-hash==0.7.1 \ --hash=sha256:0fb1add2adf99ef28883fd6228eb447ef519ea72933535ad1a0b28c6f65f868a \ --hash=sha256:d2411a403a0b0a62e8247b4117932d900ffb4c8c64b15f92620547ca5ce46be5 -eth-keyfile==0.8.1 \ - --hash=sha256:65387378b82fe7e86d7cb9f8d98e6d639142661b2f6f490629da09fddbef6d64 \ - --hash=sha256:9708bc31f386b52cca0969238ff35b1ac72bd7a7186f2a84b86110d3c973bec1 +eth-keyfile==0.9.0 \ + --hash=sha256:45d3513b6433ad885370225ba0429ed26493ba23589c5b1ca5da024765020fef \ + --hash=sha256:8621c35e83cbc05909d2f23dbb8a87633918733caea553ae0e298f6a06291526 eth-keys==0.6.1 \ --hash=sha256:7deae4cd56e862e099ec58b78176232b931c4ea5ecded2f50c7b1ccbc10c24cf \ --hash=sha256:a43e263cbcabfd62fa769168efc6c27b1f5603040e4de22bb84d12567e4fd962 -eth-rlp==2.1.0 \ - --hash=sha256:6f476eb7e37d81feaba5d98aed887e467be92648778c44b19fe594aea209cde1 \ - --hash=sha256:d5b408a8cd20ed496e8e66d0559560d29bc21cee482f893936a1f05d0dddc4a0 +eth-rlp==2.2.0 \ + --hash=sha256:5692d595a741fbaef1203db6a2fedffbd2506d31455a6ad378c8449ee5985c47 \ + --hash=sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d eth-typing==5.1.0 \ --hash=sha256:8581f212ee6252aaa285377a77620f6e5f6e16ac3f144c61f098fafd47967b1a \ --hash=sha256:c0d6b93f5385aa84efc4b47ae2bd478da069bc0ffda8b67e0ccb573f43defd29 @@ -276,9 +279,9 @@ markupsafe==3.0.2 \ --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \ --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \ --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 -marshmallow==3.26.0 \ - --hash=sha256:1287bca04e6a5f4094822ac153c03da5e214a0a60bcd557b140f3e66991b8ca1 \ - --hash=sha256:eb36762a1cc76d7abf831e18a3a1b26d3d481bbc74581b8e532a3d3a8115e1cb +marshmallow==3.26.1 \ + --hash=sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c \ + --hash=sha256:e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6 marshmallow-dataclass==8.7.1 \ --hash=sha256:405cbaaad9cea56b3de2f85eff32a9880e3bf849f652e7f6de7395e4b1ddc072 \ --hash=sha256:4fb80e1bf7b31ce1b192aa87ffadee2cedb3f6f37bb0042f8500b07e6fad59c4 @@ -389,6 +392,9 @@ propcache==0.2.1 \ --hash=sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f \ --hash=sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec \ --hash=sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6 +py-ecc==7.0.1 \ + --hash=sha256:557461f42e57294d734305a30faf6b8903421651871e9cdeff8d8e67c6796c70 \ + --hash=sha256:84a8b4d436163c83c65345a68e32f921ef6e64374a36f8e561f0455b4b08f5f2 pycryptodome==3.21.0 \ --hash=sha256:0714206d467fc911042d01ea3a1847c847bc10884cf674c82e12915cfe1649f8 \ --hash=sha256:18caa8cfbc676eaaf28613637a89980ad2fd96e00c564135bf90bc3f0b34dd93 \ @@ -437,9 +443,9 @@ python-dotenv==1.0.1 \ python-json-logger==2.0.7 \ --hash=sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c \ --hash=sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd -pytz==2024.2 \ - --hash=sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a \ - --hash=sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725 +pytz==2025.1 \ + --hash=sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57 \ + --hash=sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e pyunormalize==16.0.0 \ --hash=sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7 \ --hash=sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152 @@ -478,9 +484,9 @@ regex==2024.11.6 \ requests==2.32.3 \ --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 -rlp==4.0.1 \ - --hash=sha256:bcefb11013dfadf8902642337923bd0c786dc8a27cb4c21da6e154e52869ecb1 \ - --hash=sha256:ff6846c3c27b97ee0492373aa074a7c3046aadd973320f4fffa7ac45564b0258 +rlp==4.1.0 \ + --hash=sha256:8eca394c579bad34ee0b937aecb96a57052ff3716e19c7a578883e767bc5da6f \ + --hash=sha256:be07564270a96f3e225e2c107db263de96b5bc1f27722d2855bd3459a08e95a9 ruamel-yaml==0.18.10 \ --hash=sha256:20c86ab29ac2153f80a428e1254a8adf686d3383df04490514ca3b79a362db58 \ --hash=sha256:30f22513ab2301b3d2b577adc121c6471f28734d3d9728581245f1e76468b4f1 @@ -558,9 +564,9 @@ uvloop==0.21.0 \ --hash=sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc \ --hash=sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d \ --hash=sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2 -web3==7.7.0 \ - --hash=sha256:2e29147c0f43cf191af788af8f004368b70994db40162f1240607f663dc68ea6 \ - --hash=sha256:4d0332b9a78b855e57ccebd9e1e74c8e855b95869ac7b8fe5878731593e76408 +web3==7.8.0 \ + --hash=sha256:712bc9fd6b1ef6e467ee24c25b581e1951cab2cba17f9f548f12587734f2c857 \ + --hash=sha256:c8771b3d8772f7104a0462804449beb57d36cef7bd8b411140f95a92fc46b559 websocket-client==1.8.0 \ --hash=sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526 \ --hash=sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da diff --git a/scripts/docs.py b/scripts/docs.py index 5129c7821..34978bf03 100755 --- a/scripts/docs.py +++ b/scripts/docs.py @@ -719,10 +719,12 @@ def dump_demos() -> None: package, description = replay['package'], replay['description'] if package in TEMPLATES['evm']: network = 'EVM' - elif package in TEMPLATES['tezos']: - network = 'Tezos' elif package in TEMPLATES['starknet']: network = 'Starknet' + elif package in TEMPLATES['substrate']: + network = 'Substrate' + elif package in TEMPLATES['tezos']: + network = 'Tezos' else: network = '' demos.append((package, network, description)) diff --git a/src/demo_blank/pyproject.toml b/src/demo_blank/pyproject.toml index aeb7a72fb..d1a7bcfe5 100644 --- a/src/demo_blank/pyproject.toml +++ b/src/demo_blank/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 0e7c98273..7ea35f162 100644 --- a/src/demo_evm_events/pyproject.toml +++ b/src/demo_evm_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 9c6fc5927..18f04e723 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_evm_transactions/pyproject.toml b/src/demo_evm_transactions/pyproject.toml index 4f2f6ff97..5b24090d9 100644 --- a/src/demo_evm_transactions/pyproject.toml +++ b/src/demo_evm_transactions/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 670a2f69b..87087f571 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/pyproject.toml b/src/demo_evm_uniswap/pyproject.toml index 2f343a1ca..1346882b4 100644 --- a/src/demo_evm_uniswap/pyproject.toml +++ b/src/demo_evm_uniswap/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 d9237a540..fbf155ddf 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.2.0rc1 +# generated by DipDup 8.2.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 f545682a2..77c368e25 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.2.0rc1 +# generated by DipDup 8.2.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 0345e19de..60fa2548e 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.2.0rc1 +# generated by DipDup 8.2.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 357481a62..e11cb05a5 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.2.0rc1 +# generated by DipDup 8.2.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 6621e1dc8..14f3600f8 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.2.0rc1 +# generated by DipDup 8.2.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 caf73f44e..5e9d22ad1 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.2.0rc1 +# generated by DipDup 8.2.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 78cdb83b3..c4bba7d50 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.2.0rc1 +# generated by DipDup 8.2.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 0436995a9..e36c5b22e 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.2.0rc1 +# generated by DipDup 8.2.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 68f1740fb..fd97421a0 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.2.0rc1 +# generated by DipDup 8.2.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 1e1dd57db..088370a20 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.2.0rc1 +# generated by DipDup 8.2.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 d4883606c..47aff929a 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_starknet_events/pyproject.toml b/src/demo_starknet_events/pyproject.toml index c9d333e58..7354b2ab4 100644 --- a/src/demo_starknet_events/pyproject.toml +++ b/src/demo_starknet_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 a212e1854..c93557670 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_substrate_events/pyproject.toml b/src/demo_substrate_events/pyproject.toml index ba36b8a28..b0cf3d1c0 100644 --- a/src/demo_substrate_events/pyproject.toml +++ b/src/demo_substrate_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.0 [project] name = "demo_substrate_events" version = "0.0.1" diff --git a/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py index a838ee10d..a1e51ea6b 100644 --- a/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py +++ b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_auction/pyproject.toml b/src/demo_tezos_auction/pyproject.toml index 98103afd5..6227bae7b 100644 --- a/src/demo_tezos_auction/pyproject.toml +++ b/src/demo_tezos_auction/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 70f9aa1fd..a68361a2b 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.2.0rc1 +# generated by DipDup 8.2.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 01f5bffa2..15a4b0411 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.2.0rc1 +# generated by DipDup 8.2.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 2e9d12db3..977889210 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.2.0rc1 +# generated by DipDup 8.2.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 ebbc2e863..35de5e9e9 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_dao/pyproject.toml b/src/demo_tezos_dao/pyproject.toml index e83b86965..666056695 100644 --- a/src/demo_tezos_dao/pyproject.toml +++ b/src/demo_tezos_dao/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 47c147e1f..77d271441 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.2.0rc1 +# generated by DipDup 8.2.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 be32259bc..981469e6c 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/pyproject.toml b/src/demo_tezos_dex/pyproject.toml index 48a8e0b90..c7501b489 100644 --- a/src/demo_tezos_dex/pyproject.toml +++ b/src/demo_tezos_dex/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 8634af799..5fac01c3b 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.2.0rc1 +# generated by DipDup 8.2.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 6c1e59210..a4f3a854f 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.2.0rc1 +# generated by DipDup 8.2.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 8acb67ae1..72a62c769 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.2.0rc1 +# generated by DipDup 8.2.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 de680e0fc..734a3a86d 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.2.0rc1 +# generated by DipDup 8.2.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 97ba78bfa..b2ece2b75 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.2.0rc1 +# generated by DipDup 8.2.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 76236ff2b..d7fb2a129 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.2.0rc1 +# generated by DipDup 8.2.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 e990590d3..a0a0d1e75 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.2.0rc1 +# generated by DipDup 8.2.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 5b1b8ef29..94d9a4e91 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.2.0rc1 +# generated by DipDup 8.2.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 8634af799..5fac01c3b 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.2.0rc1 +# generated by DipDup 8.2.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 80a03a163..851fc8a83 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.2.0rc1 +# generated by DipDup 8.2.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 c32a6fd06..80ec5eeeb 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.2.0rc1 +# generated by DipDup 8.2.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 97ba78bfa..b2ece2b75 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.2.0rc1 +# generated by DipDup 8.2.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 76236ff2b..d7fb2a129 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.2.0rc1 +# generated by DipDup 8.2.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 e990590d3..a0a0d1e75 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.2.0rc1 +# generated by DipDup 8.2.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 5b1b8ef29..94d9a4e91 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.2.0rc1 +# generated by DipDup 8.2.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 8acb67ae1..72a62c769 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.2.0rc1 +# generated by DipDup 8.2.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 80a03a163..851fc8a83 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.2.0rc1 +# generated by DipDup 8.2.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 39936486b..408963d96 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_domains/pyproject.toml b/src/demo_tezos_domains/pyproject.toml index 9dc808106..d5461fa8c 100644 --- a/src/demo_tezos_domains/pyproject.toml +++ b/src/demo_tezos_domains/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 25857f84c..fa253ac39 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.2.0rc1 +# generated by DipDup 8.2.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 159e48fc4..78ad01295 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.2.0rc1 +# generated by DipDup 8.2.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 03859ab06..3176ddcf1 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.2.0rc1 +# generated by DipDup 8.2.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 5fef466c6..665fba039 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/pyproject.toml b/src/demo_tezos_etherlink/pyproject.toml index 19be8636e..1728bb548 100644 --- a/src/demo_tezos_etherlink/pyproject.toml +++ b/src/demo_tezos_etherlink/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.0 [project] name = "demo_tezos_etherlink" version = "0.0.1" @@ -38,6 +38,7 @@ isort = { force-single-line = true} [tool.mypy] python_version = "3.12" plugins = ["pydantic.mypy"] +explicit_package_bases = true strict = false exclude = "demo_tezos_etherlink" 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 bc111d229..951a21462 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.2.0rc1 +# generated by DipDup 8.2.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 90614df5f..142137749 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.2.0rc1 +# generated by DipDup 8.2.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 39c365391..d9bbd6621 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.2.0rc1 +# generated by DipDup 8.2.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 08dd88575..35aa714b8 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.2.0rc1 +# generated by DipDup 8.2.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 5f71ecbe6..82460e78e 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.2.0rc1 +# generated by DipDup 8.2.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 f443426e6..ba5de02a0 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.2.0rc1 +# generated by DipDup 8.2.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 dde0a9ec7..cd1b07c92 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_events/pyproject.toml b/src/demo_tezos_events/pyproject.toml index ca1824637..300085bda 100644 --- a/src/demo_tezos_events/pyproject.toml +++ b/src/demo_tezos_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 142694422..a073850b9 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.2.0rc1 +# generated by DipDup 8.2.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 b4aa08e64..bcf01598f 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_factories/pyproject.toml b/src/demo_tezos_factories/pyproject.toml index 4ec5efa1b..3b6f5374c 100644 --- a/src/demo_tezos_factories/pyproject.toml +++ b/src/demo_tezos_factories/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 06127272a..75407ae87 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.2.0rc1 +# generated by DipDup 8.2.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 8acb67ae1..72a62c769 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.2.0rc1 +# generated by DipDup 8.2.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 1e02ea6cb..92bd366ec 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_head/pyproject.toml b/src/demo_tezos_head/pyproject.toml index 1ec746584..05303957f 100644 --- a/src/demo_tezos_head/pyproject.toml +++ b/src/demo_tezos_head/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 240f76093..cb1f57ad5 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.2.0rc1 +# generated by DipDup 8.2.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 f4e4f265d..17c67f158 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.2.0rc1 +# generated by DipDup 8.2.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 41ff33ae6..51a1693f4 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.2.0rc1 +# generated by DipDup 8.2.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 d1116c952..e2272546f 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.2.0rc1 +# generated by DipDup 8.2.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 64dc0e29e..250d20021 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.2.0rc1 +# generated by DipDup 8.2.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 8125846e6..2aff58a7e 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.2.0rc1 +# generated by DipDup 8.2.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 e2d96f181..edd8352bc 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.2.0rc1 +# generated by DipDup 8.2.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 6e996918e..cf2582209 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_raw/pyproject.toml b/src/demo_tezos_raw/pyproject.toml index b86b34203..c4e9f4d5f 100644 --- a/src/demo_tezos_raw/pyproject.toml +++ b/src/demo_tezos_raw/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 a16cfd82f..331417605 100644 --- a/src/demo_tezos_token/pyproject.toml +++ b/src/demo_tezos_token/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.2.0rc1 +# generated by DipDup 8.2.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 fdcc8a437..69efb8c14 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.2.0rc1 +# generated by DipDup 8.2.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 8634af799..5fac01c3b 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.2.0rc1 +# generated by DipDup 8.2.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 70057a90a..d37577788 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.2.0rc1 +# generated by DipDup 8.2.0 from __future__ import annotations diff --git a/src/demo_tezos_token_balances/pyproject.toml b/src/demo_tezos_token_balances/pyproject.toml index 123cbdcb1..5b32fe435 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.2.0rc1 +# generated by DipDup 8.2.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 27b563770..114de58d9 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.2.0rc1 +# generated by DipDup 8.2.0 [project] name = "demo_tezos_token_transfers" version = "0.0.1" diff --git a/src/dipdup/codegen/evm.py b/src/dipdup/codegen/evm.py index 09a428924..1f0dbc8aa 100644 --- a/src/dipdup/codegen/evm.py +++ b/src/dipdup/codegen/evm.py @@ -71,10 +71,7 @@ async def _fetch_abi(self, index_config: EvmIndexConfigU) -> None: contracts_from_transactions: list[EvmContractConfig] = [ handler_config.typed_contract for handler_config in index_config.handlers - if ( - isinstance(handler_config, EvmTransactionsHandlerConfig) - and handler_config.typed_contract is not None - ) + if (isinstance(handler_config, EvmTransactionsHandlerConfig) and handler_config.typed_contract is not None) ] contracts: Iterable[EvmContractConfig] = chain(contracts_from_event_handlers, contracts_from_transactions) diff --git a/uv.lock b/uv.lock index 7309495c5..c9490371f 100644 --- a/uv.lock +++ b/uv.lock @@ -227,11 +227,11 @@ wheels = [ [[package]] name = "babel" -version = "2.16.0" +version = "2.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/74/f1bc80f23eeba13393b7222b11d95ca3af2c1e28edca18af487137eefed9/babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316", size = 9348104 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/20/bc79bc575ba2e2a7f70e8a1155618bb1301eaa5132a8271373a6903f73f8/babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b", size = 9587599 }, + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, ] [[package]] @@ -268,7 +268,7 @@ wheels = [ [[package]] name = "black" -version = "24.10.0" +version = "25.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -277,22 +277,31 @@ dependencies = [ { name = "pathspec" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d8/0d/cc2fb42b8c50d80143221515dd7e4766995bd07c56c9a3ed30baf080b6dc/black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875", size = 645813 } +sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449 } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/04/bf74c71f592bcd761610bbf67e23e6a3cff824780761f536512437f1e655/black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3", size = 1644256 }, - { url = "https://files.pythonhosted.org/packages/4c/ea/a77bab4cf1887f4b2e0bce5516ea0b3ff7d04ba96af21d65024629afedb6/black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65", size = 1448534 }, - { url = "https://files.pythonhosted.org/packages/4e/3e/443ef8bc1fbda78e61f79157f303893f3fddf19ca3c8989b163eb3469a12/black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f", size = 1761892 }, - { url = "https://files.pythonhosted.org/packages/52/93/eac95ff229049a6901bc84fec6908a5124b8a0b7c26ea766b3b8a5debd22/black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8", size = 1434796 }, - { url = "https://files.pythonhosted.org/packages/8d/a7/4b27c50537ebca8bec139b872861f9d2bf501c5ec51fcf897cb924d9e264/black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d", size = 206898 }, + { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988 }, + { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985 }, + { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816 }, + { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860 }, + { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646 }, +] + +[[package]] +name = "cached-property" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/4b/3d870836119dbe9a5e3c9a61af8cc1a8b69d75aea564572e385882d5aefb/cached_property-2.0.1.tar.gz", hash = "sha256:484d617105e3ee0e4f1f58725e72a8ef9e93deee462222dbd51cd91230897641", size = 10574 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/0e/7d8225aab3bc1a0f5811f8e1b557aa034ac04bdf641925b30d3caf586b28/cached_property-2.0.1-py3-none-any.whl", hash = "sha256:f617d70ab1100b7bcf6e42228f9ddcb78c676ffa167278d9f730d1c2fba69ccb", size = 7428 }, ] [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, ] [[package]] @@ -464,7 +473,7 @@ wheels = [ [[package]] name = "dipdup" -version = "8.2.0rc1" +version = "8.2.0" source = { editable = "." } dependencies = [ { name = "aiohttp" }, @@ -662,7 +671,7 @@ wheels = [ [[package]] name = "eth-account" -version = "0.13.4" +version = "0.13.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "bitarray" }, @@ -676,9 +685,9 @@ dependencies = [ { name = "pydantic" }, { name = "rlp" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fa/c9/38a55928f6eef30c8c7144f00400988bc1950e10b89de09991b315ff9d98/eth_account-0.13.4.tar.gz", hash = "sha256:2e1f2de240bef3d9f3d8013656135d2a79b6be6d4e7885bce9cace4334a4a376", size = 931759 } +sdist = { url = "https://files.pythonhosted.org/packages/ae/5f/aa105acb4b38919ccfd8e9b6b0044ebe28746fa898fff0b5139074a3a434/eth_account-0.13.3.tar.gz", hash = "sha256:03d6af5d314e64b3dd53283e15b24736c5caa24542e5edac0455d6ff87d8b1e0", size = 930245 } wheels = [ - { url = "https://files.pythonhosted.org/packages/03/0b/c8e21c361b61be773e2d9a4a69ec2c72d445a1f1293e026935affe7fc7df/eth_account-0.13.4-py3-none-any.whl", hash = "sha256:a4c109e9bad3a278243fcc028b755fb72b43e25b1e6256b3f309a44f5f7d87c3", size = 581366 }, + { url = "https://files.pythonhosted.org/packages/6e/a5/45dcf568ec39f138597df708e4dbad8543ee7e29d4e14da6d7202da79832/eth_account-0.13.3-py3-none-any.whl", hash = "sha256:c8f3dae3403b8647f386fcc081fb8c2a0970991cf3e00af7e7ebd73f95d6a319", size = 580132 }, ] [[package]] @@ -697,16 +706,17 @@ pycryptodome = [ [[package]] name = "eth-keyfile" -version = "0.8.1" +version = "0.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "eth-keys" }, { name = "eth-utils" }, + { name = "py-ecc" }, { name = "pycryptodome" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/35/66/dd823b1537befefbbff602e2ada88f1477c5b40ec3731e3d9bc676c5f716/eth_keyfile-0.8.1.tar.gz", hash = "sha256:9708bc31f386b52cca0969238ff35b1ac72bd7a7186f2a84b86110d3c973bec1", size = 12267 } +sdist = { url = "https://files.pythonhosted.org/packages/6b/fc/1b957ce3403158417b8e632c87ceffb0c2b0845505c280571e23ae57bff3/eth_keyfile-0.9.0.tar.gz", hash = "sha256:8621c35e83cbc05909d2f23dbb8a87633918733caea553ae0e298f6a06291526", size = 19793 } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/fc/48a586175f847dd9e05e5b8994d2fe8336098781ec2e9836a2ad94280281/eth_keyfile-0.8.1-py3-none-any.whl", hash = "sha256:65387378b82fe7e86d7cb9f8d98e6d639142661b2f6f490629da09fddbef6d64", size = 7510 }, + { url = "https://files.pythonhosted.org/packages/19/5f/854a4c2bb7184b69947b77ed1337009ad3e57e085dc7b2010dc13d868d4a/eth_keyfile-0.9.0-py3-none-any.whl", hash = "sha256:45d3513b6433ad885370225ba0429ed26493ba23589c5b1ca5da024765020fef", size = 9869 }, ] [[package]] @@ -724,16 +734,16 @@ wheels = [ [[package]] name = "eth-rlp" -version = "2.1.0" +version = "2.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "eth-utils" }, { name = "hexbytes" }, { name = "rlp" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/57/4e/aae7407671a1a3cf9c4a1b0c735862112ed7fe409a6753ab2863788702c1/eth-rlp-2.1.0.tar.gz", hash = "sha256:d5b408a8cd20ed496e8e66d0559560d29bc21cee482f893936a1f05d0dddc4a0", size = 7345 } +sdist = { url = "https://files.pythonhosted.org/packages/7f/ea/ad39d001fa9fed07fad66edb00af701e29b48be0ed44a3bcf58cb3adf130/eth_rlp-2.2.0.tar.gz", hash = "sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d", size = 7720 } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/fe/b8b909bf0cc55a8d7d4890bf3a2a37c445a63b194a36f4c6e936fc60a903/eth_rlp-2.1.0-py3-none-any.whl", hash = "sha256:6f476eb7e37d81feaba5d98aed887e467be92648778c44b19fe594aea209cde1", size = 5091 }, + { url = "https://files.pythonhosted.org/packages/99/3b/57efe2bc2df0980680d57c01a36516cd3171d2319ceb30e675de19fc2cc5/eth_rlp-2.2.0-py3-none-any.whl", hash = "sha256:5692d595a741fbaef1203db6a2fedffbd2506d31455a6ad378c8449ee5985c47", size = 4446 }, ] [[package]] @@ -942,14 +952,14 @@ wheels = [ [[package]] name = "marshmallow" -version = "3.26.0" +version = "3.26.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/3a/b392ca6582ce5c2e515a8ca365f89b6e631d864a80ecdc72e0bc1bf3aec6/marshmallow-3.26.0.tar.gz", hash = "sha256:eb36762a1cc76d7abf831e18a3a1b26d3d481bbc74581b8e532a3d3a8115e1cb", size = 221490 } +sdist = { url = "https://files.pythonhosted.org/packages/ab/5e/5e53d26b42ab75491cda89b871dab9e97c840bf12c63ec58a1919710cd06/marshmallow-3.26.1.tar.gz", hash = "sha256:e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6", size = 221825 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/0d/80d7071803df1957c304bc096a714334dda7eb41ecfdd28dcfb49b1cde0e/marshmallow-3.26.0-py3-none-any.whl", hash = "sha256:1287bca04e6a5f4094822ac153c03da5e214a0a60bcd557b140f3e66991b8ca1", size = 50846 }, + { url = "https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl", hash = "sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c", size = 50878 }, ] [[package]] @@ -1050,21 +1060,21 @@ wheels = [ [[package]] name = "mypy" -version = "1.14.1" +version = "1.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mypy-extensions" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/eb/2c92d8ea1e684440f54fa49ac5d9a5f19967b7b472a281f419e69a8d228e/mypy-1.14.1.tar.gz", hash = "sha256:7ec88144fe9b510e8475ec2f5f251992690fcf89ccb4500b214b4226abcd32d6", size = 3216051 } +sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717 } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/1b/b38c079609bb4627905b74fc6a49849835acf68547ac33d8ceb707de5f52/mypy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:30ff5ef8519bbc2e18b3b54521ec319513a26f1bba19a7582e7b1f58a6e69f14", size = 11266668 }, - { url = "https://files.pythonhosted.org/packages/6b/75/2ed0d2964c1ffc9971c729f7a544e9cd34b2cdabbe2d11afd148d7838aa2/mypy-1.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb9f255c18052343c70234907e2e532bc7e55a62565d64536dbc7706a20b78b9", size = 10254060 }, - { url = "https://files.pythonhosted.org/packages/a1/5f/7b8051552d4da3c51bbe8fcafffd76a6823779101a2b198d80886cd8f08e/mypy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b4e3413e0bddea671012b063e27591b953d653209e7a4fa5e48759cda77ca11", size = 11933167 }, - { url = "https://files.pythonhosted.org/packages/04/90/f53971d3ac39d8b68bbaab9a4c6c58c8caa4d5fd3d587d16f5927eeeabe1/mypy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:553c293b1fbdebb6c3c4030589dab9fafb6dfa768995a453d8a5d3b23784af2e", size = 12864341 }, - { url = "https://files.pythonhosted.org/packages/03/d2/8bc0aeaaf2e88c977db41583559319f1821c069e943ada2701e86d0430b7/mypy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fad79bfe3b65fe6a1efaed97b445c3d37f7be9fdc348bdb2d7cac75579607c89", size = 12972991 }, - { url = "https://files.pythonhosted.org/packages/6f/17/07815114b903b49b0f2cf7499f1c130e5aa459411596668267535fe9243c/mypy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:8fa2220e54d2946e94ab6dbb3ba0a992795bd68b16dc852db33028df2b00191b", size = 9879016 }, - { url = "https://files.pythonhosted.org/packages/a0/b5/32dd67b69a16d088e533962e5044e51004176a9952419de0370cdaead0f8/mypy-1.14.1-py3-none-any.whl", hash = "sha256:b66a60cc4073aeb8ae00057f9c1f64d49e90f918fbcef9a977eb121da8b8f1d1", size = 2752905 }, + { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981 }, + { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175 }, + { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675 }, + { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020 }, + { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582 }, + { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614 }, + { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777 }, ] [[package]] @@ -1242,6 +1252,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 }, ] +[[package]] +name = "py-ecc" +version = "7.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cached-property" }, + { name = "eth-typing" }, + { name = "eth-utils" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/bd/dfe49226d5f137d11a946c4b3f3db2ff87b6b02390db8d95b0098365a2db/py_ecc-7.0.1.tar.gz", hash = "sha256:557461f42e57294d734305a30faf6b8903421651871e9cdeff8d8e67c6796c70", size = 45428 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/f0/a899d0d3e0d2fb5eb95c15ae9f277cb3ee139d4f1576c4c68f08a1301470/py_ecc-7.0.1-py3-none-any.whl", hash = "sha256:84a8b4d436163c83c65345a68e32f921ef6e64374a36f8e561f0455b4b08f5f2", size = 43309 }, +] + [[package]] name = "pycryptodome" version = "3.21.0" @@ -1379,14 +1403,14 @@ wheels = [ [[package]] name = "pytest-asyncio" -version = "0.25.2" +version = "0.25.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytest" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/df/adcc0d60f1053d74717d21d58c0048479e9cab51464ce0d2965b086bd0e2/pytest_asyncio-0.25.2.tar.gz", hash = "sha256:3f8ef9a98f45948ea91a0ed3dc4268b5326c0e7bce73892acc654df4262ad45f", size = 53950 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/a8/ecbc8ede70921dd2f544ab1cadd3ff3bf842af27f87bbdea774c7baa1d38/pytest_asyncio-0.25.3.tar.gz", hash = "sha256:fc1da2cf9f125ada7e710b4ddad05518d4cee187ae9412e9ac9271003497f07a", size = 54239 } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/d8/defa05ae50dcd6019a95527200d3b3980043df5aa445d40cb0ef9f7f98ab/pytest_asyncio-0.25.2-py3-none-any.whl", hash = "sha256:0d0bb693f7b99da304a0634afc0a4b19e49d5e0de2d670f38dc4bfa5727c5075", size = 19400 }, + { url = "https://files.pythonhosted.org/packages/67/17/3493c5624e48fd97156ebaec380dcaafee9506d7e2c46218ceebbb57d7de/pytest_asyncio-0.25.3-py3-none-any.whl", hash = "sha256:9e89518e0f9bd08928f97a3482fdc4e244df17529460bc038291ccaf8f85c7c3", size = 19467 }, ] [[package]] @@ -1435,11 +1459,11 @@ wheels = [ [[package]] name = "pytz" -version = "2024.2" +version = "2025.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", size = 319692 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 }, + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, ] [[package]] @@ -1531,14 +1555,14 @@ wheels = [ [[package]] name = "rlp" -version = "4.0.1" +version = "4.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "eth-utils" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/49/bcd4d3f9210ed78749eab04d236eeb98f98fbcc16977f308ee4637c1bad8/rlp-4.0.1.tar.gz", hash = "sha256:bcefb11013dfadf8902642337923bd0c786dc8a27cb4c21da6e154e52869ecb1", size = 33710 } +sdist = { url = "https://files.pythonhosted.org/packages/1b/2d/439b0728a92964a04d9c88ea1ca9ebb128893fbbd5834faa31f987f2fd4c/rlp-4.1.0.tar.gz", hash = "sha256:be07564270a96f3e225e2c107db263de96b5bc1f27722d2855bd3459a08e95a9", size = 33429 } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/03/3ae09a1c43657d17530dd98de6e381cc66ac514daa67000ccf99afc808fc/rlp-4.0.1-py3-none-any.whl", hash = "sha256:ff6846c3c27b97ee0492373aa074a7c3046aadd973320f4fffa7ac45564b0258", size = 20639 }, + { url = "https://files.pythonhosted.org/packages/99/fb/e4c0ced9893b84ac95b7181d69a9786ce5879aeb3bbbcbba80a164f85d6a/rlp-4.1.0-py3-none-any.whl", hash = "sha256:8eca394c579bad34ee0b937aecb96a57052ff3716e19c7a578883e767bc5da6f", size = 19973 }, ] [[package]] @@ -1572,27 +1596,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.9.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1e/7f/60fda2eec81f23f8aa7cbbfdf6ec2ca11eb11c273827933fb2541c2ce9d8/ruff-0.9.3.tar.gz", hash = "sha256:8293f89985a090ebc3ed1064df31f3b4b56320cdfcec8b60d3295bddb955c22a", size = 3586740 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/77/4fb790596d5d52c87fd55b7160c557c400e90f6116a56d82d76e95d9374a/ruff-0.9.3-py3-none-linux_armv6l.whl", hash = "sha256:7f39b879064c7d9670197d91124a75d118d00b0990586549949aae80cdc16624", size = 11656815 }, - { url = "https://files.pythonhosted.org/packages/a2/a8/3338ecb97573eafe74505f28431df3842c1933c5f8eae615427c1de32858/ruff-0.9.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:a187171e7c09efa4b4cc30ee5d0d55a8d6c5311b3e1b74ac5cb96cc89bafc43c", size = 11594821 }, - { url = "https://files.pythonhosted.org/packages/8e/89/320223c3421962762531a6b2dd58579b858ca9916fb2674874df5e97d628/ruff-0.9.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c59ab92f8e92d6725b7ded9d4a31be3ef42688a115c6d3da9457a5bda140e2b4", size = 11040475 }, - { url = "https://files.pythonhosted.org/packages/b2/bd/1d775eac5e51409535804a3a888a9623e87a8f4b53e2491580858a083692/ruff-0.9.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dc153c25e715be41bb228bc651c1e9b1a88d5c6e5ed0194fa0dfea02b026439", size = 11856207 }, - { url = "https://files.pythonhosted.org/packages/7f/c6/3e14e09be29587393d188454064a4aa85174910d16644051a80444e4fd88/ruff-0.9.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:646909a1e25e0dc28fbc529eab8eb7bb583079628e8cbe738192853dbbe43af5", size = 11420460 }, - { url = "https://files.pythonhosted.org/packages/ef/42/b7ca38ffd568ae9b128a2fa76353e9a9a3c80ef19746408d4ce99217ecc1/ruff-0.9.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a5a46e09355695fbdbb30ed9889d6cf1c61b77b700a9fafc21b41f097bfbba4", size = 12605472 }, - { url = "https://files.pythonhosted.org/packages/a6/a1/3167023f23e3530fde899497ccfe239e4523854cb874458ac082992d206c/ruff-0.9.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c4bb09d2bbb394e3730d0918c00276e79b2de70ec2a5231cd4ebb51a57df9ba1", size = 13243123 }, - { url = "https://files.pythonhosted.org/packages/d0/b4/3c600758e320f5bf7de16858502e849f4216cb0151f819fa0d1154874802/ruff-0.9.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96a87ec31dc1044d8c2da2ebbed1c456d9b561e7d087734336518181b26b3aa5", size = 12744650 }, - { url = "https://files.pythonhosted.org/packages/be/38/266fbcbb3d0088862c9bafa8b1b99486691d2945a90b9a7316336a0d9a1b/ruff-0.9.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bb7554aca6f842645022fe2d301c264e6925baa708b392867b7a62645304df4", size = 14458585 }, - { url = "https://files.pythonhosted.org/packages/63/a6/47fd0e96990ee9b7a4abda62de26d291bd3f7647218d05b7d6d38af47c30/ruff-0.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cabc332b7075a914ecea912cd1f3d4370489c8018f2c945a30bcc934e3bc06a6", size = 12419624 }, - { url = "https://files.pythonhosted.org/packages/84/5d/de0b7652e09f7dda49e1a3825a164a65f4998175b6486603c7601279baad/ruff-0.9.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:33866c3cc2a575cbd546f2cd02bdd466fed65118e4365ee538a3deffd6fcb730", size = 11843238 }, - { url = "https://files.pythonhosted.org/packages/9e/be/3f341ceb1c62b565ec1fb6fd2139cc40b60ae6eff4b6fb8f94b1bb37c7a9/ruff-0.9.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:006e5de2621304c8810bcd2ee101587712fa93b4f955ed0985907a36c427e0c2", size = 11484012 }, - { url = "https://files.pythonhosted.org/packages/a3/c8/ff8acbd33addc7e797e702cf00bfde352ab469723720c5607b964491d5cf/ruff-0.9.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ba6eea4459dbd6b1be4e6bfc766079fb9b8dd2e5a35aff6baee4d9b1514ea519", size = 12038494 }, - { url = "https://files.pythonhosted.org/packages/73/b1/8d9a2c0efbbabe848b55f877bc10c5001a37ab10aca13c711431673414e5/ruff-0.9.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:90230a6b8055ad47d3325e9ee8f8a9ae7e273078a66401ac66df68943ced029b", size = 12473639 }, - { url = "https://files.pythonhosted.org/packages/cb/44/a673647105b1ba6da9824a928634fe23186ab19f9d526d7bdf278cd27bc3/ruff-0.9.3-py3-none-win32.whl", hash = "sha256:eabe5eb2c19a42f4808c03b82bd313fc84d4e395133fb3fc1b1516170a31213c", size = 9834353 }, - { url = "https://files.pythonhosted.org/packages/c3/01/65cadb59bf8d4fbe33d1a750103e6883d9ef302f60c28b73b773092fbde5/ruff-0.9.3-py3-none-win_amd64.whl", hash = "sha256:040ceb7f20791dfa0e78b4230ee9dce23da3b64dd5848e40e3bf3ab76468dcf4", size = 10821444 }, - { url = "https://files.pythonhosted.org/packages/69/cb/b3fe58a136a27d981911cba2f18e4b29f15010623b79f0f2510fd0d31fd3/ruff-0.9.3-py3-none-win_arm64.whl", hash = "sha256:800d773f6d4d33b0a3c60e2c6ae8f4c202ea2de056365acfa519aa48acf28e0b", size = 10038168 }, +version = "0.9.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c0/17/529e78f49fc6f8076f50d985edd9a2cf011d1dbadb1cdeacc1d12afc1d26/ruff-0.9.4.tar.gz", hash = "sha256:6907ee3529244bb0ed066683e075f09285b38dd5b4039370df6ff06041ca19e7", size = 3599458 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/f8/3fafb7804d82e0699a122101b5bee5f0d6e17c3a806dcbc527bb7d3f5b7a/ruff-0.9.4-py3-none-linux_armv6l.whl", hash = "sha256:64e73d25b954f71ff100bb70f39f1ee09e880728efb4250c632ceed4e4cdf706", size = 11668400 }, + { url = "https://files.pythonhosted.org/packages/2e/a6/2efa772d335da48a70ab2c6bb41a096c8517ca43c086ea672d51079e3d1f/ruff-0.9.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6ce6743ed64d9afab4fafeaea70d3631b4d4b28b592db21a5c2d1f0ef52934bf", size = 11628395 }, + { url = "https://files.pythonhosted.org/packages/dc/d7/cd822437561082f1c9d7225cc0d0fbb4bad117ad7ac3c41cd5d7f0fa948c/ruff-0.9.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:54499fb08408e32b57360f6f9de7157a5fec24ad79cb3f42ef2c3f3f728dfe2b", size = 11090052 }, + { url = "https://files.pythonhosted.org/packages/9e/67/3660d58e893d470abb9a13f679223368ff1684a4ef40f254a0157f51b448/ruff-0.9.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37c892540108314a6f01f105040b5106aeb829fa5fb0561d2dcaf71485021137", size = 11882221 }, + { url = "https://files.pythonhosted.org/packages/79/d1/757559995c8ba5f14dfec4459ef2dd3fcea82ac43bc4e7c7bf47484180c0/ruff-0.9.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de9edf2ce4b9ddf43fd93e20ef635a900e25f622f87ed6e3047a664d0e8f810e", size = 11424862 }, + { url = "https://files.pythonhosted.org/packages/c0/96/7915a7c6877bb734caa6a2af424045baf6419f685632469643dbd8eb2958/ruff-0.9.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87c90c32357c74f11deb7fbb065126d91771b207bf9bfaaee01277ca59b574ec", size = 12626735 }, + { url = "https://files.pythonhosted.org/packages/0e/cc/dadb9b35473d7cb17c7ffe4737b4377aeec519a446ee8514123ff4a26091/ruff-0.9.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:56acd6c694da3695a7461cc55775f3a409c3815ac467279dfa126061d84b314b", size = 13255976 }, + { url = "https://files.pythonhosted.org/packages/5f/c3/ad2dd59d3cabbc12df308cced780f9c14367f0321e7800ca0fe52849da4c/ruff-0.9.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0c93e7d47ed951b9394cf352d6695b31498e68fd5782d6cbc282425655f687a", size = 12752262 }, + { url = "https://files.pythonhosted.org/packages/c7/17/5f1971e54bd71604da6788efd84d66d789362b1105e17e5ccc53bba0289b/ruff-0.9.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d4c8772670aecf037d1bf7a07c39106574d143b26cfe5ed1787d2f31e800214", size = 14401648 }, + { url = "https://files.pythonhosted.org/packages/30/24/6200b13ea611b83260501b6955b764bb320e23b2b75884c60ee7d3f0b68e/ruff-0.9.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfc5f1d7afeda8d5d37660eeca6d389b142d7f2b5a1ab659d9214ebd0e025231", size = 12414702 }, + { url = "https://files.pythonhosted.org/packages/34/cb/f5d50d0c4ecdcc7670e348bd0b11878154bc4617f3fdd1e8ad5297c0d0ba/ruff-0.9.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faa935fc00ae854d8b638c16a5f1ce881bc3f67446957dd6f2af440a5fc8526b", size = 11859608 }, + { url = "https://files.pythonhosted.org/packages/d6/f4/9c8499ae8426da48363bbb78d081b817b0f64a9305f9b7f87eab2a8fb2c1/ruff-0.9.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a6c634fc6f5a0ceae1ab3e13c58183978185d131a29c425e4eaa9f40afe1e6d6", size = 11485702 }, + { url = "https://files.pythonhosted.org/packages/18/59/30490e483e804ccaa8147dd78c52e44ff96e1c30b5a95d69a63163cdb15b/ruff-0.9.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:433dedf6ddfdec7f1ac7575ec1eb9844fa60c4c8c2f8887a070672b8d353d34c", size = 12067782 }, + { url = "https://files.pythonhosted.org/packages/3d/8c/893fa9551760b2f8eb2a351b603e96f15af167ceaf27e27ad873570bc04c/ruff-0.9.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d612dbd0f3a919a8cc1d12037168bfa536862066808960e0cc901404b77968f0", size = 12483087 }, + { url = "https://files.pythonhosted.org/packages/23/15/f6751c07c21ca10e3f4a51ea495ca975ad936d780c347d9808bcedbd7182/ruff-0.9.4-py3-none-win32.whl", hash = "sha256:db1192ddda2200671f9ef61d9597fcef89d934f5d1705e571a93a67fb13a4402", size = 9852302 }, + { url = "https://files.pythonhosted.org/packages/12/41/2d2d2c6a72e62566f730e49254f602dfed23019c33b5b21ea8f8917315a1/ruff-0.9.4-py3-none-win_amd64.whl", hash = "sha256:05bebf4cdbe3ef75430d26c375773978950bbf4ee3c95ccb5448940dc092408e", size = 10850051 }, + { url = "https://files.pythonhosted.org/packages/c6/e6/3d6ec3bc3d254e7f005c543a661a41c3e788976d0e52a1ada195bd664344/ruff-0.9.4-py3-none-win_arm64.whl", hash = "sha256:585792f1e81509e38ac5123492f8875fbc36f3ede8185af0a26df348e5154f41", size = 10078251 }, ] [[package]] @@ -1882,11 +1906,11 @@ wheels = [ [[package]] name = "types-pytz" -version = "2024.2.0.20241221" +version = "2025.1.0.20250204" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/26/516311b02b5a215e721155fb65db8a965d061372e388d6125ebce8d674b0/types_pytz-2024.2.0.20241221.tar.gz", hash = "sha256:06d7cde9613e9f7504766a0554a270c369434b50e00975b3a4a0f6eed0f2c1a9", size = 10213 } +sdist = { url = "https://files.pythonhosted.org/packages/b3/d2/2190c54d53c04491ad72a1df019c5dfa692e6ab6c2dba1be7b6c9d530e30/types_pytz-2025.1.0.20250204.tar.gz", hash = "sha256:00f750132769f1c65a4f7240bc84f13985b4da774bd17dfbe5d9cd442746bd49", size = 10352 } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/db/c92ca6920cccd9c2998b013601542e2ac5e59bc805bcff94c94ad254b7df/types_pytz-2024.2.0.20241221-py3-none-any.whl", hash = "sha256:8fc03195329c43637ed4f593663df721fef919b60a969066e22606edf0b53ad5", size = 10008 }, + { url = "https://files.pythonhosted.org/packages/be/50/65ffad73746f1d8b15992c030e0fd22965fd5ae2c0206dc28873343b3230/types_pytz-2025.1.0.20250204-py3-none-any.whl", hash = "sha256:32ca4a35430e8b94f6603b35beb7f56c32260ddddd4f4bb305fdf8f92358b87e", size = 10059 }, ] [[package]] @@ -1999,7 +2023,7 @@ wheels = [ [[package]] name = "web3" -version = "7.7.0" +version = "7.8.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -2017,9 +2041,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f6/87/3ddfacfdb74ac9c0e1c0bd37f1fc70aa2377befb910428fcbeb422d8158d/web3-7.7.0.tar.gz", hash = "sha256:4d0332b9a78b855e57ccebd9e1e74c8e855b95869ac7b8fe5878731593e76408", size = 2187868 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/55/943b2b544afade2f1220e4587bd7e95f8a39465d96e0c6e5029a007c6bec/web3-7.8.0.tar.gz", hash = "sha256:712bc9fd6b1ef6e467ee24c25b581e1951cab2cba17f9f548f12587734f2c857", size = 2188875 } wheels = [ - { url = "https://files.pythonhosted.org/packages/60/5e/6d1d2e64115c86c3342a22f931b21f71d303aabd65a03b353e89097b9d70/web3-7.7.0-py3-none-any.whl", hash = "sha256:2e29147c0f43cf191af788af8f004368b70994db40162f1240607f663dc68ea6", size = 1364053 }, + { url = "https://files.pythonhosted.org/packages/b0/52/bc4a08811db59392e13bf56ada316517a83b9a6135c20d357c222c80be2d/web3-7.8.0-py3-none-any.whl", hash = "sha256:c8771b3d8772f7104a0462804449beb57d36cef7bd8b411140f95a92fc46b559", size = 1363475 }, ] [[package]] From c17fe3001d68908f5f9d07563a64d48853cc59c4 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 07:24:05 -0300 Subject: [PATCH 2/9] big docs WIP --- docs/1.getting-started/3.config.md | 3 ++ docs/1.getting-started/4.package.md | 45 ++++++++++++++++++++++++++++- docs/13.troubleshooting.md | 20 ++++++------- docs/15.glossary.md | 10 +++++++ docs/9.release-notes/1.v8.2.md | 27 +++++++++++++++-- src/dipdup/cli.py | 5 ++-- src/dipdup/config/__init__.py | 2 +- 7 files changed, 96 insertions(+), 16 deletions(-) diff --git a/docs/1.getting-started/3.config.md b/docs/1.getting-started/3.config.md index f8f9b3c6a..d6ee94e0d 100644 --- a/docs/1.getting-started/3.config.md +++ b/docs/1.getting-started/3.config.md @@ -38,6 +38,9 @@ DipDup allows you to customize the configuration for a specific environment or w ```shell [Terminal] dipdup -c dipdup.yaml -c configs/dipdup.sqlite.yaml run + +# or, using a shorthand +dipdup -C sqlite run ``` Use `config export`{lang="sh"} and `config env`{lang="sh"} commands to check the resulting config used by DipDup. diff --git a/docs/1.getting-started/4.package.md b/docs/1.getting-started/4.package.md index 4c9923859..880591377 100644 --- a/docs/1.getting-started/4.package.md +++ b/docs/1.getting-started/4.package.md @@ -27,7 +27,7 @@ The structure of the resulting package is the following: | `{{ project.package }} -> .` | A little helper, symlink to let you import the package from the root directory. | | `pyproject.toml` | Python package metadata (introduced in PEP 518; see [details](https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/)) | | `Makefile` | Makefile with shortcuts for common commands (run `make` for help) | -| | | +| `README.md` | Project README with a brief description and usage instructions | Also, there are `.dockerignore`, `.gitignore` files and `py.typed` marker ([PEP 561](https://peps.python.org/pep-0561/)). Usually, you won't need to modify them. @@ -41,6 +41,49 @@ DipDup uses contract type information to generate [Pydantic](https://docs.pydant This approach allows working with complex contract types with nested structures and polymorphic variants. +## Config snippets + +`config/` directory contains environment-specific config snippets. They don't contain `package`/`spec_version` fields and can be used to extend/override the root config. See [Merging config files](../1.getting-started/3.config.md#merging-multiple-files) for details. + +### Replay file + +`config/replay.yaml` is a special file that contains options used during generation a new project. You can use it to create a new project with the same settings, or modify it to change chosen options. + +## Dev tools + +The `Makefile` contains shortcuts for all commands you might need during development! Run `make` without arguments to see the list of available commands: + +```text + + 🚧 DipDup developer tools + +help: Show this help (default) +all: Run an entire CI pipeline + +install: Install dependencies +update: Update dependencies +format: Format with all tools +lint: Lint with all tools + +black: Format with black +ruff: Lint with ruff +mypy: Lint with mypy + +image: Build Docker image +up: Start Compose stack +down: Stop Compose stack +``` + +See the file contents for details. Feel free to modify it to fit your workflow! + +## Deploy recipes + +The `deploy` directory contains: + +- `Dockerfile`, a recipe to build a Docker image with your project. Usually, you won't need to modify it. See comments inside for details. +- Compose files to run your project locally or in the cloud. +- Default env variables for each environment. See [Environment variables](../1.getting-started/3.config.md#environment-variables) for details. + ## Nested packages Callbacks can be grouped into packages to organize the project structure. Add one or multiple dots to the callback name to define nested packages: diff --git a/docs/13.troubleshooting.md b/docs/13.troubleshooting.md index 0e55583c5..5529991b4 100644 --- a/docs/13.troubleshooting.md +++ b/docs/13.troubleshooting.md @@ -43,12 +43,18 @@ We follow semantic versioning, so you can safely update to a new patch version w ### Enable debug logging -More logs can give you a clue about the reason for an issue. Enable them in config: +More logs can give you a clue about the reason for an issue. Enable debug logging in config: ```yaml [dipdup.yaml] logging: DEBUG ``` +Or using env variable: + +```shell [Terminal] +export DIPDUP_DEBUG=1 +``` + ## Installation ## Config @@ -78,17 +84,11 @@ dipdup -c . -c configs/dipdup.sqlite.yaml config env Exceptions that occurred during callback execution are reraised as `CallbackError`s. If you experience this issue, most likely your code is incorrect. Luckily, the Python ecosystem has lots of tools called linters to help you find mistakes. Default DipDup project template includes black, ruff and mypy to check your code for errors and type mismatches. You can run them with the following commands: ```shell [Terminal] -# PDM -pdm format -pdm lint - -# Manually -black . -ruff --fix . -mypy . +make format +make lint ``` -See the `pyproject.toml` file in your project root for more details. +See the `Makefile` file in your project root for more details. ### Inspect the package structure diff --git a/docs/15.glossary.md b/docs/15.glossary.md index 950b8750f..2ff016fb6 100644 --- a/docs/15.glossary.md +++ b/docs/15.glossary.md @@ -46,6 +46,8 @@ A tool for defining and managing multi-container Docker applications, using a YA ### environment variables +Variables used to define the environment in which a program runs, providing a way to configure settings, paths, and other system-specific information. Could be set with `export KEY=VALUE` in the terminal or defined in `.env` file. + ### GraphQL A query language and runtime for APIs that enables clients to request only the data they need, offering more flexibility and efficiency compared to traditional REST APIs. @@ -72,8 +74,14 @@ A program that reads data from a blockchain and stores it in a database for quic ### job +A scheduled task that runs at specific intervals or times. + ### JSONSchema +A a vocabulary that allows for the definition of the structure and validation of JSON data. + +DipDup uses JSONSchema to validate the configuration file and generate types for the project. + ### level In DipDup, [block number](#block-number). @@ -100,6 +108,8 @@ RPC stands for Remote Procedure Call. A protocol used to communicate with Tezos ### schema +Database schema, a collection of tables and their relationships that define the structure of a database. + ### SDK A toolkit for developing smart contract indexing applications. diff --git a/docs/9.release-notes/1.v8.2.md b/docs/9.release-notes/1.v8.2.md index 456147598..36e7048b0 100644 --- a/docs/9.release-notes/1.v8.2.md +++ b/docs/9.release-notes/1.v8.2.md @@ -7,7 +7,14 @@ description: DipDup 8.2 release notes # Release Notes: 8.2 -Today we are glad to present you DipDup 8.2. This release is all about one thing: indexing Substrate networks. +Today we are glad to present you DipDup 8.2. This release contains the following improvements: + +- New: indexing events on Substrate networks +- Starknet improvements +- `uv` support +- Various bug fixes and improvements + +## Indexing Substrate events If you're new to DipDup and want action, follow the [Substrate Quickstart Guide](../0.quickstart-substrate.md)! @@ -15,7 +22,23 @@ If you're familiar with DipDup, the process is very similar to indexing EVM and We support three sources of Substrate data. Squid Network provides all kinds of historical data in a very efficient format. For the blocks yet to be processed by Squid Network you can use Substrate node RPC. Indexing with node RPC is much slower, but allows to process blocks as soon as they are announced. Finally, an optional Subscan API connector is used to speed up the project initialization. -This release is a pretty big milestone for us, but we decided to make it a minor one, since we follow the semantic versioning, and 8.2 doesn't introduce any changes that break backward compatibility. So, you can extend your existing projects with Substrate data right after the update. A if you're still on 7.x branch, it's a pretty good time for us to remind you to upgrade! :) +This release is a pretty big milestone for us, but we decided to make it a minor one, since we follow the semantic versioning, and 8.2 doesn't introduce any changes that break backward compatibility. So, you can extend your existing projects with Substrate data right after the update. + +## Starknet improvements + +We continue to improve our Starknet support. In this release, it's now possible to fetch the contract ABIs from the Starknet node instead of putting them into the project manually (you must have `starknet.node` datasource configured). Also, all complex Starknet types are parsed correctly now. + +## `uv` support + +Starting from this release, DipDup defaults to using [`uv`](https://github.com/astral-sh/uv) for new projects, a powerful and [extremely fast](https://lincolnloop.github.io/python-package-manager-shootout/) package manager for Python. + +In the future we plan to also use `uv` as a `pipx` replacement for standalone installations (installer script and `dipdup self` commands). + +## 7.5 branch EOL + +The previous major DipDup release, 7.5, has reached its end of life. We recommend upgrading to the latest version to get the latest features and bug fixes. + +We aim to support only the latest major version in the future, as maintaining multiple release branches appeared to be a significant overhead. Instead, changes that break backward compatibility will be rolled out gradually and could be enabled with `DIPDUP_NEXT` env variable. {{ #include 9.release-notes/_8.2_changelog.md }} {{ #include 9.release-notes/_footer.md }} diff --git a/src/dipdup/cli.py b/src/dipdup/cli.py index d0906c24c..6eccc226a 100644 --- a/src/dipdup/cli.py +++ b/src/dipdup/cli.py @@ -143,12 +143,13 @@ def _print() -> None: if isinstance(error, Error): echo(error.help(), err=True) else: - # NOTE: check the traceback to find out if it's from a callback + # NOTE: Check the traceback to find out if exception is from a callback tb = traceback.extract_tb(error.__traceback__) for frame in tb: if frame.name == 'fire_handler': modules = tuple(f.filename for f in tb if '/handlers/' in f.filename or '/hooks/' in f.filename) - echo(CallbackError(module=Path(modules[-1]).stem, exc=error).help(), err=True) + module = '.'.join(Path(f).stem for f in modules) + echo(CallbackError(module=module, exc=error).help(), err=True) break else: echo(Error.default_help(), err=True) diff --git a/src/dipdup/config/__init__.py b/src/dipdup/config/__init__.py index 614cca75c..a0cb103c9 100644 --- a/src/dipdup/config/__init__.py +++ b/src/dipdup/config/__init__.py @@ -1118,7 +1118,7 @@ def _set_names(self) -> None: for name, config in named_configs.items(): config._name = name if name in names: - _logger.warning('Alias `%s` used multiple times') + _logger.warning('Alias `%s` used multiple times', name) else: names.add(name) From 1f336548cf8ff02ece9dedeb508545c369d976c7 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 07:58:05 -0300 Subject: [PATCH 3/9] changelog, proofreading --- CHANGELOG.md | 4 +++- docs/9.release-notes/1.v8.2.md | 33 +++++++++++++++----------- docs/9.release-notes/_8.2_changelog.md | 2 ++ 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64321d07a..8e4b01189 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.2.0] - ????-??-?? +## [8.2.0] - 2025-02-10 ### Added @@ -15,6 +15,8 @@ Releases prior to 7.0 has been removed from this file to declutter search result ### Fixed - cli: Fixed help message on `CallbackError` reporting `batch` handler instead of actual one. +- starknet: Process all data types correctly. +- starknet.node: Fetch missing block timestamp and txn id when synching with node. - substrate.subsquid: Fixed parsing nested structures in response. - substrate.subsquid: Fixed parsing for `__kind` junctions with multiple keys. diff --git a/docs/9.release-notes/1.v8.2.md b/docs/9.release-notes/1.v8.2.md index 36e7048b0..8b8bee710 100644 --- a/docs/9.release-notes/1.v8.2.md +++ b/docs/9.release-notes/1.v8.2.md @@ -7,38 +7,43 @@ description: DipDup 8.2 release notes # Release Notes: 8.2 -Today we are glad to present you DipDup 8.2. This release contains the following improvements: +We're excited to present DipDup 8.2! This release brings several notable improvements: -- New: indexing events on Substrate networks -- Starknet improvements -- `uv` support -- Various bug fixes and improvements +- New: Substrate network event indexing +- Starknet enhancements +- `uv` package manager support +- Various bug fixes + +While this release marks a significant milestone for us, we've kept it as a minor version since it maintains full backward compatibility. You can start working with Substrate data in your existing projects right after updating. ## Indexing Substrate events -If you're new to DipDup and want action, follow the [Substrate Quickstart Guide](../0.quickstart-substrate.md)! +New to DipDup and ready to dive in? Check out our [Substrate Quickstart Guide](../0.quickstart-substrate.md)! -If you're familiar with DipDup, the process is very similar to indexing EVM and Starknet networks. Run the `dipdup new` command to initialize the project interactively, update the with your URLs/variables/addresses (in this case, pallets) to index, run `dipdup init`, and you're good to go. +If you're familiar with DipDup, the process will feel familiar - it's similar to working with EVM and Starknet networks. Just run `dipdup new` for interactive project setup, configure your URLs/variables/addresses (pallets in this case), execute `dipdup init`, and you're all set. -We support three sources of Substrate data. Squid Network provides all kinds of historical data in a very efficient format. For the blocks yet to be processed by Squid Network you can use Substrate node RPC. Indexing with node RPC is much slower, but allows to process blocks as soon as they are announced. Finally, an optional Subscan API connector is used to speed up the project initialization. +We now support three Substrate data sources: -This release is a pretty big milestone for us, but we decided to make it a minor one, since we follow the semantic versioning, and 8.2 doesn't introduce any changes that break backward compatibility. So, you can extend your existing projects with Substrate data right after the update. +- **Squid Network** (formerly Subsquid) delivers compressed historical data (fast, but with a delay) +- **Substrate node RPC** handles the latest and real-time blocks (slower but immediate) +- Optional **Subscan API** connector speeds up project initialization ## Starknet improvements -We continue to improve our Starknet support. In this release, it's now possible to fetch the contract ABIs from the Starknet node instead of putting them into the project manually (you must have `starknet.node` datasource configured). Also, all complex Starknet types are parsed correctly now. +Our Starknet support keeps getting better. Now you can fetch contract ABIs directly from the Starknet node instead of putting them into the project manually (requires `starknet.node` datasource configured). Plus, all complex Starknet types now parsed correctly. ## `uv` support -Starting from this release, DipDup defaults to using [`uv`](https://github.com/astral-sh/uv) for new projects, a powerful and [extremely fast](https://lincolnloop.github.io/python-package-manager-shootout/) package manager for Python. +Starting thom this release, DipDup defaults to [`uv`](https://github.com/astral-sh/uv) for new projects, a powerful and [extremely fast](https://lincolnloop.github.io/python-package-manager-shootout/) package manager for Python. -In the future we plan to also use `uv` as a `pipx` replacement for standalone installations (installer script and `dipdup self` commands). +We're also planning to adopt `uv` as `pipx` replacement for standalone installations (installer script and `dipdup self` commands). ## 7.5 branch EOL -The previous major DipDup release, 7.5, has reached its end of life. We recommend upgrading to the latest version to get the latest features and bug fixes. +DipDup 7.5, our previous major release, has reached end-of-life. We recommend upgrading to the latest version to access new features and bug fixes. + +Going forward, we'll focus on supporting only the latest major version to reduce maintenance overhead. Any breaking changes will be introduced gradually and can be enabled using the `DIPDUP_NEXT` environment variable. -We aim to support only the latest major version in the future, as maintaining multiple release branches appeared to be a significant overhead. Instead, changes that break backward compatibility will be rolled out gradually and could be enabled with `DIPDUP_NEXT` env variable. {{ #include 9.release-notes/_8.2_changelog.md }} {{ #include 9.release-notes/_footer.md }} diff --git a/docs/9.release-notes/_8.2_changelog.md b/docs/9.release-notes/_8.2_changelog.md index 768ce0f8c..fa1ece0a8 100644 --- a/docs/9.release-notes/_8.2_changelog.md +++ b/docs/9.release-notes/_8.2_changelog.md @@ -15,6 +15,8 @@ - cli: Fixed help message on `CallbackError` reporting `batch` handler instead of actual one. - database: Don't process internal models twice if imported from the project. - evm.subsquid: Fixed event/transaction model deserialization. +- starknet: Process all data types correctly. +- starknet.node: Fetch missing block timestamp and txn id when synching with node. - substrate.subsquid: Fixed parsing for `__kind` junctions with multiple keys. - substrate.subsquid: Fixed parsing nested structures in response. From 37b359b699c0c8a93e9c02454f84220fa5b53bff Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 08:09:13 -0300 Subject: [PATCH 4/9] skip parisnet test --- src/dipdup/datasources/starknet_node.py | 18 +++++++++--------- src/dipdup/indexes/starknet_events/fetcher.py | 1 - tests/test_demos.py | 5 +++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/dipdup/datasources/starknet_node.py b/src/dipdup/datasources/starknet_node.py index 5d675eb77..22bb74436 100644 --- a/src/dipdup/datasources/starknet_node.py +++ b/src/dipdup/datasources/starknet_node.py @@ -21,8 +21,6 @@ class StarknetNodeDatasource(IndexDatasource[StarknetNodeDatasourceConfig]): NODE_LAST_MILE = 128 - - _default_http_config = HttpConfig( batch_size=1000, ) @@ -80,21 +78,23 @@ async def get_events( chunk_size=self._http_config.batch_size, continuation_token=continuation_token, ) - - async def get_events_data_caching(self, block_hash: int, transaction_hash: int, cached_items_size: int) -> tuple[int | None, int | None]: - + + async def get_events_data_caching( + self, block_hash: int, transaction_hash: int, cached_items_size: int + ) -> tuple[int | None, int | None]: + block = self._block_data_cache.get(block_hash, None) - + if not block: block = await self.get_block(block_hash) - + if not block: return None, None self._block_data_cache[block_hash] = block - + transaction_idx = None - + for idx, transaction in enumerate(block.transactions): if transaction.hash == transaction_hash: transaction_idx = idx diff --git a/src/dipdup/indexes/starknet_events/fetcher.py b/src/dipdup/indexes/starknet_events/fetcher.py index f85b0f521..69b251796 100644 --- a/src/dipdup/indexes/starknet_events/fetcher.py +++ b/src/dipdup/indexes/starknet_events/fetcher.py @@ -75,7 +75,6 @@ async def fetch(self) -> None: # TODO(baitcode): shall I log that? continue - self._buffer[event.block_number].append( # type: ignore[index] StarknetEventData.from_starknetpy( event=event, diff --git a/tests/test_demos.py b/tests/test_demos.py index a92ce8f37..7b24cfc67 100644 --- a/tests/test_demos.py +++ b/tests/test_demos.py @@ -183,8 +183,9 @@ async def assert_run_dao() -> None: ('demo_tezos_dex.yml', 'demo_tezos_dex', 'init', None), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'run', assert_run_domains), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'init', None), - ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), - ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), + # FIXME: parisnet is dead + # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), + # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), ('demo_tezos_events.yml', 'demo_tezos_events', 'run', assert_run_events), ('demo_tezos_events.yml', 'demo_tezos_events', 'init', None), ('demo_tezos_factories.yml', 'demo_tezos_factories', 'run', assert_run_factories), From 7248a7b13f323b61918b4d100507398cc2b1699d Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 08:11:12 -0300 Subject: [PATCH 5/9] lock --- requirements.txt | 59 +++++++++---------- uv.lock | 147 +++++++++++++++++++---------------------------- 2 files changed, 87 insertions(+), 119 deletions(-) diff --git a/requirements.txt b/requirements.txt index 3a5c7a551..97acc296b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,26 +4,27 @@ aerich==0.8.1 \ --hash=sha256:1e95b1c04dfc0c634dd43b0123933038c820140e17a4b27885a63b7461eb0632 \ --hash=sha256:2743cf85bd9957ea173055dad07ee5a3219067e4f117d5402a44204c27e83c9f -aiohappyeyeballs==2.4.4 \ - --hash=sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745 \ - --hash=sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8 -aiohttp==3.11.11 \ - --hash=sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d \ - --hash=sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8 \ - --hash=sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2 \ - --hash=sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853 \ - --hash=sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c \ - --hash=sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c \ - --hash=sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e \ - --hash=sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600 \ - --hash=sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8 \ - --hash=sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab \ - --hash=sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e \ - --hash=sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a \ - --hash=sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da \ - --hash=sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231 \ - --hash=sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886 \ - --hash=sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e +aiohappyeyeballs==2.4.6 \ + --hash=sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1 \ + --hash=sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0 +aiohttp==3.11.12 \ + --hash=sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a \ + --hash=sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0 \ + --hash=sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802 \ + --hash=sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef \ + --hash=sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e \ + --hash=sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0 \ + --hash=sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1 \ + --hash=sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259 \ + --hash=sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0 \ + --hash=sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9 \ + --hash=sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9 \ + --hash=sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f \ + --hash=sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9 \ + --hash=sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df \ + --hash=sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c \ + --hash=sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d \ + --hash=sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250 aiolimiter==1.2.1 \ --hash=sha256:d3f249e9059a20badcb56b61601a83556133655c11d1eb3dd3e04ff069e5f3c7 \ --hash=sha256:e02a37ea1a855d9e832252a105420ad4d15011505512a1a1d814647451b5cca9 @@ -171,21 +172,15 @@ cytoolz==1.0.1 ; implementation_name == 'cpython' \ --hash=sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0 \ --hash=sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9 \ --hash=sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4 -datamodel-code-generator==0.26.5 \ - --hash=sha256:c4a94a7dbf7972129882732d9bcee44c9ae090f57c82edd58d237b9d48c40dd0 \ - --hash=sha256:e32f986b9914a2b45093947043aa0192d704650be93151f78acf5c95676601ce +datamodel-code-generator==0.27.2 \ + --hash=sha256:1a7655f5fd3a61329b57534904f5c40dd850850e420696fd946ec7a4f59c32b8 \ + --hash=sha256:efcbfbe6a1488d3411fc588b1ce1af5f854f5107810b1cc9026a6d6333a7c4d8 dictdiffer==0.9.0 \ --hash=sha256:17bacf5fbfe613ccf1b6d512bd766e6b21fb798822a133aa86098b8ac9997578 \ --hash=sha256:442bfc693cfcadaf46674575d2eba1c53b42f5e404218ca2c2ff549f2df56595 -dnspython==2.7.0 \ - --hash=sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86 \ - --hash=sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1 ecdsa==0.18.0 \ --hash=sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49 \ --hash=sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd -email-validator==2.2.0 \ - --hash=sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631 \ - --hash=sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7 eth-abi==5.2.0 \ --hash=sha256:178703fa98c07d8eecd5ae569e7e8d159e493ebb6eeb534a8fe973fbc4e40ef0 \ --hash=sha256:17abe47560ad753f18054f5b3089fcb588f3e3a092136a416b6c1502cb7e8877 @@ -243,9 +238,9 @@ inflect==5.6.2 \ iso8601==2.1.0 \ --hash=sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df \ --hash=sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242 -isort==5.13.2 \ - --hash=sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109 \ - --hash=sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6 +isort==6.0.0 \ + --hash=sha256:567954102bb47bb12e0fae62606570faacddd441e45683968c8d1734fb1af892 \ + --hash=sha256:75d9d8a1438a9432a7d7b54f2d3b45cad9a4a0fdba43617d9873379704a8bdf1 jinja2==3.1.5 \ --hash=sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb \ --hash=sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb diff --git a/uv.lock b/uv.lock index c9490371f..922958893 100644 --- a/uv.lock +++ b/uv.lock @@ -18,16 +18,16 @@ wheels = [ [[package]] name = "aiohappyeyeballs" -version = "2.4.4" +version = "2.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7f/55/e4373e888fdacb15563ef6fa9fa8c8252476ea071e96fb46defac9f18bf2/aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745", size = 21977 } +sdist = { url = "https://files.pythonhosted.org/packages/08/07/508f9ebba367fc3370162e53a3cfd12f5652ad79f0e0bfdf9f9847c6f159/aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0", size = 21726 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8", size = 14756 }, + { url = "https://files.pythonhosted.org/packages/44/4c/03fb05f56551828ec67ceb3665e5dc51638042d204983a03b0a1541475b6/aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1", size = 14543 }, ] [[package]] name = "aiohttp" -version = "3.11.11" +version = "3.11.12" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohappyeyeballs" }, @@ -38,23 +38,24 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/ed/f26db39d29cd3cb2f5a3374304c713fe5ab5a0e4c8ee25a0c45cc6adf844/aiohttp-3.11.11.tar.gz", hash = "sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e", size = 7669618 } +sdist = { url = "https://files.pythonhosted.org/packages/37/4b/952d49c73084fb790cb5c6ead50848c8e96b4980ad806cf4d2ad341eaa03/aiohttp-3.11.12.tar.gz", hash = "sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0", size = 7673175 } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/cf/4bda538c502f9738d6b95ada11603c05ec260807246e15e869fc3ec5de97/aiohttp-3.11.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886", size = 704666 }, - { url = "https://files.pythonhosted.org/packages/46/7b/87fcef2cad2fad420ca77bef981e815df6904047d0a1bd6aeded1b0d1d66/aiohttp-3.11.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2", size = 464057 }, - { url = "https://files.pythonhosted.org/packages/5a/a6/789e1f17a1b6f4a38939fbc39d29e1d960d5f89f73d0629a939410171bc0/aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c", size = 455996 }, - { url = "https://files.pythonhosted.org/packages/b7/dd/485061fbfef33165ce7320db36e530cd7116ee1098e9c3774d15a732b3fd/aiohttp-3.11.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a", size = 1682367 }, - { url = "https://files.pythonhosted.org/packages/e9/d7/9ec5b3ea9ae215c311d88b2093e8da17e67b8856673e4166c994e117ee3e/aiohttp-3.11.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231", size = 1736989 }, - { url = "https://files.pythonhosted.org/packages/d6/fb/ea94927f7bfe1d86178c9d3e0a8c54f651a0a655214cce930b3c679b8f64/aiohttp-3.11.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e", size = 1793265 }, - { url = "https://files.pythonhosted.org/packages/40/7f/6de218084f9b653026bd7063cd8045123a7ba90c25176465f266976d8c82/aiohttp-3.11.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8", size = 1691841 }, - { url = "https://files.pythonhosted.org/packages/77/e2/992f43d87831cbddb6b09c57ab55499332f60ad6fdbf438ff4419c2925fc/aiohttp-3.11.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8", size = 1619317 }, - { url = "https://files.pythonhosted.org/packages/96/74/879b23cdd816db4133325a201287c95bef4ce669acde37f8f1b8669e1755/aiohttp-3.11.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c", size = 1641416 }, - { url = "https://files.pythonhosted.org/packages/30/98/b123f6b15d87c54e58fd7ae3558ff594f898d7f30a90899718f3215ad328/aiohttp-3.11.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab", size = 1646514 }, - { url = "https://files.pythonhosted.org/packages/d7/38/257fda3dc99d6978ab943141d5165ec74fd4b4164baa15e9c66fa21da86b/aiohttp-3.11.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da", size = 1702095 }, - { url = "https://files.pythonhosted.org/packages/0c/f4/ddab089053f9fb96654df5505c0a69bde093214b3c3454f6bfdb1845f558/aiohttp-3.11.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853", size = 1734611 }, - { url = "https://files.pythonhosted.org/packages/c3/d6/f30b2bc520c38c8aa4657ed953186e535ae84abe55c08d0f70acd72ff577/aiohttp-3.11.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e", size = 1694576 }, - { url = "https://files.pythonhosted.org/packages/bc/97/b0a88c3f4c6d0020b34045ee6d954058abc870814f6e310c4c9b74254116/aiohttp-3.11.11-cp312-cp312-win32.whl", hash = "sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600", size = 411363 }, - { url = "https://files.pythonhosted.org/packages/7f/23/cc36d9c398980acaeeb443100f0216f50a7cfe20c67a9fd0a2f1a5a846de/aiohttp-3.11.11-cp312-cp312-win_amd64.whl", hash = "sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d", size = 437666 }, + { url = "https://files.pythonhosted.org/packages/4d/d0/94346961acb476569fca9a644cc6f9a02f97ef75961a6b8d2b35279b8d1f/aiohttp-3.11.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250", size = 704837 }, + { url = "https://files.pythonhosted.org/packages/a9/af/05c503f1cc8f97621f199ef4b8db65fb88b8bc74a26ab2adb74789507ad3/aiohttp-3.11.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1", size = 464218 }, + { url = "https://files.pythonhosted.org/packages/f2/48/b9949eb645b9bd699153a2ec48751b985e352ab3fed9d98c8115de305508/aiohttp-3.11.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c", size = 456166 }, + { url = "https://files.pythonhosted.org/packages/14/fb/980981807baecb6f54bdd38beb1bd271d9a3a786e19a978871584d026dcf/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df", size = 1682528 }, + { url = "https://files.pythonhosted.org/packages/90/cb/77b1445e0a716914e6197b0698b7a3640590da6c692437920c586764d05b/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259", size = 1737154 }, + { url = "https://files.pythonhosted.org/packages/ff/24/d6fb1f4cede9ccbe98e4def6f3ed1e1efcb658871bbf29f4863ec646bf38/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d", size = 1793435 }, + { url = "https://files.pythonhosted.org/packages/17/e2/9f744cee0861af673dc271a3351f59ebd5415928e20080ab85be25641471/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e", size = 1692010 }, + { url = "https://files.pythonhosted.org/packages/90/c4/4a1235c1df544223eb57ba553ce03bc706bdd065e53918767f7fa1ff99e0/aiohttp-3.11.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0", size = 1619481 }, + { url = "https://files.pythonhosted.org/packages/60/70/cf12d402a94a33abda86dd136eb749b14c8eb9fec1e16adc310e25b20033/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0", size = 1641578 }, + { url = "https://files.pythonhosted.org/packages/1b/25/7211973fda1f5e833fcfd98ccb7f9ce4fbfc0074e3e70c0157a751d00db8/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9", size = 1684463 }, + { url = "https://files.pythonhosted.org/packages/93/60/b5905b4d0693f6018b26afa9f2221fefc0dcbd3773fe2dff1a20fb5727f1/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f", size = 1646691 }, + { url = "https://files.pythonhosted.org/packages/b4/fc/ba1b14d6fdcd38df0b7c04640794b3683e949ea10937c8a58c14d697e93f/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9", size = 1702269 }, + { url = "https://files.pythonhosted.org/packages/5e/39/18c13c6f658b2ba9cc1e0c6fb2d02f98fd653ad2addcdf938193d51a9c53/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef", size = 1734782 }, + { url = "https://files.pythonhosted.org/packages/9f/d2/ccc190023020e342419b265861877cd8ffb75bec37b7ddd8521dd2c6deb8/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9", size = 1694740 }, + { url = "https://files.pythonhosted.org/packages/3f/54/186805bcada64ea90ea909311ffedcd74369bfc6e880d39d2473314daa36/aiohttp-3.11.12-cp312-cp312-win32.whl", hash = "sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a", size = 411530 }, + { url = "https://files.pythonhosted.org/packages/3d/63/5eca549d34d141bcd9de50d4e59b913f3641559460c739d5e215693cb54a/aiohttp-3.11.12-cp312-cp312-win_amd64.whl", hash = "sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802", size = 437860 }, ] [[package]] @@ -375,20 +376,19 @@ wheels = [ [[package]] name = "coverage" -version = "7.6.10" +version = "7.6.11" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/84/ba/ac14d281f80aab516275012e8875991bb06203957aa1e19950139238d658/coverage-7.6.10.tar.gz", hash = "sha256:7fb105327c8f8f0682e29843e2ff96af9dcbe5bab8eeb4b398c6a33a16d80a23", size = 803868 } +sdist = { url = "https://files.pythonhosted.org/packages/89/4e/38141d42af7452f4b7c5d3d7442a8018de34754ef52eb9a400768bc8d59e/coverage-7.6.11.tar.gz", hash = "sha256:e642e6a46a04e992ebfdabed79e46f478ec60e2c528e1e1a074d63800eda4286", size = 805460 } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/77/19d09ea06f92fdf0487499283b1b7af06bc422ea94534c8fe3a4cd023641/coverage-7.6.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27c6e64726b307782fa5cbe531e7647aee385a29b2107cd87ba7c0105a5d3853", size = 208281 }, - { url = "https://files.pythonhosted.org/packages/b6/67/5479b9f2f99fcfb49c0d5cf61912a5255ef80b6e80a3cddba39c38146cf4/coverage-7.6.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c56e097019e72c373bae32d946ecf9858fda841e48d82df7e81c63ac25554078", size = 208514 }, - { url = "https://files.pythonhosted.org/packages/15/d1/febf59030ce1c83b7331c3546d7317e5120c5966471727aa7ac157729c4b/coverage-7.6.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7827a5bc7bdb197b9e066cdf650b2887597ad124dd99777332776f7b7c7d0d0", size = 241537 }, - { url = "https://files.pythonhosted.org/packages/4b/7e/5ac4c90192130e7cf8b63153fe620c8bfd9068f89a6d9b5f26f1550f7a26/coverage-7.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:204a8238afe787323a8b47d8be4df89772d5c1e4651b9ffa808552bdf20e1d50", size = 238572 }, - { url = "https://files.pythonhosted.org/packages/dc/03/0334a79b26ecf59958f2fe9dd1f5ab3e2f88db876f5071933de39af09647/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", size = 240639 }, - { url = "https://files.pythonhosted.org/packages/d7/45/8a707f23c202208d7b286d78ad6233f50dcf929319b664b6cc18a03c1aae/coverage-7.6.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e78b270eadb5702938c3dbe9367f878249b5ef9a2fcc5360ac7bff694310d17b", size = 240072 }, - { url = "https://files.pythonhosted.org/packages/66/02/603ce0ac2d02bc7b393279ef618940b4a0535b0868ee791140bda9ecfa40/coverage-7.6.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:714f942b9c15c3a7a5fe6876ce30af831c2ad4ce902410b7466b662358c852c0", size = 238386 }, - { url = "https://files.pythonhosted.org/packages/04/62/4e6887e9be060f5d18f1dd58c2838b2d9646faf353232dec4e2d4b1c8644/coverage-7.6.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:abb02e2f5a3187b2ac4cd46b8ced85a0858230b577ccb2c62c81482ca7d18852", size = 240054 }, - { url = "https://files.pythonhosted.org/packages/5c/74/83ae4151c170d8bd071924f212add22a0e62a7fe2b149edf016aeecad17c/coverage-7.6.10-cp312-cp312-win32.whl", hash = "sha256:55b201b97286cf61f5e76063f9e2a1d8d2972fc2fcfd2c1272530172fd28c359", size = 210904 }, - { url = "https://files.pythonhosted.org/packages/c3/54/de0893186a221478f5880283119fc40483bc460b27c4c71d1b8bba3474b9/coverage-7.6.10-cp312-cp312-win_amd64.whl", hash = "sha256:e4ae5ac5e0d1e4edfc9b4b57b4cbecd5bc266a6915c500f358817a8496739247", size = 211692 }, + { url = "https://files.pythonhosted.org/packages/65/83/cf3d6ac06bd02e1fb7fc6609d7a3be799328a94938dd2a64cf091989b8ce/coverage-7.6.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dbb1a822fd858d9853333a7c95d4e70dde9a79e65893138ce32c2ec6457d7a36", size = 208543 }, + { url = "https://files.pythonhosted.org/packages/e7/e1/b1448995072ab033898758179e208afa924f4625ea4524ec868fafbae77d/coverage-7.6.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61c834cbb80946d6ebfddd9b393a4c46bec92fcc0fa069321fcb8049117f76ea", size = 208805 }, + { url = "https://files.pythonhosted.org/packages/80/22/11ae7726086bf16ad35ecd1ebf31c0c709647b2618977bc088003bd38808/coverage-7.6.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a46d56e99a31d858d6912d31ffa4ede6a325c86af13139539beefca10a1234ce", size = 239768 }, + { url = "https://files.pythonhosted.org/packages/7d/68/717286bda6530f39f3ac16899dac1855a71921aca5ee565484269326c979/coverage-7.6.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b48db06f53d1864fea6dbd855e6d51d41c0f06c212c3004511c0bdc6847b297", size = 242023 }, + { url = "https://files.pythonhosted.org/packages/93/57/4b028c7c882411d9ca3f12cd4223ceeb5cb39f84bb91c4fb21a06440cbd9/coverage-7.6.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6ff5be3b1853e0862da9d349fe87f869f68e63a25f7c37ce1130b321140f963", size = 239610 }, + { url = "https://files.pythonhosted.org/packages/44/88/720c9eba316406f243670237306bcdb8e269e4d0e12b191a697f66369404/coverage-7.6.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be05bde21d5e6eefbc3a6de6b9bee2b47894b8945342e8663192809c4d1f08ce", size = 241212 }, + { url = "https://files.pythonhosted.org/packages/1d/ae/a09edf77bd535d597de13679262845f5cb6ff1fab37a3065640fb3d5e6e8/coverage-7.6.11-cp312-cp312-win32.whl", hash = "sha256:e3b746fa0ffc5b6b8856529de487da8b9aeb4fb394bb58de6502ef45f3434f12", size = 211186 }, + { url = "https://files.pythonhosted.org/packages/80/5d/63ad5e3f1421504194da0228d259a3913884830999d1297b5e16b59bcb0f/coverage-7.6.11-cp312-cp312-win_amd64.whl", hash = "sha256:ac476e6d0128fb7919b3fae726de72b28b5c9644cb4b579e4a523d693187c551", size = 211974 }, + { url = "https://files.pythonhosted.org/packages/24/f3/63cd48409a519d4f6cf79abc6c89103a8eabc5c93e496f40779269dba0c0/coverage-7.6.11-py3-none-any.whl", hash = "sha256:f0f334ae844675420164175bf32b04e18a81fe57ad8eb7e0cfd4689d681ffed7", size = 200446 }, ] [[package]] @@ -444,7 +444,7 @@ wheels = [ [[package]] name = "datamodel-code-generator" -version = "0.26.5" +version = "0.27.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "argcomplete" }, @@ -454,12 +454,12 @@ dependencies = [ { name = "isort" }, { name = "jinja2" }, { name = "packaging" }, - { name = "pydantic", extra = ["email"] }, + { name = "pydantic" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/e4/53153452235a387112df40f67aaf24072d4b5e33aa7bb385004f4c4baf38/datamodel_code_generator-0.26.5.tar.gz", hash = "sha256:c4a94a7dbf7972129882732d9bcee44c9ae090f57c82edd58d237b9d48c40dd0", size = 92586 } +sdist = { url = "https://files.pythonhosted.org/packages/8c/49/9cb4f868856304dd4e2fc0795d848889a7c9c6f2539165ad24977cef0da3/datamodel_code_generator-0.27.2.tar.gz", hash = "sha256:1a7655f5fd3a61329b57534904f5c40dd850850e420696fd946ec7a4f59c32b8", size = 436345 } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/d8/ead3e857d4048947fe92a731d6b1f257dcb267cc8b8918d3b72598c9b728/datamodel_code_generator-0.26.5-py3-none-any.whl", hash = "sha256:e32f986b9914a2b45093947043aa0192d704650be93151f78acf5c95676601ce", size = 114982 }, + { url = "https://files.pythonhosted.org/packages/73/a0/678f10ecc40f1cce3c170246c3dd1b86735867d2844eb9f4596abf187dac/datamodel_code_generator-0.27.2-py3-none-any.whl", hash = "sha256:efcbfbe6a1488d3411fc588b1ce1af5f854f5107810b1cc9026a6d6333a7c4d8", size = 115483 }, ] [[package]] @@ -598,15 +598,6 @@ test = [ { name = "pytest-xdist" }, ] -[[package]] -name = "dnspython" -version = "2.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632 }, -] - [[package]] name = "docker" version = "7.1.0" @@ -642,19 +633,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/09/d4/4f05f5d16a4863b30ba96c23b23e942da8889abfa1cdbabf2a0df12a4532/ecdsa-0.18.0-py2.py3-none-any.whl", hash = "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd", size = 142915 }, ] -[[package]] -name = "email-validator" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dnspython" }, - { name = "idna" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521 }, -] - [[package]] name = "eth-abi" version = "5.2.0" @@ -871,11 +849,11 @@ wheels = [ [[package]] name = "isort" -version = "5.13.2" +version = "6.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/87/f9/c1eb8635a24e87ade2efce21e3ce8cd6b8630bb685ddc9cdaca1349b2eb5/isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", size = 175303 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/28/b382d1656ac0ee4cef4bf579b13f9c6c813bff8a5cb5996669592c8c75fa/isort-6.0.0.tar.gz", hash = "sha256:75d9d8a1438a9432a7d7b54f2d3b45cad9a4a0fdba43617d9873379704a8bdf1", size = 828356 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", size = 92310 }, + { url = "https://files.pythonhosted.org/packages/76/c7/d6017f09ae5b1206fbe531f7af3b6dac1f67aedcbd2e79f3b386c27955d6/isort-6.0.0-py3-none-any.whl", hash = "sha256:567954102bb47bb12e0fae62606570faacddd441e45683968c8d1734fb1af892", size = 94053 }, ] [[package]] @@ -1300,11 +1278,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696 }, ] -[package.optional-dependencies] -email = [ - { name = "email-validator" }, -] - [[package]] name = "pydantic-core" version = "2.27.2" @@ -1596,27 +1569,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.9.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c0/17/529e78f49fc6f8076f50d985edd9a2cf011d1dbadb1cdeacc1d12afc1d26/ruff-0.9.4.tar.gz", hash = "sha256:6907ee3529244bb0ed066683e075f09285b38dd5b4039370df6ff06041ca19e7", size = 3599458 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/f8/3fafb7804d82e0699a122101b5bee5f0d6e17c3a806dcbc527bb7d3f5b7a/ruff-0.9.4-py3-none-linux_armv6l.whl", hash = "sha256:64e73d25b954f71ff100bb70f39f1ee09e880728efb4250c632ceed4e4cdf706", size = 11668400 }, - { url = "https://files.pythonhosted.org/packages/2e/a6/2efa772d335da48a70ab2c6bb41a096c8517ca43c086ea672d51079e3d1f/ruff-0.9.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6ce6743ed64d9afab4fafeaea70d3631b4d4b28b592db21a5c2d1f0ef52934bf", size = 11628395 }, - { url = "https://files.pythonhosted.org/packages/dc/d7/cd822437561082f1c9d7225cc0d0fbb4bad117ad7ac3c41cd5d7f0fa948c/ruff-0.9.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:54499fb08408e32b57360f6f9de7157a5fec24ad79cb3f42ef2c3f3f728dfe2b", size = 11090052 }, - { url = "https://files.pythonhosted.org/packages/9e/67/3660d58e893d470abb9a13f679223368ff1684a4ef40f254a0157f51b448/ruff-0.9.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37c892540108314a6f01f105040b5106aeb829fa5fb0561d2dcaf71485021137", size = 11882221 }, - { url = "https://files.pythonhosted.org/packages/79/d1/757559995c8ba5f14dfec4459ef2dd3fcea82ac43bc4e7c7bf47484180c0/ruff-0.9.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de9edf2ce4b9ddf43fd93e20ef635a900e25f622f87ed6e3047a664d0e8f810e", size = 11424862 }, - { url = "https://files.pythonhosted.org/packages/c0/96/7915a7c6877bb734caa6a2af424045baf6419f685632469643dbd8eb2958/ruff-0.9.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87c90c32357c74f11deb7fbb065126d91771b207bf9bfaaee01277ca59b574ec", size = 12626735 }, - { url = "https://files.pythonhosted.org/packages/0e/cc/dadb9b35473d7cb17c7ffe4737b4377aeec519a446ee8514123ff4a26091/ruff-0.9.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:56acd6c694da3695a7461cc55775f3a409c3815ac467279dfa126061d84b314b", size = 13255976 }, - { url = "https://files.pythonhosted.org/packages/5f/c3/ad2dd59d3cabbc12df308cced780f9c14367f0321e7800ca0fe52849da4c/ruff-0.9.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0c93e7d47ed951b9394cf352d6695b31498e68fd5782d6cbc282425655f687a", size = 12752262 }, - { url = "https://files.pythonhosted.org/packages/c7/17/5f1971e54bd71604da6788efd84d66d789362b1105e17e5ccc53bba0289b/ruff-0.9.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d4c8772670aecf037d1bf7a07c39106574d143b26cfe5ed1787d2f31e800214", size = 14401648 }, - { url = "https://files.pythonhosted.org/packages/30/24/6200b13ea611b83260501b6955b764bb320e23b2b75884c60ee7d3f0b68e/ruff-0.9.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfc5f1d7afeda8d5d37660eeca6d389b142d7f2b5a1ab659d9214ebd0e025231", size = 12414702 }, - { url = "https://files.pythonhosted.org/packages/34/cb/f5d50d0c4ecdcc7670e348bd0b11878154bc4617f3fdd1e8ad5297c0d0ba/ruff-0.9.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faa935fc00ae854d8b638c16a5f1ce881bc3f67446957dd6f2af440a5fc8526b", size = 11859608 }, - { url = "https://files.pythonhosted.org/packages/d6/f4/9c8499ae8426da48363bbb78d081b817b0f64a9305f9b7f87eab2a8fb2c1/ruff-0.9.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a6c634fc6f5a0ceae1ab3e13c58183978185d131a29c425e4eaa9f40afe1e6d6", size = 11485702 }, - { url = "https://files.pythonhosted.org/packages/18/59/30490e483e804ccaa8147dd78c52e44ff96e1c30b5a95d69a63163cdb15b/ruff-0.9.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:433dedf6ddfdec7f1ac7575ec1eb9844fa60c4c8c2f8887a070672b8d353d34c", size = 12067782 }, - { url = "https://files.pythonhosted.org/packages/3d/8c/893fa9551760b2f8eb2a351b603e96f15af167ceaf27e27ad873570bc04c/ruff-0.9.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d612dbd0f3a919a8cc1d12037168bfa536862066808960e0cc901404b77968f0", size = 12483087 }, - { url = "https://files.pythonhosted.org/packages/23/15/f6751c07c21ca10e3f4a51ea495ca975ad936d780c347d9808bcedbd7182/ruff-0.9.4-py3-none-win32.whl", hash = "sha256:db1192ddda2200671f9ef61d9597fcef89d934f5d1705e571a93a67fb13a4402", size = 9852302 }, - { url = "https://files.pythonhosted.org/packages/12/41/2d2d2c6a72e62566f730e49254f602dfed23019c33b5b21ea8f8917315a1/ruff-0.9.4-py3-none-win_amd64.whl", hash = "sha256:05bebf4cdbe3ef75430d26c375773978950bbf4ee3c95ccb5448940dc092408e", size = 10850051 }, - { url = "https://files.pythonhosted.org/packages/c6/e6/3d6ec3bc3d254e7f005c543a661a41c3e788976d0e52a1ada195bd664344/ruff-0.9.4-py3-none-win_arm64.whl", hash = "sha256:585792f1e81509e38ac5123492f8875fbc36f3ede8185af0a26df348e5154f41", size = 10078251 }, +version = "0.9.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/74/6c359f6b9ed85b88df6ef31febce18faeb852f6c9855651dfb1184a46845/ruff-0.9.5.tar.gz", hash = "sha256:11aecd7a633932875ab3cb05a484c99970b9d52606ce9ea912b690b02653d56c", size = 3634177 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/4b/82b7c9ac874e72b82b19fd7eab57d122e2df44d2478d90825854f9232d02/ruff-0.9.5-py3-none-linux_armv6l.whl", hash = "sha256:d466d2abc05f39018d53f681fa1c0ffe9570e6d73cde1b65d23bb557c846f442", size = 11681264 }, + { url = "https://files.pythonhosted.org/packages/27/5c/f5ae0a9564e04108c132e1139d60491c0abc621397fe79a50b3dc0bd704b/ruff-0.9.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38840dbcef63948657fa7605ca363194d2fe8c26ce8f9ae12eee7f098c85ac8a", size = 11657554 }, + { url = "https://files.pythonhosted.org/packages/2a/83/c6926fa3ccb97cdb3c438bb56a490b395770c750bf59f9bc1fe57ae88264/ruff-0.9.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d56ba06da53536b575fbd2b56517f6f95774ff7be0f62c80b9e67430391eeb36", size = 11088959 }, + { url = "https://files.pythonhosted.org/packages/af/a7/42d1832b752fe969ffdbfcb1b4cb477cb271bed5835110fb0a16ef31ab81/ruff-0.9.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7cb2a01da08244c50b20ccfaeb5972e4228c3c3a1989d3ece2bc4b1f996001", size = 11902041 }, + { url = "https://files.pythonhosted.org/packages/53/cf/1fffa09fb518d646f560ccfba59f91b23c731e461d6a4dedd21a393a1ff1/ruff-0.9.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:96d5c76358419bc63a671caac70c18732d4fd0341646ecd01641ddda5c39ca0b", size = 11421069 }, + { url = "https://files.pythonhosted.org/packages/09/27/bb8f1b7304e2a9431f631ae7eadc35550fe0cf620a2a6a0fc4aa3d736f94/ruff-0.9.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:deb8304636ed394211f3a6d46c0e7d9535b016f53adaa8340139859b2359a070", size = 12625095 }, + { url = "https://files.pythonhosted.org/packages/d7/ce/ab00bc9d3df35a5f1b64f5117458160a009f93ae5caf65894ebb63a1842d/ruff-0.9.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df455000bf59e62b3e8c7ba5ed88a4a2bc64896f900f311dc23ff2dc38156440", size = 13257797 }, + { url = "https://files.pythonhosted.org/packages/88/81/c639a082ae6d8392bc52256058ec60f493c6a4d06d5505bccface3767e61/ruff-0.9.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de92170dfa50c32a2b8206a647949590e752aca8100a0f6b8cefa02ae29dce80", size = 12763793 }, + { url = "https://files.pythonhosted.org/packages/b3/d0/0a3d8f56d1e49af466dc770eeec5c125977ba9479af92e484b5b0251ce9c/ruff-0.9.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d28532d73b1f3f627ba88e1456f50748b37f3a345d2be76e4c653bec6c3e393", size = 14386234 }, + { url = "https://files.pythonhosted.org/packages/04/70/e59c192a3ad476355e7f45fb3a87326f5219cc7c472e6b040c6c6595c8f0/ruff-0.9.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c746d7d1df64f31d90503ece5cc34d7007c06751a7a3bbeee10e5f2463d52d2", size = 12437505 }, + { url = "https://files.pythonhosted.org/packages/55/4e/3abba60a259d79c391713e7a6ccabf7e2c96e5e0a19100bc4204f1a43a51/ruff-0.9.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:11417521d6f2d121fda376f0d2169fb529976c544d653d1d6044f4c5562516ee", size = 11884799 }, + { url = "https://files.pythonhosted.org/packages/a3/db/b0183a01a9f25b4efcae919c18fb41d32f985676c917008620ad692b9d5f/ruff-0.9.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b9d71c3879eb32de700f2f6fac3d46566f644a91d3130119a6378f9312a38e1", size = 11527411 }, + { url = "https://files.pythonhosted.org/packages/0a/e4/3ebfcebca3dff1559a74c6becff76e0b64689cea02b7aab15b8b32ea245d/ruff-0.9.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2e36c61145e70febcb78483903c43444c6b9d40f6d2f800b5552fec6e4a7bb9a", size = 12078868 }, + { url = "https://files.pythonhosted.org/packages/ec/b2/5ab808833e06c0a1b0d046a51c06ec5687b73c78b116e8d77687dc0cd515/ruff-0.9.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2f71d09aeba026c922aa7aa19a08d7bd27c867aedb2f74285a2639644c1c12f5", size = 12524374 }, + { url = "https://files.pythonhosted.org/packages/e0/51/1432afcc3b7aa6586c480142caae5323d59750925c3559688f2a9867343f/ruff-0.9.5-py3-none-win32.whl", hash = "sha256:134f958d52aa6fdec3b294b8ebe2320a950d10c041473c4316d2e7d7c2544723", size = 9853682 }, + { url = "https://files.pythonhosted.org/packages/b7/ad/c7a900591bd152bb47fc4882a27654ea55c7973e6d5d6396298ad3fd6638/ruff-0.9.5-py3-none-win_amd64.whl", hash = "sha256:78cc6067f6d80b6745b67498fb84e87d32c6fc34992b52bffefbdae3442967d6", size = 10865744 }, + { url = "https://files.pythonhosted.org/packages/75/d9/fde7610abd53c0c76b6af72fc679cb377b27c617ba704e25da834e0a0608/ruff-0.9.5-py3-none-win_arm64.whl", hash = "sha256:18a29f1a005bddb229e580795627d297dfa99f16b30c7039e73278cf6b5f9fa9", size = 10064595 }, ] [[package]] From a07928d4327a921ecc59eb2e549ab77e2e598676 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 08:20:36 -0300 Subject: [PATCH 6/9] codestyle --- src/dipdup/datasources/starknet_node.py | 10 +++++++--- src/dipdup/indexes/starknet_events/fetcher.py | 10 ++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/dipdup/datasources/starknet_node.py b/src/dipdup/datasources/starknet_node.py index 22bb74436..2cddbb80a 100644 --- a/src/dipdup/datasources/starknet_node.py +++ b/src/dipdup/datasources/starknet_node.py @@ -17,6 +17,8 @@ from starknet_py.net.client_models import PendingStarknetBlock from starknet_py.net.client_models import StarknetBlock +BLOCK_CACHE_SIZE = 10 + class StarknetNodeDatasource(IndexDatasource[StarknetNodeDatasourceConfig]): NODE_LAST_MILE = 128 @@ -79,8 +81,10 @@ async def get_events( continuation_token=continuation_token, ) - async def get_events_data_caching( - self, block_hash: int, transaction_hash: int, cached_items_size: int + async def get_block_metadata( + self, + block_hash: int, + transaction_hash: int, ) -> tuple[int | None, int | None]: block = self._block_data_cache.get(block_hash, None) @@ -100,7 +104,7 @@ async def get_events_data_caching( transaction_idx = idx break - while len(self._block_data_cache) > cached_items_size: + while len(self._block_data_cache) > BLOCK_CACHE_SIZE: self._block_data_cache.popitem(last=False) return transaction_idx, block.timestamp diff --git a/src/dipdup/indexes/starknet_events/fetcher.py b/src/dipdup/indexes/starknet_events/fetcher.py index 69b251796..30299dfe3 100644 --- a/src/dipdup/indexes/starknet_events/fetcher.py +++ b/src/dipdup/indexes/starknet_events/fetcher.py @@ -61,18 +61,16 @@ async def fetch(self) -> None: ) for event in events_chunk.events: - if not event.block_hash or not event.transaction_hash: - # TODO(baitcode): shall I log that? + # NOTE: Very old events may not have block_hash or transaction_hash + if event.block_hash is None or event.transaction_hash is None: continue - transaction_idx, timestamp = await self._datasources[0].get_events_data_caching( + transaction_idx, timestamp = await self._datasources[0].get_block_metadata( block_hash=event.block_hash, transaction_hash=event.transaction_hash, - cached_items_size=10, ) - if not transaction_idx or not timestamp: - # TODO(baitcode): shall I log that? + if transaction_idx is None or timestamp is None: continue self._buffer[event.block_number].append( # type: ignore[index] From c481d302cd592b3fa2f7c0e712f66cfdd79eb2a1 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Mon, 10 Feb 2025 10:36:51 -0300 Subject: [PATCH 7/9] codestyle in starknet_node --- src/dipdup/datasources/starknet_node.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/dipdup/datasources/starknet_node.py b/src/dipdup/datasources/starknet_node.py index 2cddbb80a..a6438ae0c 100644 --- a/src/dipdup/datasources/starknet_node.py +++ b/src/dipdup/datasources/starknet_node.py @@ -1,8 +1,9 @@ import asyncio -from collections import OrderedDict from typing import TYPE_CHECKING from typing import Union +from lru import LRU + from dipdup.config import HttpConfig from dipdup.config.starknet_node import StarknetNodeDatasourceConfig from dipdup.datasources import AbiJson @@ -30,7 +31,7 @@ class StarknetNodeDatasource(IndexDatasource[StarknetNodeDatasourceConfig]): def __init__(self, config: StarknetNodeDatasourceConfig, merge_subscriptions: bool = False) -> None: super().__init__(config, merge_subscriptions) self._starknetpy: StarknetpyClient | None = None - self._block_data_cache = OrderedDict[int, Union['StarknetBlock', 'PendingStarknetBlock']]() + self._block_cache: LRU[int, StarknetBlock | PendingStarknetBlock] = LRU(BLOCK_CACHE_SIZE) @property def starknetpy(self) -> 'StarknetpyClient': @@ -87,7 +88,7 @@ async def get_block_metadata( transaction_hash: int, ) -> tuple[int | None, int | None]: - block = self._block_data_cache.get(block_hash, None) + block = self._block_cache.get(block_hash, None) if not block: block = await self.get_block(block_hash) @@ -95,7 +96,7 @@ async def get_block_metadata( if not block: return None, None - self._block_data_cache[block_hash] = block + self._block_cache[block_hash] = block transaction_idx = None @@ -104,13 +105,15 @@ async def get_block_metadata( transaction_idx = idx break - while len(self._block_data_cache) > BLOCK_CACHE_SIZE: - self._block_data_cache.popitem(last=False) - return transaction_idx, block.timestamp async def get_block(self, block_hash: int) -> Union['StarknetBlock', 'PendingStarknetBlock']: - return await self.starknetpy.get_block(block_hash=block_hash) + if block := self._block_cache.get(block_hash, None): + return block + + block = await self.starknetpy.get_block(block_hash=block_hash) + self._block_cache[block_hash] = block + return block async def get_abi(self, address: str) -> AbiJson: from starknet_py.net.client_models import DeprecatedContractClass From 5f4e57a253b833b860fb4a807cd22a2362cb0dd0 Mon Sep 17 00:00:00 2001 From: Igor Sereda Date: Mon, 10 Feb 2025 22:50:13 +0300 Subject: [PATCH 8/9] Return etherlink test using mainnet --- .../handlers/on_deposit.py | 16 +++++++- src/demo_tezos_etherlink/models/__init__.py | 40 ++----------------- tests/configs/demo_tezos_etherlink.yaml | 12 +++--- tests/test_demos.py | 18 +++++++-- 4 files changed, 39 insertions(+), 47 deletions(-) diff --git a/src/demo_tezos_etherlink/handlers/on_deposit.py b/src/demo_tezos_etherlink/handlers/on_deposit.py index aaa3ad833..53083732f 100644 --- a/src/demo_tezos_etherlink/handlers/on_deposit.py +++ b/src/demo_tezos_etherlink/handlers/on_deposit.py @@ -1,10 +1,13 @@ -from demo_tezos_etherlink import models as models +from demo_tezos_etherlink.models import Deposit from demo_tezos_etherlink.types.rollup.tezos_parameters.default import DefaultParameter as RollupDefaultParameter from demo_tezos_etherlink.types.rollup.tezos_storage import RollupStorage from demo_tezos_etherlink.types.ticket_helper.tezos_parameters.default import DefaultParameter from demo_tezos_etherlink.types.ticket_helper.tezos_storage import TicketHelperStorage from demo_tezos_etherlink.types.ticketer.tezos_parameters.deposit import DepositParameter +from demo_tezos_etherlink.types.ticketer.tezos_storage import Fa2 from demo_tezos_etherlink.types.ticketer.tezos_storage import TicketerStorage +from demo_tezos_etherlink.types.ticketer.tezos_storage import Token +from demo_tezos_etherlink.types.ticketer.tezos_storage import Token1 from dipdup.context import HandlerContext from dipdup.models.tezos import TezosTransaction @@ -14,4 +17,13 @@ async def on_deposit( deposit: TezosTransaction[DepositParameter, TicketerStorage], default: TezosTransaction[DefaultParameter, TicketHelperStorage], rollup_default: TezosTransaction[RollupDefaultParameter, RollupStorage], -) -> None: ... +) -> None: + match deposit.storage.token: + case Token(fa12=str(address)): + pass + case Token1(fa2=Fa2(address=str(address), nat='0')): + pass + case _: + raise ValueError + + await Deposit.create(level=deposit.data.level, token=address, amount=default.parameter.amount) diff --git a/src/demo_tezos_etherlink/models/__init__.py b/src/demo_tezos_etherlink/models/__init__.py index 66ff2bbef..9964b40d7 100644 --- a/src/demo_tezos_etherlink/models/__init__.py +++ b/src/demo_tezos_etherlink/models/__init__.py @@ -1,41 +1,9 @@ -import enum - from dipdup import fields from dipdup.models import Model -class ExampleModel(Model): +class Deposit(Model): id = fields.IntField(primary_key=True) - array = fields.ArrayField() - big_int = fields.BigIntField() - binary = fields.BinaryField() - boolean = fields.BooleanField() - decimal = fields.DecimalField(10, 2) - date = fields.DateField() - datetime = fields.DatetimeField() - enum_ = fields.EnumField(enum.Enum) - float = fields.FloatField() - int_enum = fields.IntEnumField(enum.IntEnum) - int_ = fields.IntField() - json = fields.JSONField() - small_int = fields.SmallIntField() - text = fields.TextField() - time_delta = fields.TimeDeltaField() - time = fields.TimeField() - uuid = fields.UUIDField() - - relation: fields.ForeignKeyField['ExampleModel'] = fields.ForeignKeyField( - 'models.ExampleModel', related_name='reverse_relation' - ) - m2m_relation: fields.ManyToManyField['ExampleModel'] = fields.ManyToManyField( - 'models.ExampleModel', related_name='reverse_m2m_relation' - ) - - created_at = fields.DatetimeField(auto_now_add=True) - updated_at = fields.DatetimeField(auto_now=True) - - relation_id: int - m2m_relation_ids: list[int] - - class Meta: - abstract = True + level = fields.IntField() + token = fields.CharField(max_length=36) + amount = fields.IntField() diff --git a/tests/configs/demo_tezos_etherlink.yaml b/tests/configs/demo_tezos_etherlink.yaml index 4f474dfe3..8f87da052 100644 --- a/tests/configs/demo_tezos_etherlink.yaml +++ b/tests/configs/demo_tezos_etherlink.yaml @@ -4,20 +4,20 @@ package: demo_tezos_etherlink datasources: tzkt: kind: tezos.tzkt - url: ${TZKT_URL:-https://api.parisnet.tzkt.io} + url: ${TZKT_URL:-https://api.tzkt.io} contracts: ticketer: kind: tezos - address: KT1AAi4DCQiTUv5MYoXtdiFwUrPH3t3Yhkjo + address: KT1UzfUMQDiEv7w6RQnnvt412qFXZmgjrLpd typename: ticketer ticket_helper: kind: tezos - address: KT1FcXb4oFBWtUVbEa96Do4DfQZXn6878yu1 + address: KT1JJsiwXgGVhomcUQsPQYdALkRRqakvK3XC typename: ticket_helper rollup: kind: tezos - address: sr1GBHEgzZmpWH4URqshZEZFCxBpqzi6ahvL + address: sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf typename: rollup indexes: @@ -55,5 +55,5 @@ indexes: - type: transaction source: ticketer entrypoint: transfer - first_level: 2838138 - last_level: 2838138 \ No newline at end of file + first_level: 7001300 + last_level: 7056600 diff --git a/tests/test_demos.py b/tests/test_demos.py index 7b24cfc67..e89152b2e 100644 --- a/tests/test_demos.py +++ b/tests/test_demos.py @@ -6,7 +6,9 @@ from functools import partial import pytest +from tortoise.functions import Sum +import demo_tezos_etherlink.models from dipdup.database import tortoise_wrapper from dipdup.models.tezos import TezosOperationType from dipdup.test import run_in_tmp @@ -172,6 +174,17 @@ async def assert_run_dao() -> None: assert votes == 1 +async def assert_run_etherlink() -> None: + query_set = demo_tezos_etherlink.models.Deposit.all() + deposits: int = await query_set.count() + tokens: list[str] = await query_set.distinct().values_list('token', flat=True) # type: ignore + volume: int = await query_set.annotate(volume=Sum('amount')).first().values_list('volume', flat=True) # type: ignore + + assert deposits == 3 + assert tokens == ['KT1MZg99PxMDEENwB4Fi64xkqAVh5d1rv8Z9'] + assert volume == 15005 + + test_args = ('config', 'package', 'cmd', 'assert_fn') test_params = ( # NOTE: Tezos @@ -183,9 +196,8 @@ async def assert_run_dao() -> None: ('demo_tezos_dex.yml', 'demo_tezos_dex', 'init', None), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'run', assert_run_domains), ('demo_tezos_domains.yml', 'demo_tezos_domains', 'init', None), - # FIXME: parisnet is dead - # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), - # ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), + ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'run', None), + ('demo_tezos_etherlink.yml', 'demo_tezos_etherlink', 'init', None), ('demo_tezos_events.yml', 'demo_tezos_events', 'run', assert_run_events), ('demo_tezos_events.yml', 'demo_tezos_events', 'init', None), ('demo_tezos_factories.yml', 'demo_tezos_factories', 'run', assert_run_factories), From 35e65b41285122e75f1f2f1fe1c2899d19a3ecd4 Mon Sep 17 00:00:00 2001 From: Ilia Batii Date: Mon, 10 Feb 2025 20:37:57 +0000 Subject: [PATCH 9/9] [Hotfix] for node event (#1214) --- src/dipdup/datasources/starknet_node.py | 35 +++---------------- src/dipdup/indexes/starknet_events/fetcher.py | 25 ++++++++++--- 2 files changed, 25 insertions(+), 35 deletions(-) diff --git a/src/dipdup/datasources/starknet_node.py b/src/dipdup/datasources/starknet_node.py index a6438ae0c..f05d53108 100644 --- a/src/dipdup/datasources/starknet_node.py +++ b/src/dipdup/datasources/starknet_node.py @@ -15,8 +15,8 @@ from starknet_py.abi.v1.shape import AbiDictList as AbiDictListV1 from starknet_py.abi.v2.shape import AbiDictList as AbiDictListV2 from starknet_py.net.client_models import EventsChunk - from starknet_py.net.client_models import PendingStarknetBlock - from starknet_py.net.client_models import StarknetBlock + from starknet_py.net.client_models import PendingStarknetBlockWithTxHashes + from starknet_py.net.client_models import StarknetBlockWithTxHashes BLOCK_CACHE_SIZE = 10 @@ -31,7 +31,7 @@ class StarknetNodeDatasource(IndexDatasource[StarknetNodeDatasourceConfig]): def __init__(self, config: StarknetNodeDatasourceConfig, merge_subscriptions: bool = False) -> None: super().__init__(config, merge_subscriptions) self._starknetpy: StarknetpyClient | None = None - self._block_cache: LRU[int, StarknetBlock | PendingStarknetBlock] = LRU(BLOCK_CACHE_SIZE) + self._block_cache: LRU[int, StarknetBlockWithTxHashes | PendingStarknetBlockWithTxHashes] = LRU(BLOCK_CACHE_SIZE) @property def starknetpy(self) -> 'StarknetpyClient': @@ -82,36 +82,11 @@ async def get_events( continuation_token=continuation_token, ) - async def get_block_metadata( - self, - block_hash: int, - transaction_hash: int, - ) -> tuple[int | None, int | None]: - - block = self._block_cache.get(block_hash, None) - - if not block: - block = await self.get_block(block_hash) - - if not block: - return None, None - - self._block_cache[block_hash] = block - - transaction_idx = None - - for idx, transaction in enumerate(block.transactions): - if transaction.hash == transaction_hash: - transaction_idx = idx - break - - return transaction_idx, block.timestamp - - async def get_block(self, block_hash: int) -> Union['StarknetBlock', 'PendingStarknetBlock']: + async def get_block_with_tx_hashes(self, block_hash: int) -> Union['StarknetBlockWithTxHashes', 'PendingStarknetBlockWithTxHashes']: if block := self._block_cache.get(block_hash, None): return block - block = await self.starknetpy.get_block(block_hash=block_hash) + block = await self.starknetpy.get_block_with_tx_hashes(block_hash=block_hash) self._block_cache[block_hash] = block return block diff --git a/src/dipdup/indexes/starknet_events/fetcher.py b/src/dipdup/indexes/starknet_events/fetcher.py index 30299dfe3..ddc7e432b 100644 --- a/src/dipdup/indexes/starknet_events/fetcher.py +++ b/src/dipdup/indexes/starknet_events/fetcher.py @@ -1,3 +1,4 @@ +import logging import random from collections.abc import AsyncIterator from typing import Any @@ -11,6 +12,8 @@ from dipdup.models.starknet import StarknetEventData from dipdup.models.starknet_subsquid import EventRequest +_logger = logging.getLogger(__name__) + class StarknetSubsquidEventFetcher(StarknetSubsquidFetcher[StarknetEventData]): def __init__( @@ -52,7 +55,10 @@ class EventFetcherChannel(FetcherChannel[StarknetEventData, StarknetNodeDatasour async def fetch(self) -> None: address, key0s = next(iter(self._filter)) - events_chunk = await self._datasources[0].get_events( + + datasource = self._datasources[0] + + events_chunk = await datasource.get_events( address=address, keys=[list(key0s), [], []], first_level=self._first_level, @@ -61,16 +67,25 @@ async def fetch(self) -> None: ) for event in events_chunk.events: - # NOTE: Very old events may not have block_hash or transaction_hash + # NOTE: if event.block_hash is None or event.transaction_hash is None: + _logger.info("Skipping event. No block_hash or transaction_hash found in %s", event) continue - transaction_idx, timestamp = await self._datasources[0].get_block_metadata( + block = await datasource.get_block_with_tx_hashes( block_hash=event.block_hash, - transaction_hash=event.transaction_hash, ) - if transaction_idx is None or timestamp is None: + if block is None: + _logger.info("Skipping event. No block exists for block_hash. BlackHash=%s", event.block_hash) + continue + + timestamp = block.timestamp + transaction_idx = block.transactions.index(event.transaction_hash) + + # NOTE: This event is corrupt, possibly due to old age. + if transaction_idx < 0: + _logger.info("Skipping event. No transaction_hash exists in block. TxHash=%s", event.transaction_hash) continue self._buffer[event.block_number].append( # type: ignore[index]