diff --git a/packages/contracts-account-abstraction/src/actions/bundler/getUserOperation.ts b/packages/contracts-account-abstraction/src/actions/bundler/getUserOperation.ts index 7b45be5e..8ed47ed2 100644 --- a/packages/contracts-account-abstraction/src/actions/bundler/getUserOperation.ts +++ b/packages/contracts-account-abstraction/src/actions/bundler/getUserOperation.ts @@ -8,7 +8,7 @@ import { } from "viem/account-abstraction"; import { getBlockNumber, getLogs, getTransaction } from "viem/actions"; import { getAction } from "viem/utils"; -import { sei, seiDevnet, seiTestnet } from "viem/chains"; +import { evmos, evmosTestnet, sei, seiDevnet, seiTestnet } from "viem/chains"; import { UserOperationEvent } from "../../artifacts/IEntryPointSimulations.js"; import { PackedUserOperation, toUserOperationEncoded } from "../../models/PackedUserOperation.js"; import { handleOps } from "../../artifacts/IEntryPoint.js"; @@ -22,7 +22,13 @@ export async function getUserOperation( //TODO: Parametrize rpc max range // Certain RPCs enforce a max block range let rpcMaxRange = 90_000n; - if (chainIdNumber === sei.id || chainIdNumber === seiDevnet.id || chainIdNumber === seiTestnet.id) { + if ( + chainIdNumber === sei.id || + chainIdNumber === seiDevnet.id || + chainIdNumber === seiTestnet.id || + chainIdNumber === evmos.id || + chainIdNumber === evmosTestnet.id + ) { rpcMaxRange = 2_000n; } diff --git a/packages/contracts-account-abstraction/src/actions/bundler/getUserOperationReceipt.ts b/packages/contracts-account-abstraction/src/actions/bundler/getUserOperationReceipt.ts index 2afe3408..7f3de4f6 100644 --- a/packages/contracts-account-abstraction/src/actions/bundler/getUserOperationReceipt.ts +++ b/packages/contracts-account-abstraction/src/actions/bundler/getUserOperationReceipt.ts @@ -6,6 +6,7 @@ import { } from "viem/account-abstraction"; import { getBlockNumber, getLogs, getTransactionReceipt } from "viem/actions"; import { getAction } from "viem/utils"; +import { evmos } from "viem/chains"; import { UserOperationEvent } from "../../artifacts/EntryPoint.js"; export async function getUserOperationReceipt( @@ -17,7 +18,8 @@ export async function getUserOperationReceipt( const blockNumber = await getBlockNumber(client); //TODO: Parametrize rpc max range // Certain RPCs enforce a max block range - const rpcMaxRange = 90_000n; + let rpcMaxRange = 90_000n; + if (client.chain?.id === evmos.id) rpcMaxRange = 2_000n; // If rpcMaxRange is less blockNumber, set fromBlock to rpcMaxRange away from blockNumber const fromBlock = rpcMaxRange < blockNumber ? blockNumber - rpcMaxRange : 0n; diff --git a/packages/contracts-account-abstraction/src/eip1193/bundler/requestGetUserOperationByHash.ts b/packages/contracts-account-abstraction/src/eip1193/bundler/requestGetUserOperationByHash.ts index a2065db4..adccadbb 100644 --- a/packages/contracts-account-abstraction/src/eip1193/bundler/requestGetUserOperationByHash.ts +++ b/packages/contracts-account-abstraction/src/eip1193/bundler/requestGetUserOperationByHash.ts @@ -16,7 +16,7 @@ import { import { entryPoint07Address, UserOperation } from "viem/account-abstraction"; import { decodeFunctionData } from "viem/utils"; -import { sei, seiDevnet, seiTestnet } from "viem/chains"; +import { evmos, evmosTestnet, sei, seiDevnet, seiTestnet } from "viem/chains"; import { UserOperationEvent, handleOps } from "../../artifacts/IEntryPoint.js"; import { PackedUserOperation, toUserOperationEncoded } from "../../models/PackedUserOperation.js"; @@ -51,7 +51,13 @@ export function createRequestGetUserOperationByHash(request: EIP1193RequestFn