Skip to content

Commit f91b591

Browse files
authored
fix: properly handle bold genesis assertion (#584)
1 parent 61c384c commit f91b591

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

packages/sdk/src/lib/message/ChildToParentMessageNitro.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,14 @@ export class ChildToParentMessageReaderNitro extends ChildToParentMessageNitro {
291291
? this.parseAssertionCreatedEvent(log)
292292
: this.parseNodeCreatedAssertion(log)
293293

294+
// if the chain is freshly deployed and latest confirmed/created is the genesis assertion that contains a empty block hash
295+
if (
296+
parsedLog.afterState.blockHash ===
297+
'0x0000000000000000000000000000000000000000000000000000000000000000'
298+
) {
299+
return arbitrumProvider.getBlock(0)
300+
}
301+
294302
const childBlock = await arbitrumProvider.getBlock(
295303
parsedLog.afterState.blockHash
296304
)
@@ -460,9 +468,13 @@ export class ChildToParentMessageReaderNitro extends ChildToParentMessageNitro {
460468
address: rollup.address,
461469
}
462470
)
463-
latestCreatedAssertionId =
464-
assertionCreatedEvents[assertionCreatedEvents.length - 1].event
465-
.assertionHash
471+
if (assertionCreatedEvents.length !== 0) {
472+
latestCreatedAssertionId =
473+
assertionCreatedEvents[assertionCreatedEvents.length - 1].event
474+
.assertionHash
475+
} else {
476+
latestCreatedAssertionId = latestConfirmedAssertionId
477+
}
466478
} else {
467479
latestCreatedAssertionId = await rollup.callStatic.latestNodeCreated()
468480
}

0 commit comments

Comments
 (0)