Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump version 8.2.0 #1210

Merged
merged 10 commits into from
Feb 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
}
},
{
"name": "demo_substrate_events: run",
"name": "demo_evm_events: run",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -48,15 +48,15 @@
"run"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_substrate_events",
"cwd": "${workspaceFolder}/src/demo_evm_events",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_substrate_events: init",
"name": "demo_evm_events: init",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -66,15 +66,15 @@
"init"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_substrate_events",
"cwd": "${workspaceFolder}/src/demo_evm_events",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_events: run",
"name": "demo_evm_transactions: run",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -84,15 +84,15 @@
"run"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_events",
"cwd": "${workspaceFolder}/src/demo_evm_transactions",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_events: init",
"name": "demo_evm_transactions: init",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -102,15 +102,15 @@
"init"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_events",
"cwd": "${workspaceFolder}/src/demo_evm_transactions",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_transactions: run",
"name": "demo_evm_uniswap: run",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -120,15 +120,15 @@
"run"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_transactions",
"cwd": "${workspaceFolder}/src/demo_evm_uniswap",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_transactions: init",
"name": "demo_evm_uniswap: init",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -138,15 +138,15 @@
"init"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_transactions",
"cwd": "${workspaceFolder}/src/demo_evm_uniswap",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_uniswap: run",
"name": "demo_starknet_events: run",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -156,15 +156,15 @@
"run"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_uniswap",
"cwd": "${workspaceFolder}/src/demo_starknet_events",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_evm_uniswap: init",
"name": "demo_starknet_events: init",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -174,15 +174,15 @@
"init"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_evm_uniswap",
"cwd": "${workspaceFolder}/src/demo_starknet_events",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_starknet_events: run",
"name": "demo_substrate_events: run",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -192,15 +192,15 @@
"run"
],
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/demo_starknet_events",
"cwd": "${workspaceFolder}/src/demo_substrate_events",
"justMyCode": false,
"env": {
"DIPDUP_DEBUG": "1",
"DIPDUP_NO_SYMLINK": "1"
}
},
{
"name": "demo_starknet_events: init",
"name": "demo_substrate_events: init",
"type": "debugpy",
"request": "launch",
"module": "dipdup",
Expand All @@ -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",
Expand Down
12 changes: 9 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,17 @@ 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] - 2025-02-10

### Added

- starknet.node: Added methods for fetching contract ABIs for `init` command.

### 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.

Expand All @@ -26,7 +32,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

Expand Down Expand Up @@ -613,7 +618,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

<!-- Versions -->
[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
Expand Down
6 changes: 0 additions & 6 deletions docs/0.quickstart-substrate.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
3 changes: 3 additions & 0 deletions docs/1.getting-started/3.config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
45 changes: 44 additions & 1 deletion docs/1.getting-started/4.package.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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:
Expand Down
20 changes: 10 additions & 10 deletions docs/13.troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
10 changes: 10 additions & 0 deletions docs/15.glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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).
Expand All @@ -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.
Expand Down
Loading
Loading