Commit f688a631 authored by Murphy Law's avatar Murphy Law Committed by GitHub

integration-tests: Override the default bridge adapters (#2574)

* integration-tests: Override the default bridge adapters

* Fix non-actor integration tests in CI
Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
parent 6c087767
---
'@eth-optimism/integration-tests': patch
---
integration-tests: Override default bridge adapters
...@@ -37,18 +37,18 @@ actor('Funds depositor', () => { ...@@ -37,18 +37,18 @@ actor('Funds depositor', () => {
const balBefore = await l2Wallet.getBalance() const balBefore = await l2Wallet.getBalance()
await b.bench('deposit', async () => { await b.bench('deposit', async () => {
await env.waitForXDomainTransaction( await env.waitForXDomainTransaction(
env.messenger.contracts.l1.L1StandardBridge env.messenger.contracts.l1.L1StandardBridge.connect(
.connect(l1Wallet) l1Wallet
.depositETH(DEFAULT_TEST_GAS_L2, '0xFFFF', { ).depositETH(DEFAULT_TEST_GAS_L2, '0xFFFF', {
value: 0x42, value: 0x42,
gasLimit: DEFAULT_TEST_GAS_L1, gasLimit: DEFAULT_TEST_GAS_L1,
}) })
) )
}) })
// Converting BigNumber to hex string prevents chai from incorrectly considering inherited properties // Converting BigNumber to hex string prevents chai from incorrectly considering inherited properties
// for strict equality - https://github.com/chaijs/chai/issues/948 // for strict equality - https://github.com/chaijs/chai/issues/948
expect((await l2Wallet.getBalance()).sub(balBefore).toString()).to.deep.equal( expect(
BigNumber.from(0x42).toString() (await l2Wallet.getBalance()).sub(balBefore).toString()
) ).to.deep.equal(BigNumber.from(0x42).toString())
}) })
}) })
...@@ -9,7 +9,11 @@ import { ...@@ -9,7 +9,11 @@ import {
CrossChainMessenger, CrossChainMessenger,
MessageStatus, MessageStatus,
MessageDirection, MessageDirection,
StandardBridgeAdapter,
ETHBridgeAdapter,
BridgeAdapterData,
} from '@eth-optimism/sdk' } from '@eth-optimism/sdk'
import { predeploys } from '@eth-optimism/contracts'
/* Imports: Internal */ /* Imports: Internal */
import { import {
...@@ -56,6 +60,22 @@ export class OptimismEnv { ...@@ -56,6 +60,22 @@ export class OptimismEnv {
static async new(): Promise<OptimismEnv> { static async new(): Promise<OptimismEnv> {
const network = await l1Provider.getNetwork() const network = await l1Provider.getNetwork()
let bridgeOverrides: BridgeAdapterData
if (envConfig.L1_STANDARD_BRIDGE) {
bridgeOverrides = {
Standard: {
Adapter: StandardBridgeAdapter,
l1Bridge: envConfig.L1_STANDARD_BRIDGE,
l2Bridge: predeploys.L2StandardBridge,
},
ETH: {
Adapter: ETHBridgeAdapter,
l1Bridge: envConfig.L1_STANDARD_BRIDGE,
l2Bridge: predeploys.L2StandardBridge,
},
}
}
const messenger = new CrossChainMessenger({ const messenger = new CrossChainMessenger({
l1SignerOrProvider: l1Wallet, l1SignerOrProvider: l1Wallet,
l2SignerOrProvider: l2Wallet, l2SignerOrProvider: l2Wallet,
...@@ -68,8 +88,9 @@ export class OptimismEnv { ...@@ -68,8 +88,9 @@ export class OptimismEnv {
StateCommitmentChain: envConfig.STATE_COMMITMENT_CHAIN, StateCommitmentChain: envConfig.STATE_COMMITMENT_CHAIN,
CanonicalTransactionChain: envConfig.CANONICAL_TRANSACTION_CHAIN, CanonicalTransactionChain: envConfig.CANONICAL_TRANSACTION_CHAIN,
BondManager: envConfig.BOND_MANAGER, BondManager: envConfig.BOND_MANAGER,
} },
} },
bridges: bridgeOverrides,
}) })
// fund the user if needed // fund the user if needed
......
...@@ -32,9 +32,13 @@ const gasPriceValidator = makeValidator((gasPrice) => { ...@@ -32,9 +32,13 @@ const gasPriceValidator = makeValidator((gasPrice) => {
}) })
const addressValidator = makeValidator((addr) => { const addressValidator = makeValidator((addr) => {
if (!addr) { return '' } if (!addr) {
else if (utils.isAddress(addr)) { return addr } return ''
else { throw new Error('Expected an address') } } else if (utils.isAddress(addr)) {
return addr
} else {
throw new Error('Expected an address')
}
}) })
const procEnv = cleanEnv(process.env, { const procEnv = cleanEnv(process.env, {
......
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