diff --git a/package.json b/package.json index 6c40ca9e3..f639e04cf 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "packages/*" ], "scripts": { - "compile": "lerna run compile --scope=@webb-tools/contracts", + "compile": "lerna run compile", "build": "yarn compile && yarn build:packages", "setup": "yarn compile && yarn build:circuits && yarn build:ptau", "test": "yarn workspace @webb-tools/contracts run test", @@ -55,7 +55,8 @@ "prettier-plugin-solidity": "^1.0.0", "truffle-assertions": "^0.9.2", "web3": "^1.3.6", - "web3-utils": "^1.2.11" + "web3-utils": "^1.2.11", + "copyfiles": "^2.4.1" }, "dependencies": { "@nomiclabs/hardhat-waffle": "^2.0.3", diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 944d05b1a..09ed5e7ad 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,14 +1,16 @@ { "name": "@webb-tools/contracts", - "main": "./typechain/index.ts", + "main": "./lib/index.js", "license": "GPL-3.0-or-later", "author": "Webb Developers ", "scripts": { - "compile": "yarn run clean && yarn run build:contracts", - "build": "yarn run build:library", + "compile": "yarn compile:private && yarn build:library && yarn copy:declarations", + "compile:private": "yarn run clean && yarn run build:contracts", + "build": "exit 0", "clean": "rimraf -rf ./lib && rimraf -rf ./typechain && rimraf -rf ./cache && rimraf -rf ./artifacts", "build:library": "tsc -p tsconfig.build.json", "test": "npx hardhat test", + "copy:declarations": "copyfiles -f ./typechain/*.d.ts ./lib", "build:contracts": "npx hardhat compile", "test:gas-reporter": "REPORT_GAS=true npx hardhat test --parallel" }, diff --git a/packages/contracts/test/token/AaveTokenWrapper.test.ts b/packages/contracts/test/token/AaveTokenWrapper.test.ts index a8451381c..f708191cc 100644 --- a/packages/contracts/test/token/AaveTokenWrapper.test.ts +++ b/packages/contracts/test/token/AaveTokenWrapper.test.ts @@ -11,9 +11,9 @@ const bne = (x, e) => BigNumber.from(x + '0'.repeat(parseInt(e))); // Convenience wrapper classes for contract classes import { ERC20 as ERC20Class } from '@webb-tools/tokens'; -import { IERC20 } from '../../typechain/IERC20'; -import { AaveTokenWrapper } from '../../typechain/AaveTokenWrapper'; -import { AaveTokenWrapper__factory } from '../../typechain/factories/AaveTokenWrapper__factory'; +import { IERC20 } from '../../lib/IERC20'; +import { AaveTokenWrapper } from '../../lib/AaveTokenWrapper'; +import { AaveTokenWrapper__factory } from '../../lib/factories/AaveTokenWrapper__factory'; import { expect } from 'chai'; describe('AaveTokenWrapper', () => { diff --git a/packages/contracts/test/trees/MerkleForest.test.ts b/packages/contracts/test/trees/MerkleForest.test.ts index 800f95750..fb5f24e53 100644 --- a/packages/contracts/test/trees/MerkleForest.test.ts +++ b/packages/contracts/test/trees/MerkleForest.test.ts @@ -13,7 +13,7 @@ import { MerkleForestMock as MerkleForestMockContract, LinkableIncrementalBinaryTree as LinkableIncrementalBinaryTreeContract, LinkableIncrementalBinaryTree__factory, -} from '../../typechain'; +} from '../../lib'; const TruffleAssert = require('truffle-assertions'); const assert = require('assert'); diff --git a/tsconfig.json b/tsconfig.json index 202b1b6d7..d3d9fa883 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,10 +22,10 @@ "packages/merkle-tree/src/*" ], "@webb-tools/contracts": [ - "packages/contracts/src" + "packages/contracts/typechain" ], "@webb-tools/contracts/*": [ - "packages/contracts/src/*" + "packages/contracts/typechain/*" ], "@webb-tools/bridges": [ "packages/bridges/src" diff --git a/yarn.lock b/yarn.lock index 43dfbe228..fc57c5540 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8209,6 +8209,19 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== +copyfiles@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" + integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^1.0.4" + noms "0.0.0" + through2 "^2.0.1" + untildify "^4.0.0" + yargs "^16.1.0" + core-js-compat@^3.25.1: version "3.26.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.26.0.tgz#94e2cf8ba3e63800c4956ea298a6473bc9d62b44" @@ -11182,7 +11195,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0, glob@~7.2.3: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0, glob@~7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -14207,7 +14220,7 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -14746,6 +14759,14 @@ nofilter@^1.0.4: resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== +noms@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -16415,7 +16436,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@~1.0.15: +readable-stream@~1.0.15, readable-stream@~1.0.31: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== @@ -18195,7 +18216,7 @@ then-request@^6.0.0: promise "^8.0.0" qs "^6.4.0" -through2@^2.0.0, through2@^2.0.3, through2@~2.0.3: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -18804,6 +18825,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + upath2@^3.1.13: version "3.1.19" resolved "https://registry.yarnpkg.com/upath2/-/upath2-3.1.19.tgz#d987d34a62b2daad1c54a692fd5a720a30c9a786" @@ -20463,7 +20489,7 @@ yargs@13.3.2, yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@16.2.0, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.1.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==