Skip to content

Commit 469f983

Browse files
authored
Add option to rpc stream to return all accepted blocks (#199)
2 parents a61ee0b + 7262601 commit 469f983

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "prerelease",
3+
"comment": "evm-rpc: add option to send all accepted blocks",
4+
"packageName": "@apibara/evm-rpc",
5+
"email": "francesco@ceccon.me",
6+
"dependentChangeType": "patch"
7+
}

packages/evm-rpc/src/stream-config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ export type EvmRpcStreamOptions = {
4343
headRefreshIntervalMs?: number;
4444
/** How often to refresh the finalized block. */
4545
finalizedRefreshIntervalMs?: number;
46+
/** Force sending accepted headers even if no data matched. */
47+
alwaysSendAcceptedHeaders?: boolean;
4648
};
4749

4850
export class EvmRpcStream extends RpcStreamConfig<Filter, Block> {
@@ -237,7 +239,8 @@ export class EvmRpcStream extends RpcStreamConfig<Filter, Block> {
237239
const shouldSendBlock =
238240
filter.header === "always" ||
239241
logs.length > 0 ||
240-
(filter.header === "on_data_or_on_new_block" && isAtHead);
242+
(filter.header === "on_data_or_on_new_block" && isAtHead) ||
243+
this.options.alwaysSendAcceptedHeaders;
241244

242245
if (shouldSendBlock) {
243246
block = {

0 commit comments

Comments
 (0)