Skip to content

Commit

Permalink
spec_version 2.1 draft (#978)
Browse files Browse the repository at this point in the history
  • Loading branch information
droserasprout committed Apr 10, 2024
1 parent 38333ba commit 454cd30
Show file tree
Hide file tree
Showing 287 changed files with 3,641 additions and 2,583 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ lint: ## Lint with all tools
make ruff mypy

test: ## Run tests
pytest --cov-report=term-missing --cov=dipdup --cov-report=xml -n auto -s -v tests
COVERAGE_CORE=sysmon pytest --cov-report=term-missing --cov=dipdup --cov-report=xml -n auto -s -v tests

##

Expand Down
4 changes: 2 additions & 2 deletions docs/1.getting-started/8.handlers.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ The callback stub will look like the following:
```python
async def on_transaction(
ctx: HandlerContext,
foo: TzktTransaction[FooParameter, ContractStorage],
bar: TzktTransaction[BarParameter, ContractStorage],
foo: TezosTzktTransaction[FooParameter, ContractStorage],
bar: TezosTzktTransaction[BarParameter, ContractStorage],
) -> None:
...
```
Expand Down
2 changes: 1 addition & 1 deletion docs/2.indexes/2.evm_subsquid_transactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ Transactions can be filtered by one or more of the following fields:

## Typed and untyped arguments

You will get slightly different callback argument types depending on whether the pattern item is typed or not. If both "to" and "method" filters are specified, DipDup will generate a typeclass for particular input from contract ABI. Otherwise, you will have to handle untyped input data stored in `SubsquidTransactionData` and `EvmNodeTransactionData` models.
You will get slightly different callback argument types depending on whether the pattern item is typed or not. If both "to" and "method" filters are specified, DipDup will generate a typeclass for particular input from contract ABI. Otherwise, you will have to handle untyped input data stored in `EvmSubsquidTransactionData` and `EvmNodeTransactionData` models.

{{ #include 2.indexes/_evm_subsquid.md }}
2 changes: 1 addition & 1 deletion docs/3.datasources/5.http.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ response = await api.request(
All DipDup datasources are inherited from `http`, so you can send arbitrary requests with any datasource. Let's say you want to fetch the protocol of the chain you're currently indexing (`tezos.tzkt` datasource doesn't have a separate method for it):

```python
tzkt = ctx.get_tzkt_datasource('tzkt_mainnet')
tzkt = ctx.get_tezos_tzkt_datasource('tzkt_mainnet')
protocol_json = await tzkt.request(
method='get',
url='v1/protocols/current',
Expand Down
4 changes: 2 additions & 2 deletions docs/6.deployment/6.backups.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ async def run_backups(
if database_config.kind != "postgres":
return

level = ctx.get_tzkt_datasource("tzkt_mainnet")._level.get(TzktMessageType.head)
level = ctx.get_tezos_tzkt_datasource("tzkt_mainnet")._level.get(TzktMessageType.head)

if level is None:
return
Expand All @@ -168,7 +168,7 @@ async def run_backups(
async def simulate_reorg(
ctx: HookContext
) -> None:
level = ctx.get_tzkt_datasource("tzkt_mainnet")._level.get(TzktMessageType.head)
level = ctx.get_tezos_tzkt_datasource("tzkt_mainnet")._level.get(TzktMessageType.head)

if level:
await ctx.fire_hook(
Expand Down
364 changes: 137 additions & 227 deletions docs/7.references/2.config.md

Large diffs are not rendered by default.

58 changes: 53 additions & 5 deletions docs/7.references/3.context.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ description: "Context reference"
<li><p><strong>values</strong> (<em>dict</em><em>[</em><em>str</em><em>, </em><em>Any</em><em>]</em>) – Mapping of values to fill template with</p></li>
<li><p><strong>first_level</strong> (<em>int</em>) – First level to start indexing from</p></li>
<li><p><strong>last_level</strong> (<em>int</em>) – Last level to index</p></li>
<li><p><strong>state</strong> (<em>Index</em><em> | </em><em>None</em>) – Initial index state (dev only)</p></li>
<li><p><strong>state</strong> (<a class="reference internal" href="models#dipdupmodelsindex" title="dipdup.models.Index" target="_self"><em>Index</em></a><em> | </em><em>None</em>) – Initial index state (dev only)</p></li>
</ul>
</dd>
<dt class="field-even" style="color: var(--txt-primary);">Return type<span class="colon">:</span></dt>
Expand Down Expand Up @@ -175,6 +175,22 @@ description: "Context reference"

<dl class="py method">

## dipdup.context.DipDupContext.get_abi_etherscan_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_abi_etherscan_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
<dd><p>Get <cite>abi.etherscan</cite> datasource by name</p>
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) – Name of the datasource</p>
</dd>
<dt class="field-even" style="color: var(--txt-primary);">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><em>AbiEtherscanDatasource</em></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">

## dipdup.context.DipDupContext.get_coinbase_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_coinbase_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
Expand All @@ -191,6 +207,38 @@ description: "Context reference"

<dl class="py method">

## dipdup.context.DipDupContext.get_evm_node_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_evm_node_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
<dd><p>Get <cite>evm.node</cite> datasource by name or by linked <cite>evm.subsquid</cite> datasource name</p>
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) – </p>
</dd>
<dt class="field-even" style="color: var(--txt-primary);">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><em>EvmNodeDatasource</em></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">

## dipdup.context.DipDupContext.get_evm_subsquid_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_evm_subsquid_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
<dd><p>Get <cite>evm.subsquid</cite> datasource by name</p>
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) – </p>
</dd>
<dt class="field-even" style="color: var(--txt-primary);">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><em>EvmSubsquidDatasource</em></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">

## dipdup.context.DipDupContext.get_http_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_http_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
Expand Down Expand Up @@ -239,16 +287,16 @@ description: "Context reference"

<dl class="py method">

## dipdup.context.DipDupContext.get_tzkt_datasource
## dipdup.context.DipDupContext.get_tezos_tzkt_datasource

<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_tzkt_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
<span class="sig-prename descclassname"><span class="pre">DipDupContext.</span></span><span class="sig-name descname"><span class="pre">get_tezos_tzkt_datasource</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span></dt>
<dd><p>Get <cite>tezos.tzkt</cite> datasource by name</p>
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) – </p>
</dd>
<dt class="field-even" style="color: var(--txt-primary);">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><em>TzktDatasource</em></p>
<dd class="field-even"><p><em>TezosTzktDatasource</em></p>
</dd>
</dl>
</dd></dl>
Expand All @@ -262,7 +310,7 @@ description: "Context reference"
<dl class="field-list simple">
<dt class="field-odd" style="color: var(--txt-primary);">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>reason</strong> (<em>str</em><em> | </em><a class="reference internal" href="config#dipdupmodelsreindexingreason" title="dipdup.models.ReindexingReason" target="_self"><em>ReindexingReason</em></a><em> | </em><em>None</em>) – Reason for reindexing in free-form string</p></li>
<li><p><strong>reason</strong> (<em>str</em><em> | </em><a class="reference internal" href="models#dipdupmodelsreindexingreason" title="dipdup.models.ReindexingReason" target="_self"><em>ReindexingReason</em></a><em> | </em><em>None</em>) – Reason for reindexing in free-form string</p></li>
<li><p><strong>context</strong> (<em>Any</em>) – Additional information to include in exception message</p></li>
</ul>
</dd>
Expand Down
Loading

0 comments on commit 454cd30

Please sign in to comment.