Commit 4080337f authored by Matthew Slipper's avatar Matthew Slipper Committed by GitHub

Merge pull request #2151 from mslipper/feat/itests-other-networks

integration-tests: Support networks that aren't specified in the SDK
parents c80cb93b e2ad8653
---
'@eth-optimism/integration-tests': patch
---
Support non-well-known networks
import { utils, Wallet, BigNumber } from 'ethers' import { utils, Wallet } from 'ethers'
import { expect } from 'chai' import { expect } from 'chai'
import { actor, setupRun, setupActor, run } from './lib/convenience' import { actor, setupRun, setupActor, run } from './lib/convenience'
...@@ -34,6 +34,6 @@ actor('Value sender', () => { ...@@ -34,6 +34,6 @@ actor('Value sender', () => {
value: 0x42, value: 0x42,
}) })
}) })
expect(await randWallet.getBalance()).to.deep.equal(BigNumber.from(0x42)) expect((await randWallet.getBalance()).toString()).to.deep.equal('66')
}) })
}) })
...@@ -86,23 +86,11 @@ export class OptimismEnv { ...@@ -86,23 +86,11 @@ export class OptimismEnv {
static async new(): Promise<OptimismEnv> { static async new(): Promise<OptimismEnv> {
const network = await l1Provider.getNetwork() const network = await l1Provider.getNetwork()
const messenger = new CrossChainMessenger({
l1SignerOrProvider: l1Wallet,
l2SignerOrProvider: l2Wallet,
l1ChainId: network.chainId,
})
const addressManager = getAddressManager(l1Wallet) const addressManager = getAddressManager(l1Wallet)
const watcher = await initWatcher(l1Provider, l2Provider, addressManager) const watcher = await initWatcher(l1Provider, l2Provider, addressManager)
const l1Bridge = await getL1Bridge(l1Wallet, addressManager) const l1Bridge = await getL1Bridge(l1Wallet, addressManager)
// fund the user if needed
const balance = await l2Wallet.getBalance()
const min = envConfig.L2_WALLET_MIN_BALANCE_ETH.toString()
const topUp = envConfig.L2_WALLET_TOP_UP_AMOUNT_ETH.toString()
if (balance.lt(utils.parseEther(min))) {
await fundUser(messenger, utils.parseEther(topUp))
}
const l1Messenger = getContractFactory('L1CrossDomainMessenger') const l1Messenger = getContractFactory('L1CrossDomainMessenger')
.connect(l1Wallet) .connect(l1Wallet)
.attach(watcher.l1.messengerAddress) .attach(watcher.l1.messengerAddress)
...@@ -136,6 +124,30 @@ export class OptimismEnv { ...@@ -136,6 +124,30 @@ export class OptimismEnv {
.connect(l2Wallet) .connect(l2Wallet)
.attach(predeploys.OVM_L1BlockNumber) .attach(predeploys.OVM_L1BlockNumber)
const messenger = new CrossChainMessenger({
l1SignerOrProvider: l1Wallet,
l2SignerOrProvider: l2Wallet,
l1ChainId: network.chainId,
contracts: {
l1: {
AddressManager: envConfig.ADDRESS_MANAGER,
L1CrossDomainMessenger: l1Messenger.address,
L1StandardBridge: l1Bridge.address,
StateCommitmentChain: sccAddress,
CanonicalTransactionChain: ctcAddress,
BondManager: await addressManager.getAddress('BondManager'),
},
},
})
// fund the user if needed
const balance = await l2Wallet.getBalance()
const min = envConfig.L2_WALLET_MIN_BALANCE_ETH.toString()
const topUp = envConfig.L2_WALLET_TOP_UP_AMOUNT_ETH.toString()
if (balance.lt(utils.parseEther(min))) {
await fundUser(messenger, utils.parseEther(topUp))
}
return new OptimismEnv({ return new OptimismEnv({
addressManager, addressManager,
l1Bridge, l1Bridge,
......
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