Release Notes: 7.3

We're glad to announce DipDup 7.3! This release brings better support for Etherlink smart rollups and a bunch of minor improvements.

Indexing sr_execute operations on Tezos

We continue to improve support for Etherlink smart rollups introduced in 7.2. In case you've missed it, Etherlink is an EVM-compatible smart rollup on Tezos, which prioritizes fair ordering of transactions, low latency and security. They are WASM applications, providing versatility in what language you write them in.

Now you can index sr_execute operations with DipDup. This is a special operation created when rollup outbox messages are executed. You can filter them by sr1 source/destination address. demo_etherlink demo project was updated to reflect these changes. It's an indexer for a bridge contract having two handlers, for depositing tokens to the rollup address (L1 -> L2) and for withdrawing them (L2 -> L1).

dipdup.yaml
spec_version: 2.0
package: demo_etherlink

datasources:
  tzkt:
    kind: tezos.tzkt
    url: ${TZKT_URL:-https://api.nairobinet.tzkt.io}

contracts:
  ticketer:
    kind: tezos
    address: KT1PmYUomF3HDxsGWYQUCbLi2X8WvT7ZHv8o
    typename: ticketer
  ticket_helper:
    kind: tezos
    address: KT1TZg9EwGHKbfWvsHGsqBjm3J5NhJBtHPKX
    typename: ticket_helper
  rollup:
    kind: tezos
    address: sr1QgYF6ARMSLcWyAX4wFDrWFaZTyy4twbqe
    typename: rollup

indexes:
  rollup_operations:
    kind: tezos.tzkt.operations
    datasource: tzkt
    contracts:
      - ticketer
      - ticket_helper
      - rollup
    types:
      - transaction
      - sr_execute
    handlers:
      - callback: on_deposit
        pattern:
          - type: transaction
            destination: ticketer
            entrypoint: deposit
          - type: transaction
            destination: ticket_helper
            entrypoint: default
          - type: transaction
            destination: rollup
            entrypoint: default
            alias: rollup_default
      - callback: on_withdraw
        pattern:
          - type: sr_execute
            destination: rollup
          - type: transaction
            destination: ticketer
            entrypoint: withdraw
          - type: transaction
            source: ticketer
            entrypoint: transfer

To use this demo as a template for your own Etherlink project, run dipdup new and choose demo_etherlink template.

Read more about Etherlink and DipDup support for it:

Changes since 7.2

Added

  • env: Added DIPDUP_NO_VERSION_CHECK and DIPDUP_NO_SYMLINK variables.
  • tezos.tzkt.operations: Added new operation type sr_execute for Etherlink smart rollups.

Fixed

  • abi.etherscan: Fixed handling "rate limit reached" errors.
  • cli: Do not consider config as oneshot if tezos.tzkt.head index is present.
  • cli: Fixed setting logger levels based on config and env variables.
  • codegen: Allow dots to be used in typenames indicating nested packages.
  • codegen: Always cleanup jsonschemas before generating types.
  • config: Make ws_url field optional for evm.node datasource.
  • evm.node: Make withdrawals_root field optional in EvmNodeHeadData model.
  • http: Fixed crash on some datasource URLs.
  • http: Fixed incorrect number of retries performed on failed requests.

Performance

  • evm.subsquid.events: Increase indexing speed when using EVM node.




See you soon! 👋

DipDup is a free open-source software created by the community and for the community. Join our socials to discuss this release, ask any questions, or participate in development.

Twitter | Discord | GitHub

Help and tips -> Join our Discord
Ideas or suggestions -> Issue Tracker
GraphQL IDE -> Open Playground