Skip to content

Commit e7d72ce

Browse files
committed
evm-rpc: ensure logs are sorted by index
1 parent 044daed commit e7d72ce

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

examples/evm-client/src/main-rpc.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,11 @@ const command = defineCommand({
111111
consola.info(
112112
`block ${block.header?.blockNumber} [${finality}/${production}]`,
113113
);
114-
consola.info(" logs:", logs.length);
114+
consola.info(
115+
" logs:",
116+
logs.length,
117+
logs.map(({ logIndex }) => logIndex),
118+
);
115119

116120
for (const log of logs) {
117121
// consola.info(log);

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ export class EvmRpcStream extends RpcStreamConfig<Filter, Block> {
165165
for (const { blockNumber, header } of blockNumbersWithHeader) {
166166
const logs = logsByBlockNumber[Number(blockNumber)] ?? [];
167167

168+
logs.sort((a, b) => a.logIndex - b.logIndex);
169+
168170
data.push({
169171
cursor: undefined,
170172
endCursor: { orderKey: blockNumber },
@@ -208,6 +210,8 @@ export class EvmRpcStream extends RpcStreamConfig<Filter, Block> {
208210
filter,
209211
});
210212

213+
logs.sort((a, b) => a.logIndex - b.logIndex);
214+
211215
let cursor = undefined;
212216
if (blockNumber > 0n) {
213217
cursor = {

0 commit comments

Comments
 (0)