-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build!: upgrade all packages + root to latest Hardhat version and ethers v6 #889
Conversation
57bbb67
to
50c34b6
Compare
50c34b6
to
07a60f9
Compare
7c8345b
to
adb776e
Compare
b90b8c6
to
b88acfc
Compare
910da3a
to
c1d49f0
Compare
c1d49f0
to
57f818d
Compare
fa680cc
to
4d7bf33
Compare
Referencing this issue on Hardhat for the blocker on LSP17 Extensions contracts tests and the Create2Factory not deploying: NomicFoundation/hardhat#4939 |
6f5405e
to
17bba8d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks ok, but I would remove the ethers wholesale import and specify each function you need.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome 🙏
* build!: setup monorepo with turborepo for `@lukso/lsp-smart-contracts` * build!: move LSP2 as its own package (#829) * build: start setting Turborepo configs for the monorepo (#828) * build!: setup lsp-smart-contracts as monorepo * build: fix setup eslint for root + packages * build: setup LSP package template with instructions * build: add `COVERAGE` as env variable * build: fix package-lock * build: keep root config for eslint * ci: update CI commands to run temporarily steps for root + package * build: replace `dts` by `unbuild` * docs: apply new prettier to auto-generated docs * build: add missing npm command for `turbo test` * build!: setup lsp-smart-contracts as monorepo * build: fix setup eslint for root + packages * build: setup LSP package template with instructions * chore: start moving LSP2 in its own package * chore: setup Foundry tests for LSP2 * chore: remove other folders not relevant * build: upgrade packages dependencies * ci: update CI for solc_version to allow `packages/` path * build: use `eslint-config-custom` as internal dependency at root * docs: update autogenerated docs config * ci: remove `lsp2` in testing matrix * chore: update README of LSP2 + template packages * feat: remove duplicated content (#856) * ci: remove import require tests for testing constant imports (#859) * build!: move LSP25 in its own package (#851) * chore: disable generation of interfaceIds (#862) * build!: move LSP20 in its own package (#853) * build!: move `LSP4` in its own package (#855) * build!: move LSP5 + LSP10 in their own packages (#852) * build!: move LSP5 in its own package * build: add `lsp2` package dependency in root * ci: update remappings for compiling `solc_version` * build: setup LSP10 as its own package * docs: update dodoc config for LSP5 + LSP10 * build!: move LSP1 in its own package (#854) * build!: move LSP1 in its own package * refactor: update import paths for lsp1 * build!: move LSP17ContractExtension in its own package (#858) * ci: create deployment script to deploy + verify base contracts on mainnet (#849) * refactor: convert verify balance script into Hardhat task * ci: add script to deploy and verify base contracts on mainnet * ci: create bash file + setup mainnet deployer * ci: refactor workflow to deploy and verify contracts using Hardhat task * build!: move LSP17ContractExtension in its own package * docs: add latest LSP7 + LSP8 Tokens audit report (#861) * wip --------- Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> * build!: move LSP14 in its own package (#860) * build: move LSP14 in its own package * refactor: update import paths + add LSP14 in remappings * build: upgrade Typescript version in `packages` and `template/` (#867) * build!: move LSP0 in its own package (#864) * build!: move lsp0 to its own package * refactor: modify imports * chore: prettify * test: resolve foundry imports * test: resolve artifacts import * chore: add suggested changes * build!: move LSP6 in its own package (#866) * build!: move LSP6 in its own package * test: move most of LSP6 foundry tests in package * docs: update paths for LSP6 auto-generated docs * chore: disable prettier for permissions values * test: fix import paths in Foundry tests at root * style: ignore artifacts and types from prettier (#868) * style: ignore artifacts and types from prettier * build: upgrade Typescript version in `packages` and `template/` (#867) * build!: move LSP0 in its own package (#864) * build!: move lsp0 to its own package * refactor: modify imports * chore: prettify * test: resolve foundry imports * test: resolve artifacts import * chore: add suggested changes * build!: move LSP6 in its own package (#866) * build!: move LSP6 in its own package * test: move most of LSP6 foundry tests in package * docs: update paths for LSP6 auto-generated docs * chore: disable prettier for permissions values * test: fix import paths in Foundry tests at root --------- Co-authored-by: Jean Cvllr <[email protected]> * ci: cache Typescript `types/` of packages in CI (#863) * build!: move LSP7 in its own package (#865) * build!: move lsp17 to its own package (#871) * build!: re-open LSP16 PR to move it again as its own package (#877) * build!: move LSP17ContractExtension in its own package (#858) * ci: create deployment script to deploy + verify base contracts on mainnet (#849) * refactor: convert verify balance script into Hardhat task * ci: add script to deploy and verify base contracts on mainnet * ci: create bash file + setup mainnet deployer * ci: refactor workflow to deploy and verify contracts using Hardhat task * build!: move LSP17ContractExtension in its own package * docs: add latest LSP7 + LSP8 Tokens audit report (#861) * wip --------- Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> * build!: move lsp16 to its own package * build: update package-lock.json * docs: update docs * test: remove test command of lsp16 * ci: update ci reference for lsp16 * test: add mock contracts --------- Co-authored-by: Skima Harvey <[email protected]> Co-authored-by: YamenMerhi <[email protected]> * build!: move LSP8 in its own package (#878) * build!: move LSP8 in its own package * docs: update auto-generated docs for LSP8 package * test: update path for LSP8Mintable TS types * build!: move LSP3 and Universal Profile in their own package (#879) * build!: move LSP9 in its own package (#869) * feat: create LSP12 package (#882) * build!: move LSP1 URD in its own package (#880) * build!: create lsp23 package (#883) * build!: create lsp23 package * refactor: update types path in lsp23 tests * ci: fix benchmark * test: replace use of factories with types factories * tests: fix lsp6 types issue * tests: clean up lsp20 types issues * tests: clean up lsp7 types issue * tests: fix up types issues * tests: fix reentrancy tests * build: update package names (#885) * build: update package names * chore: update remmapingss * chore: fix import remappings * chore: update dodoc config --------- Co-authored-by: CJ42 <[email protected]> * feat: move constants in their respective packages (#884) * build: setup template package as `module` * build: setup constant export file in template * refactor!: move each TS constants & Types into their respective packages * refactor: add constants and typings for LSP2 * refactor: import interface IDs, typeIds and data keys per sub-package into root * chore: rename prettier config files to `.cjs` * revert: remove type `module` * chore: update import paths * build: register `build:js` command * build: fix `build:js` command and missing dependencies and configs * ci: cache `dist` folder * test: update import paths for constants and types * docs: add missing generated docs paths * chore: update incorrect Typechain paths * chore: remove `smock` library * refactror: remove legacy contracts & tests (#890) * docs: add packages table, npm version to each package (#886) * chore: create packages table * chore: add npm versaion badges to packages * build!: upgrade all packages + root to latest Hardhat version and ethers v6 (#889) * build!: create final package for `@lukso/lsp-smart-contracts` (#896) * chore!: move `@lukso/lsp-smart-contracts` in its own package * build: move all the build and config files into `packages/lsp-smart-contracts` * test: move all the tests/ under `packages/lsp-smart-contracts` * build: organise `package.json` for root and `@lukso/lsp-smart-contracts` * build: cleanup test and scripts commands from root to package * ci: adjust CI for build lint test for all packages * chore: remap import paths for `LSP0ERC725Account` to `@lukso/lsp0-contracts/` * ci: update CI job path runner for `solc_version` * build: tmp turn off global import disallowed in `.sol` file for `lsp-smart-contracts` * chore: remap import paths * test: fix Benchmark tests for ethers v6 syntax * chore: fix some Solidity import path compiler errors * build: update `package-lock.json` * test: update foundry tests setting for `@lukso/lsp-smart-contracts` * chore: add missing environnement variable in `turbo.json` * test: repair tests that import helpers from root * chore: fix types imports in tests * build: adjust foundry build settings to prevent race condition when installing solc in CI * chore: ignore temporarily lsp16 package for foundry tests * ci: disable temporarily foundry gas report in CI * ci: specify working directory for gas benchmark CI --------- Co-authored-by: b00ste <[email protected]> * chore: export artifacts from each package (#895) * chore: include types in the release package (#898) * build: prepare manifest file (#897) * chore: update manifest file for release * chore: add lsp-smart-contracts package * chiore: add pre-release true to lsp-smart-contracts package * build: remove `release-as` options in favour of git commit message `release-as` --------- Co-authored-by: CJ42 <[email protected]> * ci: setup CI to release per packages individually (#900) * docs: add documentation in `RELEASE.md` for creating pre-releases per packages * ci: update CI for monorepo configs * docs: add extra mention for pre-releases * ci: create JS script to publish each packages on npm * feat!: allow operator to revoke himself (#901) * feat!: allow operator to revoke himself * test: add test for operator revoking himself * refactor!: change LSP7 interfaceId * chore: fix parameter and generate natspec * Make `attributes` optional (#872) * chore: do suggested changes * feat: Add contract asset type (#891) * Add contract asset * Make fileType optional * PR remarks * Change names * chore: re-add updated tests in LSP7 + LSP8 --------- Co-authored-by: Dominik Zborowski <[email protected]> Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> --------- Co-authored-by: b00ste.lyx <[email protected]> Co-authored-by: Skima Harvey <[email protected]> Co-authored-by: Yamen Merhi <[email protected]> Co-authored-by: b00ste <[email protected]> Co-authored-by: Dominik Zborowski <[email protected]>
* build!: setup monorepo with turborepo for `@lukso/lsp-smart-contracts` * build!: move LSP2 as its own package (#829) * build: start setting Turborepo configs for the monorepo (#828) * build!: setup lsp-smart-contracts as monorepo * build: fix setup eslint for root + packages * build: setup LSP package template with instructions * build: add `COVERAGE` as env variable * build: fix package-lock * build: keep root config for eslint * ci: update CI commands to run temporarily steps for root + package * build: replace `dts` by `unbuild` * docs: apply new prettier to auto-generated docs * build: add missing npm command for `turbo test` * build!: setup lsp-smart-contracts as monorepo * build: fix setup eslint for root + packages * build: setup LSP package template with instructions * chore: start moving LSP2 in its own package * chore: setup Foundry tests for LSP2 * chore: remove other folders not relevant * build: upgrade packages dependencies * ci: update CI for solc_version to allow `packages/` path * build: use `eslint-config-custom` as internal dependency at root * docs: update autogenerated docs config * ci: remove `lsp2` in testing matrix * chore: update README of LSP2 + template packages * feat: remove duplicated content (#856) * ci: remove import require tests for testing constant imports (#859) * build!: move LSP25 in its own package (#851) * chore: disable generation of interfaceIds (#862) * build!: move LSP20 in its own package (#853) * build!: move `LSP4` in its own package (#855) * build!: move LSP5 + LSP10 in their own packages (#852) * build!: move LSP5 in its own package * build: add `lsp2` package dependency in root * ci: update remappings for compiling `solc_version` * build: setup LSP10 as its own package * docs: update dodoc config for LSP5 + LSP10 * build!: move LSP1 in its own package (#854) * build!: move LSP1 in its own package * refactor: update import paths for lsp1 * build!: move LSP17ContractExtension in its own package (#858) * ci: create deployment script to deploy + verify base contracts on mainnet (#849) * refactor: convert verify balance script into Hardhat task * ci: add script to deploy and verify base contracts on mainnet * ci: create bash file + setup mainnet deployer * ci: refactor workflow to deploy and verify contracts using Hardhat task * build!: move LSP17ContractExtension in its own package * docs: add latest LSP7 + LSP8 Tokens audit report (#861) * wip --------- Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> * build!: move LSP14 in its own package (#860) * build: move LSP14 in its own package * refactor: update import paths + add LSP14 in remappings * build: upgrade Typescript version in `packages` and `template/` (#867) * build!: move LSP0 in its own package (#864) * build!: move lsp0 to its own package * refactor: modify imports * chore: prettify * test: resolve foundry imports * test: resolve artifacts import * chore: add suggested changes * build!: move LSP6 in its own package (#866) * build!: move LSP6 in its own package * test: move most of LSP6 foundry tests in package * docs: update paths for LSP6 auto-generated docs * chore: disable prettier for permissions values * test: fix import paths in Foundry tests at root * style: ignore artifacts and types from prettier (#868) * style: ignore artifacts and types from prettier * build: upgrade Typescript version in `packages` and `template/` (#867) * build!: move LSP0 in its own package (#864) * build!: move lsp0 to its own package * refactor: modify imports * chore: prettify * test: resolve foundry imports * test: resolve artifacts import * chore: add suggested changes * build!: move LSP6 in its own package (#866) * build!: move LSP6 in its own package * test: move most of LSP6 foundry tests in package * docs: update paths for LSP6 auto-generated docs * chore: disable prettier for permissions values * test: fix import paths in Foundry tests at root --------- Co-authored-by: Jean Cvllr <[email protected]> * ci: cache Typescript `types/` of packages in CI (#863) * build!: move LSP7 in its own package (#865) * build!: move lsp17 to its own package (#871) * build!: re-open LSP16 PR to move it again as its own package (#877) * build!: move LSP17ContractExtension in its own package (#858) * ci: create deployment script to deploy + verify base contracts on mainnet (#849) * refactor: convert verify balance script into Hardhat task * ci: add script to deploy and verify base contracts on mainnet * ci: create bash file + setup mainnet deployer * ci: refactor workflow to deploy and verify contracts using Hardhat task * build!: move LSP17ContractExtension in its own package * docs: add latest LSP7 + LSP8 Tokens audit report (#861) * wip --------- Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> * build!: move lsp16 to its own package * build: update package-lock.json * docs: update docs * test: remove test command of lsp16 * ci: update ci reference for lsp16 * test: add mock contracts --------- Co-authored-by: Skima Harvey <[email protected]> Co-authored-by: YamenMerhi <[email protected]> * build!: move LSP8 in its own package (#878) * build!: move LSP8 in its own package * docs: update auto-generated docs for LSP8 package * test: update path for LSP8Mintable TS types * build!: move LSP3 and Universal Profile in their own package (#879) * build!: move LSP9 in its own package (#869) * feat: create LSP12 package (#882) * build!: move LSP1 URD in its own package (#880) * build!: create lsp23 package (#883) * build!: create lsp23 package * refactor: update types path in lsp23 tests * ci: fix benchmark * test: replace use of factories with types factories * tests: fix lsp6 types issue * tests: clean up lsp20 types issues * tests: clean up lsp7 types issue * tests: fix up types issues * tests: fix reentrancy tests * build: update package names (#885) * build: update package names * chore: update remmapingss * chore: fix import remappings * chore: update dodoc config --------- Co-authored-by: CJ42 <[email protected]> * feat: move constants in their respective packages (#884) * build: setup template package as `module` * build: setup constant export file in template * refactor!: move each TS constants & Types into their respective packages * refactor: add constants and typings for LSP2 * refactor: import interface IDs, typeIds and data keys per sub-package into root * chore: rename prettier config files to `.cjs` * revert: remove type `module` * chore: update import paths * build: register `build:js` command * build: fix `build:js` command and missing dependencies and configs * ci: cache `dist` folder * test: update import paths for constants and types * docs: add missing generated docs paths * chore: update incorrect Typechain paths * chore: remove `smock` library * refactror: remove legacy contracts & tests (#890) * docs: add packages table, npm version to each package (#886) * chore: create packages table * chore: add npm versaion badges to packages * build!: upgrade all packages + root to latest Hardhat version and ethers v6 (#889) * build!: create final package for `@lukso/lsp-smart-contracts` (#896) * chore!: move `@lukso/lsp-smart-contracts` in its own package * build: move all the build and config files into `packages/lsp-smart-contracts` * test: move all the tests/ under `packages/lsp-smart-contracts` * build: organise `package.json` for root and `@lukso/lsp-smart-contracts` * build: cleanup test and scripts commands from root to package * ci: adjust CI for build lint test for all packages * chore: remap import paths for `LSP0ERC725Account` to `@lukso/lsp0-contracts/` * ci: update CI job path runner for `solc_version` * build: tmp turn off global import disallowed in `.sol` file for `lsp-smart-contracts` * chore: remap import paths * test: fix Benchmark tests for ethers v6 syntax * chore: fix some Solidity import path compiler errors * build: update `package-lock.json` * test: update foundry tests setting for `@lukso/lsp-smart-contracts` * chore: add missing environnement variable in `turbo.json` * test: repair tests that import helpers from root * chore: fix types imports in tests * build: adjust foundry build settings to prevent race condition when installing solc in CI * chore: ignore temporarily lsp16 package for foundry tests * ci: disable temporarily foundry gas report in CI * ci: specify working directory for gas benchmark CI --------- Co-authored-by: b00ste <[email protected]> * chore: export artifacts from each package (#895) * chore: include types in the release package (#898) * build: prepare manifest file (#897) * chore: update manifest file for release * chore: add lsp-smart-contracts package * chiore: add pre-release true to lsp-smart-contracts package * build: remove `release-as` options in favour of git commit message `release-as` --------- Co-authored-by: CJ42 <[email protected]> * ci: setup CI to release per packages individually (#900) * docs: add documentation in `RELEASE.md` for creating pre-releases per packages * ci: update CI for monorepo configs * docs: add extra mention for pre-releases * ci: create JS script to publish each packages on npm * feat!: allow operator to revoke himself (#901) * feat!: allow operator to revoke himself * test: add test for operator revoking himself * refactor!: change LSP7 interfaceId * chore: fix parameter and generate natspec * Make `attributes` optional (#872) * chore: do suggested changes * feat: Add contract asset type (#891) * Add contract asset * Make fileType optional * PR remarks * Change names * chore: re-add updated tests in LSP7 + LSP8 --------- Co-authored-by: Dominik Zborowski <[email protected]> Co-authored-by: Jean Cvllr <[email protected]> Co-authored-by: CJ42 <[email protected]> --------- Co-authored-by: b00ste.lyx <[email protected]> Co-authored-by: Skima Harvey <[email protected]> Co-authored-by: Yamen Merhi <[email protected]> Co-authored-by: b00ste <[email protected]> Co-authored-by: Dominik Zborowski <[email protected]>
What does this PR introduce?
📦 Build
Upgrade Hardhat and ethers to latest version, including ethers v6.
Upgrade dependencies to latest, including:
hardhat
to latestv2.20.1
@nomicfoundation/hardhat-toolbox
tov4.0.0
Refactor all the scripts for building, tasks, testing and deployment to ethers v6
PR Checklist
npm run lint
&&npm run lint:solidity
(solhint)npm run format
(prettier)npm run build
npm run test