Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Setup LSP Smart Contracts as Monorepo on develop (#902)
* 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]>
- Loading branch information