From 88172dec09d6768a504de7c053e220efe7ba7bbb Mon Sep 17 00:00:00 2001 From: CJ42 Date: Tue, 3 Sep 2024 20:36:49 +0900 Subject: [PATCH 1/3] add Foundry installation workaround instructions + list of individual LSP packages with version and GitHub links --- docs/contracts/introduction.md | 82 +++++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/docs/contracts/introduction.md b/docs/contracts/introduction.md index 71c9f4a3c..5b3349e49 100644 --- a/docs/contracts/introduction.md +++ b/docs/contracts/introduction.md @@ -9,11 +9,32 @@ import {ContractCardsGallery} from '@site/src/components/ContractCardsGallery'; # Smart Contracts -> The smart contracts are public and open source on [GitHub](https://github.com/lukso-network/lsp-smart-contracts). github badge -> -> They are available as a npm package [`@lukso/lsp-smart-contracts`](https://www.npmjs.com/package/@lukso/lsp-smart-contracts). npm badge - -
+| Package | Version | GitHub | +| :------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`@lukso/lsp-smart-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp-smart-contracts) | npm badge | github badge | +| [`@lukso/lsp0-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lspO-contracts) | npm badge | github badge | +| [`@lukso/lsp1-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp1-contracts) | npm badge | github badge | +| [`@lukso/lsp1delegate-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp1delegate-contracts) | npm badge | github badge | +| [`@lukso/lsp2-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp2-contracts) | npm badge | github badge | +| [`@lukso/lsp3-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp3-contracts) | npm badge | github badge | +| [`@lukso/lsp4-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp4-contracts) | npm badge | github badge | +| [`@lukso/lsp5-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp5-contracts) | npm badge | github badge | +| [`@lukso/lsp6-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp6-contracts) | npm badge | github badge | +| [`@lukso/lsp7-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp7-contracts) | npm badge | github badge | +| [`@lukso/lsp8-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp8-contracts) | npm badge | github badge | +| [`@lukso/lsp9-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp9-contracts) | npm badge | github badge | +| [`@lukso/lsp10-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp10-contracts) | npm badge | github badge | +| [`@lukso/lsp11-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp11-contracts) | npm badge | github badge | +| [`@lukso/lsp12-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp12-contracts) | npm badge | github badge | +| [`@lukso/lsp14-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp14-contracts) | npm badge | github badge | +| [`@lukso/lsp16-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp16-contracts) | npm badge | github badge | +| [`@lukso/lsp17-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp17-contracts) | npm badge | github badge | +| [`@lukso/lsp17contractextension-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp17contractextension-contracts) | npm badge | github badge | +| [`@lukso/lsp20-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp20-contracts) | npm badge | github badge | +| [`@lukso/lsp23-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp23-contracts) | npm badge | github badge | +| [`@lukso/lsp25-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp25-contracts) | npm badge | github badge | +| [`@lukso/lsp26-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp26-contracts) | npm badge | github badge | +| [`@lukso/universalprofile-contracts`](https://www.npmjs.com/package/@lukso/@lukso/universalprofile-contracts) | npm badge | github badge | **Welcome to the LUKSO Smart Contracts documentation!** @@ -25,6 +46,10 @@ This modular design also helps in making the codebase easier to navigate and und ## Installation +### with npm, yarn or pnpm + +To get all the LSP smart contracts, install the `@lukso/lsp-smart-contracts`. + @@ -52,6 +77,53 @@ pnpm add @lukso/lsp-smart-contracts +You can also install individual package based on the LSP that you need (see table above). For instance, if you only need the LSP7 Digital Asset contract implementation for your project, simply install the `@lukso/lsp7-contracts` package. + + + + +```bash +npm install @lukso/lsp7-contracts +``` + + + + + +```bash +yarn add @lukso/lsp7-contracts +``` + + + + + +```bash +pnpm add @lukso/lsp7-contracts +``` + + + + + +### with Foundry + +Currently, the monorepo structure of the LSP Smart Contracts create issues when installing via Foundry and forge. As a workaround, it is recommend to use the following method: + +1. install the smart contract package with your preferred package manager as shown above (npm, yarn or pnpm). + +```bash +npm i @lukso/lsp7-contracts +``` + +2. add the following in your `remappings.txt` or `foundry.toml`. + +```txt title="remappings.txt" +@lukso/=node_modules/@lukso/ +``` + +This will install the LUKSO LSP Solidity contracts in your `node_modules/` folder and forge will remap your `import @lukso/...` statements in your `.sol` files by locating the LSP contracts in the `node_modules/` folder. + ## Overview Overall the contracts can be divided by their usage. From 780cdad5d8a8842bfa5c4ca758dd7b01fb49403b Mon Sep 17 00:00:00 2001 From: CJ42 Date: Wed, 4 Sep 2024 12:22:13 +0900 Subject: [PATCH 2/3] make tables as two columns --- docs/contracts/introduction.md | 67 +++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/docs/contracts/introduction.md b/docs/contracts/introduction.md index 5b3349e49..8c35ee99c 100644 --- a/docs/contracts/introduction.md +++ b/docs/contracts/introduction.md @@ -9,32 +9,47 @@ import {ContractCardsGallery} from '@site/src/components/ContractCardsGallery'; # Smart Contracts -| Package | Version | GitHub | -| :------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`@lukso/lsp-smart-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp-smart-contracts) | npm badge | github badge | -| [`@lukso/lsp0-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lspO-contracts) | npm badge | github badge | -| [`@lukso/lsp1-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp1-contracts) | npm badge | github badge | -| [`@lukso/lsp1delegate-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp1delegate-contracts) | npm badge | github badge | -| [`@lukso/lsp2-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp2-contracts) | npm badge | github badge | -| [`@lukso/lsp3-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp3-contracts) | npm badge | github badge | -| [`@lukso/lsp4-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp4-contracts) | npm badge | github badge | -| [`@lukso/lsp5-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp5-contracts) | npm badge | github badge | -| [`@lukso/lsp6-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp6-contracts) | npm badge | github badge | -| [`@lukso/lsp7-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp7-contracts) | npm badge | github badge | -| [`@lukso/lsp8-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp8-contracts) | npm badge | github badge | -| [`@lukso/lsp9-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp9-contracts) | npm badge | github badge | -| [`@lukso/lsp10-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp10-contracts) | npm badge | github badge | -| [`@lukso/lsp11-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp11-contracts) | npm badge | github badge | -| [`@lukso/lsp12-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp12-contracts) | npm badge | github badge | -| [`@lukso/lsp14-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp14-contracts) | npm badge | github badge | -| [`@lukso/lsp16-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp16-contracts) | npm badge | github badge | -| [`@lukso/lsp17-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp17-contracts) | npm badge | github badge | -| [`@lukso/lsp17contractextension-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp17contractextension-contracts) | npm badge | github badge | -| [`@lukso/lsp20-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp20-contracts) | npm badge | github badge | -| [`@lukso/lsp23-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp23-contracts) | npm badge | github badge | -| [`@lukso/lsp25-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp25-contracts) | npm badge | github badge | -| [`@lukso/lsp26-contracts`](https://www.npmjs.com/package/@lukso/@lukso/lsp26-contracts) | npm badge | github badge | -| [`@lukso/universalprofile-contracts`](https://www.npmjs.com/package/@lukso/@lukso/universalprofile-contracts) | npm badge | github badge | +
+ +
+ +| Package | Version | +| :----------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`@lukso/lsp-smart-contracts`](https://github.com/lukso-network/lsp-smart-contracts) | npm badge | +| [`@lukso/lsp0-contracts`](https://github.com/lukso-network/lsp0-contracts) | npm badge | +| [`@lukso/lsp1-contracts`](https://github.com/lukso-network/lsp1-contracts) | npm badge | +| [`@lukso/lsp1delegate-contracts`](https://github.com/lukso-network/lsp1delegate-contracts) | npm badge | +| [`@lukso/lsp2-contracts`](https://github.com/lukso-network/lsp2-contracts) | npm badge | +| [`@lukso/lsp3-contracts`](https://github.com/lukso-network/lsp3-contracts) | npm badge | +| [`@lukso/lsp4-contracts`](https://github.com/lukso-network/lsp4-contracts) | npm badge | +| [`@lukso/lsp5-contracts`](https://github.com/lukso-network/lsp5-contracts) | npm badge | +| [`@lukso/lsp6-contracts`](https://github.com/lukso-network/lsp6-contracts) | npm badge | +| [`@lukso/lsp7-contracts`](https://github.com/lukso-network/lsp7-contracts) | npm badge | +| [`@lukso/lsp8-contracts`](https://github.com/lukso-network/lsp8-contracts) | npm badge | +| [`@lukso/lsp9-contracts`](https://github.com/lukso-network/lsp9-contracts) | npm badge | + +
+ +
+ +| Package | Version | +| :------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`@lukso/lsp10-contracts`](https://github.com/lukso-network/lsp10-contracts) | npm badge | +| [`@lukso/lsp11-contracts`](https://github.com/lukso-network/lsp11-contracts) | npm badge | +| [`@lukso/lsp12-contracts`](https://github.com/lukso-network/lsp12-contracts) | npm badge | +| [`@lukso/lsp14-contracts`](https://github.com/lukso-network/lsp14-contracts) | npm badge | +| [`@lukso/lsp16-contracts`](https://github.com/lukso-network/lsp16-contracts) | npm badge | +| [`@lukso/lsp17-contracts`](https://github.com/lukso-network/lsp17-contracts) | npm badge | +| [`@lukso/lsp17contractextension-contracts`](https://github.com/lukso-network/lsp17contractextension-contracts) | npm badge | +| [`@lukso/lsp20-contracts`](https://github.com/lukso-network/lsp20-contracts) | npm badge | +| [`@lukso/lsp23-contracts`](https://github.com/lukso-network/lsp23-contracts) | npm badge | +| [`@lukso/lsp25-contracts`](https://github.com/lukso-network/lsp25-contracts) | npm badge | +| [`@lukso/lsp26-contracts`](https://github.com/lukso-network/lsp26-contracts) | npm badge | +| [`@lukso/universalprofile-contracts`](https://github.com/lukso-network/universalprofile-contracts) | npm badge | + +
+ +
**Welcome to the LUKSO Smart Contracts documentation!** From 493703ee0c62ef18d30b413f3b747cda6d44bffc Mon Sep 17 00:00:00 2001 From: CJ42 Date: Wed, 4 Sep 2024 19:47:54 +0900 Subject: [PATCH 3/3] move introduction content above the table --- docs/contracts/introduction.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/contracts/introduction.md b/docs/contracts/introduction.md index 8c35ee99c..c2637e117 100644 --- a/docs/contracts/introduction.md +++ b/docs/contracts/introduction.md @@ -9,9 +9,17 @@ import {ContractCardsGallery} from '@site/src/components/ContractCardsGallery'; # Smart Contracts +**Welcome to the LUKSO Smart Contracts documentation!** + +You will find on this page all the documentation and resources related to the `@lukso/lsp-smart-contracts`, the reference implementation in Solidity of the **[LSPs (LUKSO Standard Proposals)](../standards/introduction.md)**. + +Each LSP standard and features are implemented in separate contracts under their own package. This allows developers to *"pick and choose"* the contracts for the requirements and behaviours they need for their protocols and applications. The `@lukso/lsp-smart-contracts` package also contains all the LSPs implementations listed below. + +This modular design also helps in making the codebase easier to navigate and understand for developers using it. +
-
+
| Package | Version | | :----------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -51,14 +59,6 @@ import {ContractCardsGallery} from '@site/src/components/ContractCardsGallery';
-**Welcome to the LUKSO Smart Contracts documentation!** - -In this section, you will find all the documentation and resources related to the `@lukso/lsp-smart-contracts`, the reference contract implementations in Solidity of the **[LUKSO Standard Proposals](../standards/introduction.md)**. - -The `@lukso/lsp-smart-contracts` codebase is modular, with each LSP standard and features implemented in separate contracts. This allows smart contract developers to _"pick and choose"_ the contracts for the requirements and behaviors they need for their protocols and applications. - -This modular design also helps in making the codebase easier to navigate and understand for developers using it. - ## Installation ### with npm, yarn or pnpm