diff --git a/.changeset/lemon-chefs-walk.md b/.changeset/lemon-chefs-walk.md new file mode 100644 index 0000000000000000000000000000000000000000..e6d32b6c9cc6af8ed50118c224f697f9413f35c7 --- /dev/null +++ b/.changeset/lemon-chefs-walk.md @@ -0,0 +1,5 @@ +--- +'@eth-optimism/sdk': patch +--- + +Have SDK wait for transactions in getMessagesByTransaction diff --git a/packages/sdk/src/cross-chain-messenger.ts b/packages/sdk/src/cross-chain-messenger.ts index 40212bd14d23f3a674cfd03975337b138f467298..a0263966b018c832b5b6934fc93fc0496eb0b171 100644 --- a/packages/sdk/src/cross-chain-messenger.ts +++ b/packages/sdk/src/cross-chain-messenger.ts @@ -143,6 +143,13 @@ export class CrossChainMessenger implements ICrossChainMessenger { direction?: MessageDirection } = {} ): Promise<CrossChainMessage[]> { + // Wait for the transaction receipt if the input is waitable. + // TODO: Maybe worth doing this with more explicit typing but whatever for now. + if (typeof (transaction as any).wait === 'function') { + await (transaction as any).wait() + } + + // Convert the input to a transaction hash. const txHash = toTransactionHash(transaction) let receipt: TransactionReceipt