From 809f79e58465ecac58829e3c495d8dbd56b1fa14 Mon Sep 17 00:00:00 2001 From: Shunji Zhan Date: Tue, 20 Aug 2024 14:20:42 +0800 Subject: [PATCH] remove evmchai from bodhi exports (#1011) * remove evmchai from build * move evmchai to waffle examples * polish * update --- examples/waffle/arbitrager/src/deploy.ts | 4 +++- examples/waffle/dex/test/Dex.test.ts | 4 +++- examples/waffle/e2e/test/dex.test.ts | 4 +++- examples/waffle/erc20/test/ACAToken.test.ts | 4 +++- examples/waffle/erc20/test/BasicToken.test.ts | 4 +++- .../waffle/erc20/test/LP-ACA-AUSD-Token.test.ts | 4 +++- .../waffle/evm-accounts/test/EVMAccounts.test.ts | 4 +++- examples/waffle/evm-chai/README.md | 1 + examples/waffle/evm-chai/package.json | 16 ++++++++++++++++ .../waffle/evm-chai/src}/index.ts | 0 .../waffle/evm-chai/src}/supportEmit.ts | 0 examples/waffle/evm-chai/tsconfig.json | 9 +++++++++ examples/waffle/evm/test/EVM.test.ts | 4 +++- .../waffle/hello-world/test/HelloWorld.test.ts | 4 +++- examples/waffle/homa/test/homa.test.ts | 4 +++- examples/waffle/honzon/test/honzon.test.ts | 4 +++- .../waffle/incentives/test/incentives.test.ts | 4 +++- examples/waffle/oracle/test/Prices.test.ts | 4 +++- examples/waffle/scheduler/test/Scheduler.test.ts | 4 +++- .../waffle/stable-asset/test/stableAsset.test.ts | 4 +++- examples/waffle/uniswap/src/deploy-and-trade.ts | 6 ++++-- packages/bodhi/src/index.ts | 1 - yarn.lock | 10 ++++++++++ 23 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 examples/waffle/evm-chai/README.md create mode 100644 examples/waffle/evm-chai/package.json rename {packages/bodhi/src/evmChai => examples/waffle/evm-chai/src}/index.ts (100%) rename {packages/bodhi/src/evmChai => examples/waffle/evm-chai/src}/supportEmit.ts (100%) create mode 100644 examples/waffle/evm-chai/tsconfig.json diff --git a/examples/waffle/arbitrager/src/deploy.ts b/examples/waffle/arbitrager/src/deploy.ts index 727c4d035..b45fff355 100644 --- a/examples/waffle/arbitrager/src/deploy.ts +++ b/examples/waffle/arbitrager/src/deploy.ts @@ -1,6 +1,6 @@ import { expect, use } from 'chai'; import { Contract, ContractFactory, BigNumber } from 'ethers'; -import { evmChai, getTestUtils } from '@acala-network/bodhi'; +import { getTestUtils } from '@acala-network/bodhi'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import UniswapFactory from '../artifacts/UniswapV2Factory.json'; @@ -8,6 +8,8 @@ import UniswapRouter from '../artifacts/UniswapV2Router02.json'; import Arbitrager from '../build/Arbitrager.json'; import IERC20 from '../artifacts/IERC20.json'; +import { evmChai } from '../../evm-chai'; + use(evmChai); const main = async () => { diff --git a/examples/waffle/dex/test/Dex.test.ts b/examples/waffle/dex/test/Dex.test.ts index 37c065f47..b98fea56f 100644 --- a/examples/waffle/dex/test/Dex.test.ts +++ b/examples/waffle/dex/test/Dex.test.ts @@ -1,9 +1,11 @@ -import { BodhiSigner as Signer, evmChai, getTestUtils } from '@acala-network/bodhi'; +import { BodhiSigner as Signer, getTestUtils } from '@acala-network/bodhi'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { Contract, ethers } from 'ethers'; + import Dex from '../build/Dex.json'; +import { evmChai } from '../../evm-chai'; use(solidity); use(evmChai); diff --git a/examples/waffle/e2e/test/dex.test.ts b/examples/waffle/e2e/test/dex.test.ts index 6212c80c4..93296ba10 100644 --- a/examples/waffle/e2e/test/dex.test.ts +++ b/examples/waffle/e2e/test/dex.test.ts @@ -1,11 +1,13 @@ import { expect, use } from 'chai'; import { BigNumber } from 'ethers'; import { deployContract } from 'ethereum-waffle'; -import { BodhiSigner, evmChai, getTestUtils } from '@acala-network/bodhi'; +import { BodhiSigner, getTestUtils } from '@acala-network/bodhi'; import { EvmRpcProvider, hexlifyRpcResult, BodhiProvider } from '@acala-network/eth-providers'; import TestToken from '../build/TestToken.json'; import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/types'; +import { evmChai } from '../../evm-chai'; + use(evmChai); const endpoint = process.env.ENDPOINT_URL || 'ws://127.0.0.1:9944'; diff --git a/examples/waffle/erc20/test/ACAToken.test.ts b/examples/waffle/erc20/test/ACAToken.test.ts index 610e67890..1666b21b3 100644 --- a/examples/waffle/erc20/test/ACAToken.test.ts +++ b/examples/waffle/erc20/test/ACAToken.test.ts @@ -1,9 +1,11 @@ import { expect, use } from 'chai'; import { ethers, Contract } from 'ethers'; import { solidity } from 'ethereum-waffle'; -import { getTestUtils, Signer, evmChai } from '@acala-network/bodhi'; +import { getTestUtils, Signer } from '@acala-network/bodhi'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/erc20/test/BasicToken.test.ts b/examples/waffle/erc20/test/BasicToken.test.ts index 786072751..25f6d367a 100644 --- a/examples/waffle/erc20/test/BasicToken.test.ts +++ b/examples/waffle/erc20/test/BasicToken.test.ts @@ -2,9 +2,11 @@ import { expect, use } from 'chai'; import { Contract } from 'ethers'; import { deployContract, solidity } from 'ethereum-waffle'; import BasicToken from '../build/BasicToken.json'; -import { getTestUtils, BodhiSigner, evmChai, BodhiProvider } from '@acala-network/bodhi'; +import { getTestUtils, BodhiSigner, BodhiProvider } from '@acala-network/bodhi'; import { createTestPairs } from '@polkadot/keyring/testingPairs'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/erc20/test/LP-ACA-AUSD-Token.test.ts b/examples/waffle/erc20/test/LP-ACA-AUSD-Token.test.ts index fdbabcbd5..752c75539 100644 --- a/examples/waffle/erc20/test/LP-ACA-AUSD-Token.test.ts +++ b/examples/waffle/erc20/test/LP-ACA-AUSD-Token.test.ts @@ -1,9 +1,11 @@ import { expect, use } from 'chai'; import { ethers, Contract } from 'ethers'; import { solidity } from 'ethereum-waffle'; -import { getTestUtils, Signer, evmChai } from '@acala-network/bodhi'; +import { getTestUtils, Signer } from '@acala-network/bodhi'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/evm-accounts/test/EVMAccounts.test.ts b/examples/waffle/evm-accounts/test/EVMAccounts.test.ts index 6bdc01ddc..c1ce451e0 100644 --- a/examples/waffle/evm-accounts/test/EVMAccounts.test.ts +++ b/examples/waffle/evm-accounts/test/EVMAccounts.test.ts @@ -1,4 +1,4 @@ -import { Signer, evmChai, getTestUtils } from '@acala-network/bodhi'; +import { Signer, getTestUtils } from '@acala-network/bodhi'; import { createTestPairs } from '@polkadot/keyring/testingPairs'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; @@ -9,6 +9,8 @@ import { Keyring } from '@polkadot/keyring'; import { randomAsHex, blake2AsU8a } from '@polkadot/util-crypto'; import { u8aConcat, stringToU8a, u8aToHex } from '@polkadot/util'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/evm-chai/README.md b/examples/waffle/evm-chai/README.md new file mode 100644 index 000000000..3307b56d4 --- /dev/null +++ b/examples/waffle/evm-chai/README.md @@ -0,0 +1 @@ +# Chai plugin for EVM+ tests \ No newline at end of file diff --git a/examples/waffle/evm-chai/package.json b/examples/waffle/evm-chai/package.json new file mode 100644 index 000000000..6823f3b6d --- /dev/null +++ b/examples/waffle/evm-chai/package.json @@ -0,0 +1,16 @@ +{ + "name": "evm-waffle-example-evm-chai", + "version": "1.0.0", + "main": "dist/index.js", + "license": "MIT", + "scripts": { + "build": "tsc" + }, + "dependencies": { + "chai": "~4.3.4" + }, + "devDependencies": { + "@types/chai": "~4.2.22", + "typescript": "~4.6.3" + } +} diff --git a/packages/bodhi/src/evmChai/index.ts b/examples/waffle/evm-chai/src/index.ts similarity index 100% rename from packages/bodhi/src/evmChai/index.ts rename to examples/waffle/evm-chai/src/index.ts diff --git a/packages/bodhi/src/evmChai/supportEmit.ts b/examples/waffle/evm-chai/src/supportEmit.ts similarity index 100% rename from packages/bodhi/src/evmChai/supportEmit.ts rename to examples/waffle/evm-chai/src/supportEmit.ts diff --git a/examples/waffle/evm-chai/tsconfig.json b/examples/waffle/evm-chai/tsconfig.json new file mode 100644 index 000000000..cba4156a4 --- /dev/null +++ b/examples/waffle/evm-chai/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../tsconfig.base.json", + "exclude": ["node_modules", "dist"], + "include": ["src/**/*"], + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + } +} \ No newline at end of file diff --git a/examples/waffle/evm/test/EVM.test.ts b/examples/waffle/evm/test/EVM.test.ts index 19291fead..bfa7a87da 100644 --- a/examples/waffle/evm/test/EVM.test.ts +++ b/examples/waffle/evm/test/EVM.test.ts @@ -1,4 +1,4 @@ -import { BodhiSigner, evmChai, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; +import { BodhiSigner, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; import { createTestPairs } from '@polkadot/keyring/testingPairs'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; @@ -6,6 +6,8 @@ import { Contract, ethers } from 'ethers'; import EVM from '../build/EVM.json'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/hello-world/test/HelloWorld.test.ts b/examples/waffle/hello-world/test/HelloWorld.test.ts index ef1a22a9e..2102c9f3d 100644 --- a/examples/waffle/hello-world/test/HelloWorld.test.ts +++ b/examples/waffle/hello-world/test/HelloWorld.test.ts @@ -1,9 +1,11 @@ import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { Contract } from 'ethers'; -import { evmChai, Signer, getTestUtils } from '@acala-network/bodhi'; +import { Signer, getTestUtils } from '@acala-network/bodhi'; import HelloWorld from '../build/HelloWorld.json'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/homa/test/homa.test.ts b/examples/waffle/homa/test/homa.test.ts index 77254d2f3..bda44b6a0 100644 --- a/examples/waffle/homa/test/homa.test.ts +++ b/examples/waffle/homa/test/homa.test.ts @@ -1,4 +1,4 @@ -import { BodhiSigner, evmChai, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; +import { BodhiSigner, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { BigNumber, Contract, ethers } from 'ethers'; @@ -6,6 +6,8 @@ import Homa from '../build/Homa.json'; import ADDRESS from '@acala-network/contracts/utils/AcalaAddress'; import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/types'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/honzon/test/honzon.test.ts b/examples/waffle/honzon/test/honzon.test.ts index 541037f7f..f5a55c63a 100644 --- a/examples/waffle/honzon/test/honzon.test.ts +++ b/examples/waffle/honzon/test/honzon.test.ts @@ -1,4 +1,4 @@ -import { BodhiSigner, evmChai, BodhiProvider, getTestUtils } from '@acala-network/bodhi'; +import { BodhiSigner, BodhiProvider, getTestUtils } from '@acala-network/bodhi'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { BigNumber, Contract, ethers } from 'ethers'; @@ -6,6 +6,8 @@ import Honzon from '../build/Honzon.json'; import ADDRESS from '@acala-network/contracts/utils/AcalaAddress'; import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/types'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/incentives/test/incentives.test.ts b/examples/waffle/incentives/test/incentives.test.ts index 039ae8c1d..e828ee0b2 100644 --- a/examples/waffle/incentives/test/incentives.test.ts +++ b/examples/waffle/incentives/test/incentives.test.ts @@ -1,4 +1,4 @@ -import { BodhiSigner, evmChai, BodhiProvider, getTestUtils } from '@acala-network/bodhi'; +import { BodhiSigner, BodhiProvider, getTestUtils } from '@acala-network/bodhi'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { BigNumber, Contract, ethers } from 'ethers'; @@ -6,6 +6,8 @@ import Incentives from '../build/Incentives.json'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/types'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/oracle/test/Prices.test.ts b/examples/waffle/oracle/test/Prices.test.ts index 98359182e..baa1cab2a 100644 --- a/examples/waffle/oracle/test/Prices.test.ts +++ b/examples/waffle/oracle/test/Prices.test.ts @@ -1,4 +1,4 @@ -import { evmChai, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; +import { getTestUtils, BodhiProvider } from '@acala-network/bodhi'; import { createTestPairs } from '@polkadot/keyring/testingPairs'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; @@ -7,6 +7,8 @@ import Prices from '../build/Prices.json'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { parseEther } from 'ethers/lib/utils'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/scheduler/test/Scheduler.test.ts b/examples/waffle/scheduler/test/Scheduler.test.ts index d7ffe11b5..767ea7a2f 100644 --- a/examples/waffle/scheduler/test/Scheduler.test.ts +++ b/examples/waffle/scheduler/test/Scheduler.test.ts @@ -1,13 +1,15 @@ import { expect, use } from 'chai'; import { ethers, BigNumber, Contract } from 'ethers'; import { deployContract } from 'ethereum-waffle'; -import { getTestUtils, BodhiSigner, evmChai, BodhiProvider } from '@acala-network/bodhi'; +import { getTestUtils, BodhiSigner, BodhiProvider } from '@acala-network/bodhi'; import { createTestPairs } from '@polkadot/keyring/testingPairs'; import RecurringPayment from '../build/RecurringPayment.json'; import Subscription from '../build/Subscription.json'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { sleep } from '@acala-network/eth-providers'; +import { evmChai } from '../../evm-chai'; + use(evmChai); const testPairs = createTestPairs(); diff --git a/examples/waffle/stable-asset/test/stableAsset.test.ts b/examples/waffle/stable-asset/test/stableAsset.test.ts index 839e72e42..b8faf851f 100644 --- a/examples/waffle/stable-asset/test/stableAsset.test.ts +++ b/examples/waffle/stable-asset/test/stableAsset.test.ts @@ -1,4 +1,4 @@ -import { BodhiSigner, evmChai, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; +import { BodhiSigner, getTestUtils, BodhiProvider } from '@acala-network/bodhi'; import { expect, use } from 'chai'; import { deployContract, solidity } from 'ethereum-waffle'; import { BigNumber, Contract, ethers } from 'ethers'; @@ -6,6 +6,8 @@ import StableAsset from '../build/StableAsset.json'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/types'; +import { evmChai } from '../../evm-chai'; + use(solidity); use(evmChai); diff --git a/examples/waffle/uniswap/src/deploy-and-trade.ts b/examples/waffle/uniswap/src/deploy-and-trade.ts index 0603a0f28..6e5e33297 100644 --- a/examples/waffle/uniswap/src/deploy-and-trade.ts +++ b/examples/waffle/uniswap/src/deploy-and-trade.ts @@ -1,15 +1,17 @@ import { Contract, BigNumber, ContractFactory } from 'ethers'; import ADDRESS from '@acala-network/contracts/utils/MandalaAddress'; import { use } from 'chai'; -import { evmChai, getTestUtils } from '@acala-network/bodhi'; +import { getTestUtils } from '@acala-network/bodhi'; import UniswapFactory from '../artifacts/UniswapV2Factory.json'; import UniswapRouter from '../artifacts/UniswapV2Router02.json'; import IERC20 from '../artifacts/IERC20.json'; -const dollar = BigNumber.from('1000000000000'); +import { evmChai } from '../../evm-chai'; + use(evmChai); +const dollar = BigNumber.from('1000000000000'); const endpoint = process.env.ENDPOINT_URL ?? 'ws://localhost:9944'; const deploy = async () => { diff --git a/packages/bodhi/src/index.ts b/packages/bodhi/src/index.ts index 3ad709a4f..1887afe8a 100644 --- a/packages/bodhi/src/index.ts +++ b/packages/bodhi/src/index.ts @@ -1,5 +1,4 @@ export { BodhiProvider } from '@acala-network/eth-providers'; export * from './BodhiSigner'; export * from './SubstrateSigner'; -export * from './evmChai'; export * from './utils'; diff --git a/yarn.lock b/yarn.lock index 317e14941..3f249bb9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12001,6 +12001,16 @@ __metadata: languageName: unknown linkType: soft +"evm-waffle-example-evm-chai@workspace:examples/waffle/evm-chai": + version: 0.0.0-use.local + resolution: "evm-waffle-example-evm-chai@workspace:examples/waffle/evm-chai" + dependencies: + "@types/chai": ~4.2.22 + chai: ~4.3.4 + typescript: ~4.6.3 + languageName: unknown + linkType: soft + "evm-waffle-example-evm@workspace:examples/waffle/evm": version: 0.0.0-use.local resolution: "evm-waffle-example-evm@workspace:examples/waffle/evm"