diff --git a/package.json b/package.json index 13082f2..8d98169 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", + "eth-parallel-event-fetcher": "^1.6.0", "ethers": "^6.4.0", "ethers-v5": "npm:ethers@^5.7.2", "hardhat": "^2.19.5", @@ -84,5 +85,6 @@ "typescript": "~5.5.0", "viem": "^2.34.0", "yargs": "^18.0.0" - } + }, + "dependencies": {} } diff --git a/scripts/ts/FeeRouter/ChildToParentMessageRedeemer.ts b/scripts/ts/FeeRouter/ChildToParentMessageRedeemer.ts index 696a858..024221e 100644 --- a/scripts/ts/FeeRouter/ChildToParentMessageRedeemer.ts +++ b/scripts/ts/FeeRouter/ChildToParentMessageRedeemer.ts @@ -24,6 +24,7 @@ import { walletActionsL1, } from 'viem/op-stack' import { DoubleProvider, DoubleWallet } from '../../template/util' +import { GenericEventFetcher } from 'eth-parallel-event-fetcher' const wait = async (ms: number) => new Promise(res => setTimeout(res, ms)) @@ -44,10 +45,11 @@ export abstract class ChildToParentMessageRedeemer { const childChainProvider = new JsonRpcProvider(this.childChainRpc) const toBlock = (await childChainProvider.getBlockNumber()) - this.blockLag - const logs = await childChainProvider.getLogs({ + const fetcher = new GenericEventFetcher(childChainProvider) + const logs = await fetcher.getLogs({ fromBlock: this.startBlock, - toBlock: toBlock, address: this.childToParentRewardRouterAddr, + toBlock: toBlock, topics: [ ChildToParentRewardRouter__factory.createInterface().getEvent( 'FundsRouted' diff --git a/yarn.lock b/yarn.lock index 8fb5189..6293664 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2185,6 +2185,14 @@ eth-gas-reporter@^0.2.25: sha1 "^1.1.1" sync-request "^6.0.0" +eth-parallel-event-fetcher@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/eth-parallel-event-fetcher/-/eth-parallel-event-fetcher-1.6.0.tgz#ede4963d80e8b57ce820848aa575b937e77ea02b" + integrity sha512-PenK6/GLFDkncZKlMomatuHlpPjykZiGaypOpwk3WhfHBFBY1HZHOzXlex00qVzvEHClXbT02gb+9uQDm0NAgA== + dependencies: + ethers "^5.8.0" + p-limit "^6.2.0" + ethereum-bloom-filters@^1.0.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" @@ -2280,7 +2288,7 @@ ethereumjs-util@^7.1.4: "@ethersproject/web" "5.8.0" "@ethersproject/wordlists" "5.8.0" -ethers@^5.1.0, ethers@^5.7.2: +ethers@^5.1.0, ethers@^5.7.2, ethers@^5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== @@ -3609,6 +3617,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-6.2.0.tgz#c254d22ba6aeef441a3564c5e6c2f2da59268a0f" + integrity sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA== + dependencies: + yocto-queue "^1.1.1" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" @@ -4888,3 +4903,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" + integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==