From a2e3b16baa1efa3bd100d80a5e3bb779d2ba910e Mon Sep 17 00:00:00 2001
From: biancabuzea200
Date: Wed, 18 Oct 2023 10:45:54 +0200
Subject: [PATCH 1/3] create 'SignInWithETH' guide under 'Learn'
---
.../sign-arbitrary-messages.md | 135 ----------
.../sign-in-with-ethereum.md | 250 ------------------
docs/learn/dapp-developer/siwe.md | 86 ++++++
.../universal-profile/lsp6-key-manager.md | 2 +-
static/img/learn/siwe.png | Bin 0 -> 95961 bytes
5 files changed, 87 insertions(+), 386 deletions(-)
delete mode 100644 docs/guides/browser-extension/sign-arbitrary-messages.md
delete mode 100644 docs/guides/browser-extension/sign-in-with-ethereum.md
create mode 100644 docs/learn/dapp-developer/siwe.md
create mode 100644 static/img/learn/siwe.png
diff --git a/docs/guides/browser-extension/sign-arbitrary-messages.md b/docs/guides/browser-extension/sign-arbitrary-messages.md
deleted file mode 100644
index 6b183cf571..0000000000
--- a/docs/guides/browser-extension/sign-arbitrary-messages.md
+++ /dev/null
@@ -1,135 +0,0 @@
----
-sidebar_label: 'Sign arbitrary messages'
-sidebar_position: 5
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Sign arbitrary messages
-
-:::tip
-
-If you want to authenticate a user, please refer to the [Sign-In with Ethereum](./sign-in-with-ethereum.md) page.
-
-:::
-
-This article explains how to request a signature from the [LUKSO UP Browser Extension](../browser-extension/install-browser-extension.md).
-
-
-
-
-
-## 1. Initialize a blockchain provider
-
-The UP Browser Extension injects a global API into the website that is visited. This API is available under `window.ethereum`. You can use this object to initialise your [web3.js](https://web3js.readthedocs.io/en/v1.8.0/) or [Ethers.js](https://docs.ethers.io/v5/) library.
-
-
-
-
-```js
-import { ethers } from 'ethers';
-
-const etherProvider = new ethers.providers.Web3Provider(window.ethereum);
-```
-
-
-
-
-```js
-import Web3 from 'web3';
-
-const web3 = new Web3(window.ethereum);
-```
-
-
-
-
-## 2. Get the Universal Profile address
-
-A call to `requestAccounts` will open the extension popup and prompt the user to select her or his Universal Profile to interact with your Dapp. The UP Browser Extension will send the Universal Profile address back to your Dapp (which is the address of the [`LSP0 - ERC725 Account`](../../standards/universal-profile/lsp0-erc725account.md) smart contract).
-
-
-
-
-```js
-const accountsRequest = await etherProvider.send('eth_requestAccounts', []);
-const signer = etherProvider.getSigner();
-const upAddress = await signer.getAddress();
-// 0x3E39275Ed3B370E074534edeE13a166512AD32aB
-```
-
-
-
-
-```js
-const accountsRequest = await web3.eth.requestAccounts();
-const accounts = await web3.eth.getAccounts();
-const upAddress = accounts[0];
-// 0x3E39275Ed3B370E074534edeE13a166512AD32aB
-```
-
-
-
-
-```js
-const accountsRequest = await window.ethereum.request({
- method: 'eth_requestAccounts',
- params: [],
-});
-const accounts = await window.ethereum.request({
- method: 'eth_accounts',
- params: [],
-});
-
-const upAddress = accounts[0];
-```
-
-
-
-
-## 3. Sign the message
-
-Once you have access to the Universal Profile address, you can request a signature. The UP Browser Extension will sign the message with the controller key used by the extension (a smart contract can't sign).
-
-
-
-
-:::caution
-
-When calling Ethers.js [`signer.signMessage( message )`](https://docs.ethers.io/v5/api/signer/#Signer-signMessage), it uses `personal_sign` RPC call under the hood. However, our extension only supports the latest version of [`eth_sign`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign). Therefore, you need to use `provider.send("eth_sign", [upAddress, message])` instead.
-
-You can get more information [here](https://github.com/MetaMask/metamask-extension/issues/15857) and [here](https://github.com/ethers-io/ethers.js/issues/1544).
-
-:::
-
-
-
-```js
-const message = 'Please sign this message 😊';
-const signature = await etherProvider.send('eth_sign', [upAddress, message]);
-// 0x38c53...
-```
-
-
-
-
-
-
-```js
-const message = 'Please sign this message 😊';
-const signature = await web3.eth.sign(message, upAddress);
-// 0x38c53...
-```
-
-
-
-
-## 4. Verify the signature
-
-Your Dapp has now received a message signed by the controller address of the Universal Profile. To finalise the login, you need to verify if the message was signed by an address which has the `SIGN` permission for this Universal Profile.
-
-The verification process is the same as for [Sign-In with Ethereum](./sign-in-with-ethereum.md#4-verify-the-signature), you can check how it is done there.
diff --git a/docs/guides/browser-extension/sign-in-with-ethereum.md b/docs/guides/browser-extension/sign-in-with-ethereum.md
deleted file mode 100644
index 110f39b827..0000000000
--- a/docs/guides/browser-extension/sign-in-with-ethereum.md
+++ /dev/null
@@ -1,250 +0,0 @@
----
-sidebar_label: 'Sign-In with Ethereum'
-sidebar_position: 4
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Sign-In with Ethereum
-
-The [LUKSO UP Browser Extension](./install-browser-extension.md) is compatible with [EIP-4361: Sign-In with Ethereum](https://eips.ethereum.org/EIPS/eip-4361).
-Therefore, if the message you want to sign complies with this standard, the LUKSO UP Browser Extension will show a custom login screen.
-
-
-
-
-
-## 1. Get the Universal Profile address
-
-The UP Browser Extension injects the Universal Profile smart contract address into the page. We need this address to generate the message to sign.
-
-
-
-
-```js
-import { ethers } from 'ethers';
-
-const etherProvider = new ethers.providers.Web3Provider(window.ethereum);
-
-const accountsRequest = await etherProvider.send('eth_requestAccounts', []);
-const signer = etherProvider.getSigner();
-const upAddress = await signer.getAddress();
-// 0x3E39275Ed3B370E074534edeE13a166512AD32aB
-```
-
-
-
-
-```js
-import Web3 from 'web3';
-
-const web3 = new Web3(window.ethereum);
-
-const accountsRequest = await web3.eth.requestAccounts();
-const accounts = await web3.eth.getAccounts();
-const upAddress = accounts[0];
-// 0x3E39275Ed3B370E074534edeE13a166512AD32aB
-```
-
-
-
-
-## 2. Prepare the message
-
-To enable the Sign-In With Ethereum (SIWE) screen, you need to prepare a message with a specific format, as you can see on the [standard page](https://eips.ethereum.org/EIPS/eip-4361) or below.
-
-
-SIWE Template
-
-
-
-```
-${domain} wants you to sign in with your Ethereum account:
-${address}
-
-${statement}
-
-URI: ${uri}
-Version: ${version}
-Chain ID: ${chain-id}
-Nonce: ${nonce}
-Issued At: ${issued-at}
-Expiration Time: ${expiration-time}
-Not Before: ${not-before}
-Request ID: ${request-id}
-Resources:
-- ${resources[0]}
-- ${resources[1]}
- ...
-- ${resources[n]}
-```
-
-
-
-
-
-In JavaScript, you can use the [`siwe`](https://www.npmjs.com/package/siwe) library.
-
-
-
-
-```js
-import { SiweMessage } from 'siwe';
-
-// ...
-
-const message = new SiweMessage({
- domain: window.location.host,
- address: upAddress,
- statement: 'By logging in you agree to the terms and conditions.',
- uri: window.location.origin,
- version: '1',
- chainId: '2828', // For LUKSO L16
- resources: ['https://terms.website.com'],
-});
-
-const siweMessage = message.prepareMessage();
-```
-
-
-
-
-
-
-```js
-// ...
-
-const domain = window.location.host;
-const origin = window.location.origin;
-const LUKSO_L16_CHAIN_ID = '2828';
-const nonce = 'm97bdsjo'; // a randomized token, at least 8 alphanumeric characters
-const date = new Date();
-const issuedAt = date.toISOString();
-
-const siweMessage = `${domain} wants you to sign in with your Ethereum account:
-
-${upAddress}
-
-By logging in you agree to the terms and conditions.
-
-URI: ${origin}
-Version: 1
-Chain ID: ${LUKSO_L16_CHAIN_ID}
-Nonce: ${nonce}
-Issued At: ${issuedAt}
-Resources:
-- https://terms.website.com`;
-```
-
-
-
-
-
-## 3. Sign the message
-
-Once you have access to the Universal Profile address, you can request a signature. The UP Browser Extension will sign the message with the controller key used by the extension (a smart contract can't sign).
-
-
-
-
-:::caution
-
-When calling Ethers.js [`signer.signMessage( message )`](https://docs.ethers.io/v5/api/signer/#Signer-signMessage), it uses `personal_sign` RPC call under the hood. However, our extension only supports the latest version of [`eth_sign`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign). Therefore, you need to use `provider.send("eth_sign", [upAddress, message])` instead.
-
-You can get more information [here](https://github.com/MetaMask/metamask-extension/issues/15857) and [here](https://github.com/ethers-io/ethers.js/issues/1544).
-
-:::
-
-
-
-```js
-const signature = await etherProvider.send('eth_sign', [upAddress, siweMessage]);
-// 0x38c53...
-```
-
-
-
-
-
-
-```js
-const signature = await web3.eth.sign(siweMessage, upAddress);
-// 0x38c53...
-```
-
-
-
-
-🎉 You received the signed message. Now, you need to verify it.
-
-## 4. Verify the signature
-
-Your Dapp has now received a message signed by the controller address of the Universal Profile. To finalise the login, you need to verify if the message was signed by an address which has the `SIGN` permission for this UP.
-
-To do so, you can use the [`isValidSignature(...)`](../../contracts/contracts/UniversalProfile.md#isvalidsignature) function to check if the signature was signed ([EIP-1271](https://eips.ethereum.org/EIPS/eip-1271)) by an EOA that has the [`SIGN` permission](../../standards/universal-profile/lsp6-key-manager#permissions) over the Universal Profile.
-
-
-
-
-
-
-```js
-import UniversalProfileContract from '@lukso/lsp-smart-contracts/artifacts/UniversalProfile.json';
-
-// ...
-
-const myUniversalProfileContract = new ethers.Contract(upAddress, UniversalProfileContract.abi, signer);
-
-const hashedMessage = ethers.utils.hashMessage(siweMessage);
-
-const isValidSignature = await myUniversalProfileContract.isValidSignature(hashedMessage, signature);
-
-const MAGIC_VALUE = '0x1626ba7e'; // https://eips.ethereum.org/EIPS/eip-1271
-
-if (isValidSignature === MAGIC_VALUE) {
- console.log('🎉 Sign-In successful!');
-} else {
- // The EOA which signed the message has no SIGN permission over this UP.
- console.log('😠Log In failed');
-}
-```
-
-
-
-
-
-
-
-
-```js
-import UniversalProfileContract from '@lukso/lsp-smart-contracts/artifacts/UniversalProfile.json';
-
-// ...
-
-const myUniversalProfileContract = new web3.eth.Contract(UniversalProfileContract.abi, upAddress);
-
-const hashedMessage = web3.eth.accounts.hashMessage(siweMessage);
-
-const MAGIC_VALUE = '0x1626ba7e'; // https://eips.ethereum.org/EIPS/eip-1271
-
-// if the signature is valid it should return the magic value 0x1626ba7e
-const isValidSignature = await myUniversalProfileContract.methods.isValidSignature(hashedMessage, signature).call();
-
-if (isValidSignature === MAGIC_VALUE) {
- console.log('🎉 Log In successful!');
-} else {
- // The EOA which signed the message has no SIGN permission over this UP.
- console.log('😠Log In failed');
-}
-```
-
-
-
-
-
-
-If `isValidSignature` returns the magic value: `0x1626ba7e`, then, the message was signed by an EOA which has a `SIGN` permission for this Universal Profile.
diff --git a/docs/learn/dapp-developer/siwe.md b/docs/learn/dapp-developer/siwe.md
new file mode 100644
index 0000000000..5caad76e32
--- /dev/null
+++ b/docs/learn/dapp-developer/siwe.md
@@ -0,0 +1,86 @@
+---
+sidebar_label: 'Sign-In with Ethereum'
+sidebar_position: 2
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+# Sign-In with Ethereum
+
+The [LUKSO UP Browser Extension](https://chrome.google.com/webstore/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn) is compatible with [EIP-4361: Sign-In with Ethereum](https://eips.ethereum.org/EIPS/eip-4361).
+Therefore, if the message you want to sign complies with this standard, the LUKSO UP Browser Extension will show a custom login screen.
+
+
+
+
+
+
+
+## 1. Get the Universal Profile address
+
+```js
+import Web3 from 'web3';
+
+const web3 = new Web3(window.ethereum);
+
+// Request the user's Universal Profile address
+await web3.eth.requestAccounts();
+const accounts = await web3.eth.getAccounts();
+```
+
+## 2. Sign the message
+
+Once you have access to the Universal Profile address, you can request a signature. The UP Browser Extension will sign the message with the controller key used by the extension (a smart contract can't sign).
+
+```js
+import UniversalProfileContract from '@lukso/lsp-smart-contracts/artifacts/UniversalProfile.json';
+import { SiweMessage } from 'siwe';
+
+const myUniversalProfileContract = new web3.eth.Contract(
+ UniversalProfileContract.abi,
+ accounts[0],
+);
+// To enable the Sign-In With Ethereum (SIWE) screen, you need to prepare a message with a specific format
+const hashedMessage = web3.eth.accounts.hashMessage(
+ new SiweMessage({
+ domain: window.location.host, // domain requesting the signing
+ address: upAddress, // address performing the signing
+ statement: 'By logging in you agree to the terms and conditions.', // a human-readable assertion user signs
+ uri: window.location.origin, // URI from the resource that is the subject of the signing
+ version: '1', // current version of the SIWE Message
+ chainId: '4201', // Chain ID to which the session is bound, 4201 is LUKSO Testnet
+ resources: ['https://terms.website.com'], // information the user wishes to have resolved as part of authentication by the relying party
+ }).prepareMessage(),
+);
+
+// Request the user to sign the login message with his Universal Profile
+// The UP Browser Extension will sign the message with the controller key used by the extension (a smart contract can't sign)
+const signature = await web3.eth.sign(siweMessage, accounts[0]);
+// 0x38c53...
+```
+
+## 3. Verify the signature on the user's Universal Profile
+
+Your Dapp has now received a message signed by the controller address of the Universal Profile. To finalise the login, you need to verify if the message was signed by an address which has the `SIGN` permission for this UP.
+
+To do so, you can use the [`isValidSignature(...)`](../../contracts/contracts/UniversalProfile.md#isvalidsignature) function to check if the signature was signed ([EIP-1271](https://eips.ethereum.org/EIPS/eip-1271)) by an EOA that has the [`SIGN` permission](../../standards/universal-profile/lsp6-key-manager#permissions) over the Universal Profile.
+
+```js
+// If the signature is valid it should return the succes value 0x1626ba7e, then, the message was signed by an EOA which has a SIGN permission for this Universal Profile.
+// For additional details, check https://eips.ethereum.org/EIPS/eip-1271
+const isValidSignature = await myUniversalProfileContract.methods
+ .isValidSignature(hashedMessage, signature)
+ .call();
+
+if (isValidSignature === '0x1626ba7e') {
+ console.log('Log In successful!');
+} else {
+ // The EOA which signed the message has no SIGN permission over this UP.
+ console.log('Log In failed');
+}
+```
diff --git a/docs/standards/universal-profile/lsp6-key-manager.md b/docs/standards/universal-profile/lsp6-key-manager.md
index 84aeba8f1e..91e5623b75 100644
--- a/docs/standards/universal-profile/lsp6-key-manager.md
+++ b/docs/standards/universal-profile/lsp6-key-manager.md
@@ -324,7 +324,7 @@ Developers can use the `DECRYPT` permission to decrypt data or messages, for ins
value = 0x0000000000000000000000000000000000000000000000000000000000200000
-The permission `SIGN` enables a controller to authenticate on behalf of the UP. It can be used primarily in Web 2.0 apps to [sign login messages](../../guides/browser-extension/sign-in-with-ethereum).
+The permission `SIGN` enables a controller to authenticate on behalf of the UP. It can be used primarily in Web 2.0 apps to [sign login messages](../../learn/dapp-developer/siwe.md).
diff --git a/static/img/learn/siwe.png b/static/img/learn/siwe.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e7b0fb9138333f463d3f64bc1ecb20c6f678497
GIT binary patch
literal 95961
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%0AIac6r#prVK9RpH$a}4B*L{xtN9yv
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
z!-amLamci