diff --git a/CHANGELOG.md b/CHANGELOG.md
index 148bc0e57..61a7a3186 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.0rc1] - 2024-12-23
+## [8.2.0rc1] - 2025-01-14
### Added
diff --git a/docs/7.references/2.config.md b/docs/7.references/2.config.md
index 33e5ca222..e41959e14 100644
--- a/docs/7.references/2.config.md
+++ b/docs/7.references/2.config.md
@@ -38,6 +38,32 @@ description: "Config file reference"
+
+
+## dipdup.config.abi_etherscan.AbiEtherscanDatasourceConfig
+
+dipdup.config.abi_etherscan.AbiEtherscanDatasourceConfig
+alias of EvmEtherscanDatasourceConfig
+
+
+
+
+## dipdup.config.ContractConfig
+
+class dipdup.config.ContractConfig(**kwargs)
+Contract config
+
+- Parameters:
+-
+
+
+
+
## dipdup.config.AdvancedConfig
@@ -84,7 +110,7 @@ description: "Config file reference"
## dipdup.config.coinbase.CoinbaseDatasourceConfig
-class dipdup.config.coinbase.CoinbaseDatasourceConfig(**kwargs)
+class dipdup.config.coinbase.CoinbaseDatasourceConfig(*args)
Coinbase datasource config
- Parameters:
@@ -95,7 +121,6 @@ description: "Config file reference"
passphrase – API passphrase
http – HTTP client configuration
-kwargs (Any)
@@ -105,7 +130,7 @@ description: "Config file reference"
## dipdup.config.evm.EvmContractConfig
-class dipdup.config.evm.EvmContractConfig(**kwargs)
+class dipdup.config.evm.EvmContractConfig(*args)
EVM contract config
- Parameters:
@@ -115,7 +140,6 @@ description: "Config file reference"
abi – Contract ABI
typename – Alias for the contract script
-kwargs (Any)
@@ -125,7 +149,7 @@ description: "Config file reference"
## dipdup.config.evm_node.EvmNodeDatasourceConfig
-class dipdup.config.evm_node.EvmNodeDatasourceConfig(**kwargs)
+class dipdup.config.evm_node.EvmNodeDatasourceConfig(*args)
EVM node datasource config
- Parameters:
@@ -136,7 +160,6 @@ description: "Config file reference"
http – HTTP client configuration
rollback_depth – A number of blocks to store in database for rollback
-kwargs (Any)
@@ -146,7 +169,7 @@ description: "Config file reference"
## dipdup.config.evm_etherscan.EvmEtherscanDatasourceConfig
-class dipdup.config.evm_etherscan.EvmEtherscanDatasourceConfig(**kwargs)
+class dipdup.config.evm_etherscan.EvmEtherscanDatasourceConfig(*args)
Etherscan datasource config
- Parameters:
@@ -156,7 +179,6 @@ description: "Config file reference"
api_key – API key
http – HTTP client configuration
-kwargs (Any)
@@ -185,7 +207,7 @@ description: "Config file reference"
## dipdup.config.evm_events.EvmEventsIndexConfig
-class dipdup.config.evm_events.EvmEventsIndexConfig(**kwargs)
+class dipdup.config.evm_events.EvmEventsIndexConfig(*args)
Subsquid datasource config
- Parameters:
@@ -196,7 +218,6 @@ description: "Config file reference"
first_level – Level to start indexing from
last_level – Level to stop indexing and disable this index
-kwargs (Any)
@@ -206,7 +227,7 @@ description: "Config file reference"
## dipdup.config.evm_subsquid.EvmSubsquidDatasourceConfig
-class dipdup.config.evm_subsquid.EvmSubsquidDatasourceConfig(**kwargs)
+class dipdup.config.evm_subsquid.EvmSubsquidDatasourceConfig(*args)
Subsquid datasource config
- Parameters:
@@ -215,7 +236,6 @@ description: "Config file reference"
url – URL of Subsquid Network API
http – HTTP client configuration
-kwargs (Any)
@@ -246,7 +266,7 @@ description: "Config file reference"
## dipdup.config.evm_transactions.EvmTransactionsIndexConfig
-class dipdup.config.evm_transactions.EvmTransactionsIndexConfig(**kwargs)
+class dipdup.config.evm_transactions.EvmTransactionsIndexConfig(*args)
Index that uses Subsquid Network as a datasource for transactions
- Parameters:
@@ -257,7 +277,6 @@ description: "Config file reference"
first_level – Level to start indexing from
last_level – Level to stop indexing at
-kwargs (Any)
@@ -359,7 +378,7 @@ description: "Config file reference"
## dipdup.config.http.HttpDatasourceConfig
-class dipdup.config.http.HttpDatasourceConfig(**kwargs)
+class dipdup.config.http.HttpDatasourceConfig(*args)
Generic HTTP datasource config
- Parameters:
@@ -368,7 +387,6 @@ description: "Config file reference"
url – URL to fetch data from
http – HTTP client configuration
-kwargs (Any)
@@ -378,7 +396,7 @@ description: "Config file reference"
## dipdup.config.IndexConfig
-class dipdup.config.IndexConfig(**kwargs)
+class dipdup.config.IndexConfig(*args)
Index config
- Parameters:
@@ -386,7 +404,6 @@ description: "Config file reference"
kind – Defined by child class
datasources – Aliases of index datasources in datasources section
-kwargs (Any)
@@ -396,7 +413,7 @@ description: "Config file reference"
## dipdup.config.DatasourceConfig
-class dipdup.config.DatasourceConfig(**kwargs)
+class dipdup.config.DatasourceConfig(*args)
Base class for datasource configs
- Parameters:
@@ -405,7 +422,6 @@ description: "Config file reference"
url – URL of the API
http – HTTP connection tunables
-kwargs (Any)
diff --git a/requirements.txt b/requirements.txt
index 531878d8c..5f6d2a4a5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -57,7 +57,7 @@ mpmath==1.3.0
msgpack==1.1.0
multidict==6.1.0
mypy-extensions==1.0.0
-orjson==3.10.12
+orjson==3.10.14
packaging==24.2
parsimonious==0.10.0
pathspec==0.12.1
@@ -80,7 +80,7 @@ pyyaml==6.0.2
regex==2024.11.6
requests==2.32.3
rlp==4.0.1
-ruamel-yaml==0.18.6
+ruamel-yaml==0.18.10
ruamel-yaml-clib==0.2.12; platform_python_implementation == "CPython" and python_version < "3.13"
scalecodec==1.2.11
sentry-sdk==2.19.2
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 536d2bcde..9c6fc5927 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
@@ -3,14 +3,10 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
from pydantic import Field
class TransferPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
from_: str = Field(..., alias='from')
to: str
value: int
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 0c16d0206..670a2f69b 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
@@ -3,12 +3,8 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class TransferInput(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
to: str
value: int
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 954ebe533..d9237a540 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
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class PoolCreatedPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
token0: str
token1: str
fee: int
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 4b2529722..f545682a2 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/burn.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/burn.py
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class BurnPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
owner: str
tickLower: int
tickUpper: int
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 fe3f2f21d..0345e19de 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/collect.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/collect.py
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class CollectPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
owner: str
recipient: str
tickLower: int
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 52a9b7fcb..357481a62 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/flash.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/flash.py
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class FlashPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
sender: str
recipient: str
amount0: int
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 b2a29d098..6621e1dc8 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/initialize.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/initialize.py
@@ -3,12 +3,8 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class InitializePayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
sqrtPriceX96: int
tick: int
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 918dcfd15..caf73f44e 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/mint.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/mint.py
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class MintPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
sender: str
owner: str
tickLower: int
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 f4f77ee77..78cdb83b3 100644
--- a/src/demo_evm_uniswap/types/pool/evm_events/swap.py
+++ b/src/demo_evm_uniswap/types/pool/evm_events/swap.py
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class SwapPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
sender: str
recipient: str
amount0: int
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 8d5b206a8..0436995a9 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
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class CollectPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
tokenId: int
recipient: str
amount0: int
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 6537a51ef..68f1740fb 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
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class DecreaseLiquidityPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
tokenId: int
liquidity: int
amount0: int
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 5f2be1a35..1e1dd57db 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
@@ -3,13 +3,9 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
class IncreaseLiquidityPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
tokenId: int
liquidity: int
amount0: int
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 0053497da..d4883606c 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
@@ -3,14 +3,10 @@
from __future__ import annotations
from pydantic import BaseModel
-from pydantic import ConfigDict
from pydantic import Field
class TransferPayload(BaseModel):
- model_config = ConfigDict(
- extra='forbid',
- )
from_: str = Field(..., alias='from')
to: str
tokenId: int
diff --git a/src/demo_substrate_events/abi/assethub/v601.json b/src/demo_substrate_events/abi/assethub/v601.json
index a6cbce1b8..5c7b90a53 100644
--- a/src/demo_substrate_events/abi/assethub/v601.json
+++ b/src/demo_substrate_events/abi/assethub/v601.json
@@ -2474,8 +2474,7 @@
"Twox64Concat"
],
"key_vec": [
- "[U8; 4]",
- "Vec"
+ "Tuple:[U8; 4]Vec"
],
"value": "AccountId",
"keys_id": 178,
diff --git a/src/demo_substrate_events/abi/assethub/v700.json b/src/demo_substrate_events/abi/assethub/v700.json
index 375fb6e6b..b424b9d7c 100644
--- a/src/demo_substrate_events/abi/assethub/v700.json
+++ b/src/demo_substrate_events/abi/assethub/v700.json
@@ -2460,8 +2460,7 @@
"Twox64Concat"
],
"key_vec": [
- "[U8; 4]",
- "Vec"
+ "Tuple:[U8; 4]Vec"
],
"value": "AccountId",
"keys_id": 176,