diff --git a/.changeset/grumpy-ads-smile.md b/.changeset/grumpy-ads-smile.md new file mode 100644 index 0000000000000..22763555148de --- /dev/null +++ b/.changeset/grumpy-ads-smile.md @@ -0,0 +1,5 @@ +--- +'@eth-optimism/sdk': patch +--- + +Have SDK properly handle case when no batches are submitted yet diff --git a/packages/sdk/src/cross-chain-messenger.ts b/packages/sdk/src/cross-chain-messenger.ts index 40212bd14d23f..1047fe5526c6d 100644 --- a/packages/sdk/src/cross-chain-messenger.ts +++ b/packages/sdk/src/cross-chain-messenger.ts @@ -654,6 +654,11 @@ export class CrossChainMessenger implements ICrossChainMessenger { let batchEvent: ethers.Event | null = await this.getStateBatchAppendedEventByBatchIndex(upperBound) + // Only happens when no batches have been submitted yet. + if (batchEvent === null) { + return null + } + if (isEventLo(batchEvent, transactionIndex)) { // Upper bound is too low, means this transaction doesn't have a corresponding state batch yet. return null