Commit 4d644da8 authored by mergify[bot]'s avatar mergify[bot] Committed by GitHub

Merge pull request #5277 from ethereum-optimism/k0328/sec-42-dynamic-abi

Use OptimismPortal.FINALIZATION_PERIOD_SECONDS if L2OutputOracle.version is '1.0.0'.
parents 9bc5135f f434f6ec
...@@ -1003,9 +1003,19 @@ export class CrossChainMessenger { ...@@ -1003,9 +1003,19 @@ export class CrossChainMessenger {
* @returns Current challenge period in seconds. * @returns Current challenge period in seconds.
*/ */
public async getChallengePeriodSeconds(): Promise<number> { public async getChallengePeriodSeconds(): Promise<number> {
const challengePeriod = this.bedrock if (!this.bedrock) {
? await this.contracts.l1.L2OutputOracle.FINALIZATION_PERIOD_SECONDS() return (await this.contracts.l1.StateCommitmentChain.FRAUD_PROOF_WINDOW()).toNumber()
: await this.contracts.l1.StateCommitmentChain.FRAUD_PROOF_WINDOW() }
const oracleVersion = await this.contracts.l1.L2OutputOracle.version()
const challengePeriod = oracleVersion === '1.0.0'
// The ABI in the SDK does not contain FINALIZATION_PERIOD_SECONDS
// in OptimismPortal, so making an explicit call instead.
? BigNumber.from(await this.contracts.l1.OptimismPortal.provider.call({
to: this.contracts.l1.OptimismPortal.address,
data: '0xf4daa291' // FINALIZATION_PERIOD_SECONDS
}))
: await this.contracts.l1.L2OutputOracle.FINALIZATION_PERIOD_SECONDS()
return challengePeriod.toNumber() return challengePeriod.toNumber()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment