Skip to content

Releases: apibara/dna

Webhook Sink v0.8.0

13 Jul 09:09
cecd61c

Choose a tag to compare

sink-webhook/v0.8.0

release: sink-webhook v0.8.0

[Backport] Starknet v1.7.0

06 Jul 12:58
9854dfe

Choose a tag to compare

starknet/v1.7.0

fix tests

DNA Starknet v2.0.0-beta.34

06 Jun 18:06
bc644bb

Choose a tag to compare

Update Starknet RPC to 0.8.1 (#427)

### Summary

This PR updates the Starknet RPC version to 0.8.1. This also fixes an
incompatability issue with Starknet devnet.

DNA EVM v2.0.0-beta.34

06 Jun 18:05
bc644bb

Choose a tag to compare

Update Starknet RPC to 0.8.1 (#427)

### Summary

This PR updates the Starknet RPC version to 0.8.1. This also fixes an
incompatability issue with Starknet devnet.

DNA Beacon Chain v2.0.0-beta.34

06 Jun 18:05
bc644bb

Choose a tag to compare

Update Starknet RPC to 0.8.1 (#427)

### Summary

This PR updates the Starknet RPC version to 0.8.1. This also fixes an
incompatability issue with Starknet devnet.

DNA Starknet v2.0.0-beta.33

29 May 21:14
ab0dcaa

Choose a tag to compare

Avoid sending empty block with joins (#426)

### Summary

The current implementation sends an empty block if joins are present.
This PR fixes that, sending blocks only if there is data.

DNA Starknet v2.0.0-beta.32

29 May 19:46
316588c

Choose a tag to compare

Change pending block to not be considered live (#425)

### Summary

Previously, the pending block was considered "live" and so, if the user
requested to receive all live blocks, was sent even if empty.

This caused an issue when blocks `n` and `n+1` were discovered by the
service
at the same time, since the client never received the accepted version
of `n`.

This PR changes the live block behaviour to the following:

 - pending blocks are sent only if they contain data.
 - accepted blocks are sent if empty, if the client requested it.

### Testing strategy

We tested this by listening by running an indexer with the following
filter:

```ts
const filter = {
  header: "on_data_or_on_new_block",
  logs: [
    {
      // wBTC on Ethereum mainnet.
      address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
    },
  ],
};
```

This filter occasionally produces pending data, but not always.

The following run trace shows the block number, hash, finality,
production and number of logs.

Notice that the pending blocks contain data, while block `xxx296` and
`xxx301`
are empty but their pending version was not sent by the server.

```txt
22590295n 0x27d67ef4bbe536b31c91c2d0180a0204e459908a65af7c42ab77d4784489d524 accepted live 6
22590296n 0x5bae0611331f29b4750677d6222dc8add1ccc2a0cf879680ae350a988605f178 accepted live 0

22590297n 0xbfaa75d65e240dc6ac5344d10172202bd760cc390ef314554581218d497329c1 pending live 2
22590297n 0xf8f0d459e0531103e59045a7a1130a4d89a02d70d387202a1a1b06011287f06f pending live 2
22590297n 0xf8f0d459e0531103e59045a7a1130a4d89a02d70d387202a1a1b06011287f06f accepted live 2

22590298n 0x845aa2fc51af09b425ea338431f8b45e0a2b864f212dcfc313c24371977237f8 accepted live 3
22590299n 0xd68f7ce2f3238b2a574122d104fccf7a59a11b19b206225ae40d5c83941e8a32 accepted live 1
22590300n 0x82d903ac77fb7530240648369735542be22a452dd7c15539aeeb82c9c092fda5 accepted live 1
22590301n 0x6aa560f875d4eaf1480e6bab52d3894874cdf96b919de1f3c2490fc22011b1b8 accepted live 0
```

DNA EVM v2.0.0-beta.33

29 May 21:14
ab0dcaa

Choose a tag to compare

Avoid sending empty block with joins (#426)

### Summary

The current implementation sends an empty block if joins are present.
This PR fixes that, sending blocks only if there is data.

DNA EVM v2.0.0-beta.32

29 May 19:46
316588c

Choose a tag to compare

Change pending block to not be considered live (#425)

### Summary

Previously, the pending block was considered "live" and so, if the user
requested to receive all live blocks, was sent even if empty.

This caused an issue when blocks `n` and `n+1` were discovered by the
service
at the same time, since the client never received the accepted version
of `n`.

This PR changes the live block behaviour to the following:

 - pending blocks are sent only if they contain data.
 - accepted blocks are sent if empty, if the client requested it.

### Testing strategy

We tested this by listening by running an indexer with the following
filter:

```ts
const filter = {
  header: "on_data_or_on_new_block",
  logs: [
    {
      // wBTC on Ethereum mainnet.
      address: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
    },
  ],
};
```

This filter occasionally produces pending data, but not always.

The following run trace shows the block number, hash, finality,
production and number of logs.

Notice that the pending blocks contain data, while block `xxx296` and
`xxx301`
are empty but their pending version was not sent by the server.

```txt
22590295n 0x27d67ef4bbe536b31c91c2d0180a0204e459908a65af7c42ab77d4784489d524 accepted live 6
22590296n 0x5bae0611331f29b4750677d6222dc8add1ccc2a0cf879680ae350a988605f178 accepted live 0

22590297n 0xbfaa75d65e240dc6ac5344d10172202bd760cc390ef314554581218d497329c1 pending live 2
22590297n 0xf8f0d459e0531103e59045a7a1130a4d89a02d70d387202a1a1b06011287f06f pending live 2
22590297n 0xf8f0d459e0531103e59045a7a1130a4d89a02d70d387202a1a1b06011287f06f accepted live 2

22590298n 0x845aa2fc51af09b425ea338431f8b45e0a2b864f212dcfc313c24371977237f8 accepted live 3
22590299n 0xd68f7ce2f3238b2a574122d104fccf7a59a11b19b206225ae40d5c83941e8a32 accepted live 1
22590300n 0x82d903ac77fb7530240648369735542be22a452dd7c15539aeeb82c9c092fda5 accepted live 1
22590301n 0x6aa560f875d4eaf1480e6bab52d3894874cdf96b919de1f3c2490fc22011b1b8 accepted live 0
```

DNA Beacon Chain v2.0.0-beta.33

29 May 21:14
ab0dcaa

Choose a tag to compare

Avoid sending empty block with joins (#426)

### Summary

The current implementation sends an empty block if joins are present.
This PR fixes that, sending blocks only if there is data.