Skip to content
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
9 changes: 9 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"inputs": [],
"servers": {
"dipdup-sse": {
"type": "sse",
"url": "http://127.0.0.1:9999/sse"
}
}
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"yaml.schemas": {
"schemas/dipdup-3.0.json": [
"**/dipdup*.y[a]ml",
"tests/configs/*.yml"
"tests/configs/*.y[a]ml"
],
},
"files.associations": {
Expand Down
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

## [Unreleased]
## [8.3.2] - 2025-04-17

### Added

Expand All @@ -17,6 +17,7 @@ Releases prior to 7.0 has been removed from this file to declutter search result
### Fixed

- cli: Fixed `new` command using incorrect template.
- mcp: Fixed handling exceptions in MCP tools.

### Changed

Expand Down Expand Up @@ -696,7 +697,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.3.1...HEAD
[Unreleased]: https://github.com/dipdup-io/dipdup/compare/8.3.2...HEAD
[8.3.2]: https://github.com/dipdup-io/dipdup/compare/8.3.0...8.3.1
[8.3.1]: https://github.com/dipdup-io/dipdup/compare/8.3.0...8.3.1
[8.3.0]: https://github.com/dipdup-io/dipdup/compare/8.2.2...8.3.0
[8.2.2]: https://github.com/dipdup-io/dipdup/compare/8.2.1...8.2.2
Expand Down
3 changes: 2 additions & 1 deletion docs/7.references/3.context.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ description: "Context reference"

## dipdup.context.McpContext

<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">dipdup.context.</span></span><span class="sig-name descname"><span class="pre">McpContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">config</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">package</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datasources</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transactions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">server</span></span></em><span class="sig-paren">)</span></dt>
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">dipdup.context.</span></span><span class="sig-name descname"><span class="pre">McpContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">config</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">package</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">datasources</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transactions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logger</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">server</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api</span></span></em><span class="sig-paren">)</span></dt>
<dd><p>Execution context of MCP tools, resources and prompts.</p>
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
Expand All @@ -80,6 +80,7 @@ description: "Context reference"
<li><p><strong>transactions</strong> (<em>TransactionManager</em>) – Transaction manager (low-level interface)</p></li>
<li><p><strong>logger</strong> (<em>Logger</em>) – Context-aware logger instance</p></li>
<li><p><strong>server</strong> (<em>McpServer</em><em>[</em><em>Any</em><em>]</em>) – Running MCP server instance</p></li>
<li><p><strong>api</strong> (<em>HttpDatasource</em>) – DipDup API datasource</p></li>
</ul>
</dd>
</dl>
Expand Down
38 changes: 19 additions & 19 deletions docs/8.examples/_demos_table.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
<!-- markdownlint-disable first-line-h1 -->
| name | network | description | source |
|-|-|-|-|
| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_blank) |
| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_evm_events) |
| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/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.3.1/src/demo_evm_uniswap) |
| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_starknet_events) |
| demo_substrate_events | Substrate | Substrate balance transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_substrate_events) |
| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_auction) |
| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_dao) |
| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_dex) |
| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_domains) |
| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_etherlink) |
| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_events) |
| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_factories) |
| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_head) |
| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/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.3.1/src/demo_tezos_raw) |
| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_token) |
| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_token_balances) |
| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.3.1/src/demo_tezos_token_transfers) |
| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_blank) |
| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_evm_events) |
| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/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.3.2/src/demo_evm_uniswap) |
| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_starknet_events) |
| demo_substrate_events | Substrate | Substrate balance transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_substrate_events) |
| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_auction) |
| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_dao) |
| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_dex) |
| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_domains) |
| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_etherlink) |
| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_events) |
| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_factories) |
| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_head) |
| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/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.3.2/src/demo_tezos_raw) |
| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_token) |
| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_token_balances) |
| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.3.2/src/demo_tezos_token_transfers) |
4 changes: 0 additions & 4 deletions docs/9.release-notes/_8.0_changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,13 @@
- cli: Added `--pre` flag to `self` group commands to install pre-release versions.
- cli: Added `--raw` option to `config export` command to dump config preserving the original structure.
- cli: Added `-C` option, a shorthand for `-c . -c configs/dipdup.<name>.yaml`.
- cli: Added `init --no-base` option to skip creating the base template.
- cli: Added `package verify` command to check the package consistency.
- cli: Added full project migration support for 3.0 spec.
- cli: Added spec_version 3.0 support to `migrate` command.
- config: Publish JSON schemas for config validation and autocompletion.
- database: Added `dipdup_status` view to the schema.
- env: Added `DIPDUP_JSON_LOG` environment variable to enable JSON logging.
- env: Added `DIPDUP_LOW_MEMORY` variable to reduce the size of caches and buffers.
- env: Added `DIPDUP_NO_BASE` environment variable to skip creating the base template.
- env: Added `DIPDUP_PACKAGE_PATH` environment variable to override discovered package path.
- package: Added built-in `batch` handler to modify higher-level indexing logic.
- starknet.events: Added `starknet.events` index kind to process Starknet events.
Expand All @@ -27,7 +25,6 @@
- cli: Don't save reports for successful test runs.
- cli: Don't update existing installation in `self install` command unless asked to.
- cli: Fixed `--pre` installer flag.
- cli: Fixed `new` command using incorrect template.
- cli: Fixed env files not being loaded in some commands.
- cli: Fixed errors raised when the project package is invalid.
- cli: Fixed progress estimation when there are indexes with `last_level` option set.
Expand Down Expand Up @@ -57,7 +54,6 @@
### Changed

- api: `/performance` endpoint response format has been changed.
- cli: `init --base` option is now enabled by default.
- config: Index configs accept `datasources` list instead of `datasource` field.
- config: Index kinds have been renamed and grouped by the network.
- config: Index template values now can be any JSON-serializable object.
Expand Down
6 changes: 6 additions & 0 deletions docs/9.release-notes/_8.3_changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,31 @@

### Added

- cli: Added `init --no-base` option to skip creating the base template.
- cli: Apply ruff linting and formating on init.
- config: Added `api_url` and `compatibility` fields to MCP config.
- env: Added `DIPDUP_NO_BASE` environment variable to skip creating the base template.
- mcp: Added Model Context Protocol (MCP) server implementation.
- mcp: Added `ctx.api` datasource and `ctx.call_api` helper to server context.
- mcp: Added built-in resources for accessing indexer configuration and metrics.
- mcp: Added support for exposing custom tools and resources via `@dipdup.mcp` decorators.

### Fixed

- api: Fixed configuring uvicorn logging.
- api: Strip secret fields from API responses.
- cli: Fixed `new` command using incorrect template.
- cli: Fixed logging indexer status.
- mcp: Expose resources as tools for clients that don't support MCP resources yet.
- mcp: Fixed handling exceptions in MCP tools.
- package: Create package marker even if helper symlink is present.
- project: Fixed built sdist/wheel artifacts which contained unrelated files.
- project: Fixed generation of compose manifest and configs for MCP environment.

### Changed

- api: Built-in management API is now using Starlette instead of plain aiohttp.
- cli: `init --base` option is now enabled by default.
- cli: `install.py` script and `dipdup self` commands use `uv tool` instead of `pipx`.
- cli: `new` command uses default values for some `replay.yaml` fields.
- project: Replace `black` with `ruff` as default formatter.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
name = "dipdup"
description = "Modular framework for creating selective indexers and featureful backends for dapps"
version = "8.3.1"
version = "8.3.2"
license = { text = "MIT" }
authors = [
{ name = "Lev Gorodetskii", email = "dipdup@drsr.io" },
Expand Down
Loading