Skip to content

Commit

Permalink
cleanup redundant tests (#233)
Browse files Browse the repository at this point in the history
  • Loading branch information
InoMurko authored Jul 5, 2022
1 parent 6e034ed commit 9a5000e
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 221 deletions.
34 changes: 0 additions & 34 deletions .github/workflows/ts-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -224,37 +224,3 @@ jobs:

- name: Lint
run: yarn lint:check

tagging:
name: Integration tests tagging
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Grep
working-directory: ./integration-tests
run: |
export SHELL=/bin/bash
set +eo pipefail
grep -rv "it('{tag:" --include \*.spec.ts . | grep "it('"
if [[ $? -eq 1 ]]
then
echo "You're OK."
exit 0
else
echo "What did you do?"
exit 1
fi
- name: Grep
working-directory: ./integration-tests
run: |
export SHELL=/bin/bash
set +eo pipefail
grep -rv 'it("{tag:' --include \*.spec.ts . | grep 'it("'
if [[ $? -eq 1 ]]
then
echo "You're OK."
exit 0
else
echo "What did you do?"
exit 1
fi
1 change: 0 additions & 1 deletion integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"devDependencies": {
"@boba/api": "0.0.1",
"@boba/contracts": "0.0.1",
"@boba/turing-hybrid-compute": "0.2.0",
"@eth-optimism/contracts": "^0.5.11",
"@eth-optimism/core-utils": "0.8.1",
"@eth-optimism/sdk": "1.0.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
import {
BigNumber,
Contract,
ContractFactory,
providers,
Wallet,
utils,
} from 'ethers'
import { Contract, ContractFactory, utils } from 'ethers'
import { getContractFactory } from '@eth-optimism/contracts'
import { ethers } from 'hardhat'
import chai, { expect } from 'chai'
Expand All @@ -22,7 +15,6 @@ import { verifyStateRoots } from './shared/state-root-verification'

describe('Turing 256 Bit Random Number Test', async () => {
let env: OptimismEnv
let BobaTuringHelper: Contract
let BobaTuringCredit: Contract
let L1StandardBridge: Contract

Expand All @@ -32,9 +24,6 @@ describe('Turing 256 Bit Random Number Test', async () => {
let TuringHelper: Contract
let Factory__TuringHelper: ContractFactory

let TuringTest: Contract
let Factory__TuringTest: ContractFactory

let Factory__Random: ContractFactory
let random: Contract

Expand Down Expand Up @@ -99,7 +88,7 @@ describe('Turing 256 Bit Random Number Test', async () => {
console.log('Verified state roots.')
})

it('{tag:boba} Should transfer BOBA to L2', async () => {
it('Should transfer BOBA to L2', async () => {
const depositBOBAAmount = utils.parseEther('10')

const preL1BOBABalance = await L1BOBAToken.balanceOf(env.l1Wallet.address)
Expand Down Expand Up @@ -133,7 +122,7 @@ describe('Turing 256 Bit Random Number Test', async () => {
)
})

it('{tag:boba} contract should be whitelisted', async () => {
it('contract should be whitelisted', async () => {
const tr2 = await TuringHelper.checkPermittedCaller(random.address)
const res2 = await tr2.wait()
const rawData = res2.events[0].data
Expand All @@ -145,7 +134,7 @@ describe('Turing 256 Bit Random Number Test', async () => {
)
})

it('{tag:boba} Should register and fund your Turing helper contract in turingCredit', async () => {
it('Should register and fund your Turing helper contract in turingCredit', async () => {
env = await OptimismEnv.new()

const depositAmount = utils.parseEther('0.1')
Expand Down Expand Up @@ -177,7 +166,7 @@ describe('Turing 256 Bit Random Number Test', async () => {
expect(postBalance).to.be.deep.eq(preBalance.add(depositAmount))
})

it('{tag:boba} should get a 256 bit random number', async () => {
it('should get a 256 bit random number', async () => {
const tr = await random.getRandom()
const res = await tr.wait()
expect(res).to.be.ok
Expand Down
180 changes: 10 additions & 170 deletions integration-tests/test/z-brotli-batch-serialization.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,179 +5,32 @@ import {
remove0x,
sleep,
} from '@eth-optimism/core-utils'
import { getContractFactory } from '@eth-optimism/contracts'
import { BigNumber, Contract, ContractFactory, ethers, utils } from 'ethers'
import { ethers } from 'ethers'

import { expect } from './shared/setup'
import { OptimismEnv } from './shared/env'
import { envConfig } from './shared/utils'

import HelloTuringJson from '@boba/turing-hybrid-compute/artifacts/contracts/HelloTuring.sol/HelloTuring.json'
import TuringHelperJson from '@boba/turing-hybrid-compute/artifacts/contracts/TuringHelper.sol/TuringHelper.json'
import L1ERC20Json from '@boba/contracts/artifacts/contracts/test-helpers/L1ERC20.sol/L1ERC20.json'
import L2GovernanceERC20Json from '@boba/contracts/artifacts/contracts/standards/L2GovernanceERC20.sol/L2GovernanceERC20.json'
import Mocha from 'mocha'

describe('Batch Serialization', () => {
let env: OptimismEnv
let BobaTuringCredit: Contract
let L1StandardBridge: Contract

let L1BOBAToken: Contract
let L2BOBAToken: Contract

let TuringHelper: Contract
let Factory__TuringHelper: ContractFactory

let Factory__Random: ContractFactory
let random: Contract

// Allow for each type to be tested. The env var here must be
// the same value that is passed to the batch submitter
const batchType = envConfig.BATCH_SUBMITTER_SEQUENCER_BATCH_TYPE.toUpperCase()

before(async () => {
env = await OptimismEnv.new()

const BobaTuringCreditAddress = await env.addressesBOBA.BobaTuringCredit

BobaTuringCredit = getContractFactory(
'BobaTuringCredit',
env.l2Wallet
).attach(BobaTuringCreditAddress)

L1BOBAToken = new Contract(
env.addressesBOBA.TOKENS.BOBA.L1,
L1ERC20Json.abi,
env.l1Wallet
)

L2BOBAToken = new Contract(
env.addressesBOBA.TOKENS.BOBA.L2,
L2GovernanceERC20Json.abi,
env.l2Wallet
)

Factory__TuringHelper = new ContractFactory(
TuringHelperJson.abi,
TuringHelperJson.bytecode,
env.l2Wallet
)
TuringHelper = await Factory__TuringHelper.deploy()
console.log(' Helper contract deployed at', TuringHelper.address)
await TuringHelper.deployTransaction.wait()

Factory__Random = new ContractFactory(
HelloTuringJson.abi,
HelloTuringJson.bytecode,
env.l2Wallet
)
random = await Factory__Random.deploy(TuringHelper.address)
console.log(' Test random contract deployed at', random.address)
await random.deployTransaction.wait()

const tr1 = await TuringHelper.addPermittedCaller(random.address)
const res1 = await tr1.wait()
console.log(
' addingPermittedCaller to TuringHelper',
res1.events[0].data
)

const L1StandardBridgeAddress = await env.addressesBASE
.Proxy__L1StandardBridge

L1StandardBridge = getContractFactory(
'L1StandardBridge',
env.l1Wallet
).attach(L1StandardBridgeAddress)
})

it.only('{tag:boba} Should transfer BOBA to L2', async () => {
const depositBOBAAmount = utils.parseEther('10')

const preL1BOBABalance = await L1BOBAToken.balanceOf(env.l1Wallet.address)
const preL2BOBABalance = await L2BOBAToken.balanceOf(env.l2Wallet.address)

const approveL1BOBATX = await L1BOBAToken.approve(
L1StandardBridge.address,
depositBOBAAmount
)
await approveL1BOBATX.wait()

await env.waitForXDomainTransaction(
L1StandardBridge.depositERC20(
L1BOBAToken.address,
L2BOBAToken.address,
depositBOBAAmount,
9999999,
ethers.utils.formatBytes32String(new Date().getTime().toString())
)
)

const postL1BOBABalance = await L1BOBAToken.balanceOf(env.l1Wallet.address)
const postL2BOBABalance = await L2BOBAToken.balanceOf(env.l2Wallet.address)

expect(preL1BOBABalance).to.deep.eq(
postL1BOBABalance.add(depositBOBAAmount)
)

expect(preL2BOBABalance).to.deep.eq(
postL2BOBABalance.sub(depositBOBAAmount)
)
})

it.only('{tag:boba} contract should be whitelisted', async () => {
const tr2 = await TuringHelper.checkPermittedCaller(random.address)
const res2 = await tr2.wait()
const rawData = res2.events[0].data
const result = parseInt(rawData.slice(-64), 16)
expect(result).to.equal(1)
console.log(
' Test contract whitelisted in TuringHelper (1 = yes)?',
result
)
})

it.only('{tag:boba} Should register and fund your Turing helper contract in turingCredit and get a 256 bit random number', async () => {
env = await OptimismEnv.new()

const depositAmount = utils.parseEther('0.1')

const preBalance = await BobaTuringCredit.prepaidBalance(
TuringHelper.address
)
console.log(' Credit Prebalance', preBalance.toString())

const bobaBalance = await L2BOBAToken.balanceOf(env.l2Wallet.address)
console.log(' BOBA Balance in your account', bobaBalance.toString())

const approveTx = await L2BOBAToken.approve(
BobaTuringCredit.address,
depositAmount
)
await approveTx.wait()

const depositTx = await BobaTuringCredit.addBalanceTo(
depositAmount,
TuringHelper.address
)
await depositTx.wait()

const postBalance = await BobaTuringCredit.prepaidBalance(
TuringHelper.address
)

expect(postBalance).to.be.deep.eq(preBalance.add(depositAmount))

const tr = await random.getRandom()
const res = await tr.wait()
expect(res).to.be.ok
const rawData = res.events[0].data
const numberHexString = '0x' + rawData.slice(-64)
const result = BigInt(numberHexString)
console.log(' Turing VRF 256 =', result)
const mocha = new Mocha()
mocha.timeout(30000)
mocha.addFile('./test/turing.spec.ts')
const failures = (fails: number): void => {
expect(fails).to.eq(0)
}
mocha.run(failures)
})

it.only('{tag:boba} should fetch batches', async () => {
it('should fetch batches', async () => {
let tip = await env.l1Provider.getBlockNumber()
const ctc = env.messenger.contracts.l1.CanonicalTransactionChain
let logs = await ctc.queryFilter(
Expand Down Expand Up @@ -297,16 +150,3 @@ const turingParse_v1 = (decodedTxData: string): string => {
return add0x(dataHexString)
}
}

export const parseSignatureVParam = (
v: number | ethers.BigNumber | string,
chainId: number
): number => {
v = ethers.BigNumber.from(v).toNumber()
// Handle unprotected transactions
if (v === 27 || v === 28) {
return v
}
// Handle EIP155 transactions
return v - 2 * chainId - 35
}

0 comments on commit 9a5000e

Please sign in to comment.