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). - -
-Example of Sign-In with Ethereum screen -
- -## 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. - -
-Example of Sign-In with Ethereum 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. + +
+ +Example of Sign-In with Ethereum 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 zcmd>l>XKq<=)w)fpo#FiJ^E!l4cdN}J84)<#r9D|($|ibO_(MxRE49}?5W z&f4mUI~4OPhPjy#hm6*fXlR2NgLS<9M=WN#APs_v*QO6>O4tq50fXGU>`$-x0Re|p z-rBa5m6%f9rBWFah)r+Mg5Kn1}K5!#egsEXWSa{py5cw0LP( z1LPay`6Ok7x=|hU+1z#G#{z}7U+kgA2?Ae?PK1IKR^1AoE(D(zLP@CS%@Mk6(+ z@;;Mk+CXfa4mgwx@pllS3;>_`(+m>6G!{;a=YmI{=)!xFErhqD$TC|$Gv54EIx9@> zwWno%1(c#ky6*Gndufo-MBO(-E~~8K9X&4OI5kVgD3Hm+E|#L~{CHcF^2SgVLF1bo z1p7p689ciwww!(g)1V}u0gWs6f9wm77Ej(ifVIFm z!dcGKTa$_R!kboRfRP_m{B_~W(x>d6c%q3EL&pGo(clG3j%98J$~6;>C$FWTrm#Su zD^21f)xEb}?)dw0lPVKY6UnLr^e`RtG?YYMEs+n5(?o>t{$8F?e|BZ?&oqB8_)*Xc zkhV#>aB|}44--V*`Z}4Kh(4I_9px7Tq=&XQ?~(uXk!!wD>Eo#- z{fU^{t5=JEihv?TA%w0T!n;M=`sPXQO-6h(QI274_uiJ3=;&nxtDz5&{w82Jxr#1;_=*{CM z8t${Gb7#j$HRr9v`}wA7(5@EwF|WqrOrQ83mucrsUbN@{1$i*juD?H?1io2Z&4AZV zlQ(Z5Au!5o*9?s>1g$T6OLYrR0lywC6>TVtr{A-mrr*{(Lj?6AO0F2;cfuj&j0Guo zq)>coR%>u;=CYClodn~3k`g^#3jSCjf$B~&y3$Z-Q|Wpsekofi)*K3^8m1ejVEnsy zcg*Nv<9MEU6Veg>Up8WY4jJrI9Y?$O^y`Df(mT^S(ZX7g)0K0KtI zTOtqFT6`t(9~K)H7`9c2q|};GPprx;`B>SaSo5LA$n4{$tfV|JCNLbz{o;u@*}E8I zpJZJ-zZKMn8LA=sKC(6vHIkiFn|E(K=^;WEGxSY(1Ve-$W(`>&j|FKs={_lkU?p$6 za~zo{=?IyIz=nWh<}B^LkUFvQo7nq~ zH%?6UvX8QlIHdn|X;62I@Cj;L_D=_+-4MSIV9d=PVYe3G?cjLNPRmX}WW;XB;mdKx zp2`6-Ja6iBmanrgurjEwx2r#H7HFZg5?^m$c}l?i8(~FPZ(!-Rc+gdy?^t>EYE@(v z5L>`639%&qjiIqvArKq8pY#F}Gz%)NLp?uodSK&xv zo;CAstajX7Fu!8j0VD&m14VKobN=RZGdVUk#cZK0knjgzHVpK%`?epnIk|O-%6Q4` zMYYk9Ds;NIx$ky-Xf<&wZ;Nc3ajo$Jo^9{Z+%6xwOr&lLkGln1r-F#NoVl_;#(ykt zY4VDA@V&@o7uO@V=RV29?qgcE&Y00EOzbx8e%+1Y54&}{pSWAyfAB9|SK1zRq@#K^ zdb)wMJhq^`L*#iSfYOL!h;;pm4Uy`#!E3aTW)yKt(OS3Vj=wb_CZSe+ks+II{=&RM z@ih8M-b%_!_CK6#To2o4QOq;U|C%qDuWuJ@|LG^AL&ep?ouG4aRcrHiB5V_))P%57&dUt%+2W8gl(?5?}_BfaE&Xn9b{;@Co(UC`6&^hKznRoO*xC;H0eittJU zUxEI;hEVRPQeILk+m(s-*SWdUjcF2v2;ESzFZ+Ii`;o-Lw3i)JyF}cQYV8nhYs@O z#MC9?!@j~NqVTRArlEoUp#GSC>{J~_s=Q)ed7d(>%H4T+okGHJ!WSOQ!r{V2zIBVI zyd!MuT5E^w=*h{vzkCyRix2~fh5_q~JlX72QBX_UFSn1AFZQO#oe|*gH`X&ih|Z(N z!jR!m{Z1|hgvh}#ii?2D!DO%7=B&7eAtVK(>{pppSt0QavDu@~;LN_{1IL)*T>HHJ z(XiE^Rf?5h1`6k9n~b&m@0bxb#p<6XL&hKKk82k2^$NLem{%Jk>J{p~cZs!k23Fs# zSlLU~;8%B;;u_a^b&WmApKLngIJDMt+gMI9{!uH-m2f0-?rvi6S9L6NwEC;Jv)Es) z(Ng9h`iyasS$Q_Rs@eklOY`@4H?O(1Te{bW1120l zFXTSBKblZNq{xc*F6@+B>cH(_efkZ{VGb$^&Y)LF{e%{9_c%$M+D zJe{m)IBj5>1{aF@ZahG?F@9or5O;AdHhVXdKTX}V$X1(HH)VEmEtuW6t<4J5pFO7c zvN6>}7>m2b`iofw$zGlAqy*>gN;VK+0^gqvnrQJ84W`i3lK~6J?o)I3Vf!qi3BdSLe z8^3lW-J$xhap*z~5c%croOpZ3Zqup9X6}%4{Kom?#BR;^g4P0*i|ft1ZZ7brTXT@& z;z&cGwxsw;J|z3L4H7$$8BwEUc5%1=aHs6UV+yMQAdBXtzwXVY0L;z-KJ~W8^C*14 zxEGZB&~s0BxmjCjdg^QnnD2!>JaRsIx#0%|tbPK&1|QYx#g`x??ICJU=Fl&~vHa}Zt)>`;Bt`NpQaFE574bFz?!77gb zTv$L{kW{e6dJ}hn03^z!egr&Mb~y8(wp7wq0|0y(0f3+|0N@Ee6m$pxc)SAujz0ka zB3S?c@z=a|Eiw2GWD8YAIRNb6>swcODtrX(tCE2m06@g>?}MPMO@9d=L~&PElScue z!#+&zJwJfV$IW8R-vEy?c~2b#3;{gRXR>YtHx*iCeaQ zA7|Ao8zwJPiL-WU1L4jz81C064jzKug2`93WR&?AbYvuMSbQaF3O8Zv_HLD`1g7|G zLw5{+CH*O24n9%xD!(d9pX~#&*sqv({#dOO7x)~-^jpV&IQOU_v#2DT$gct4i%4Nj z`ea{q&+dB^%|C#DcOOVDY6NU5UB34<_LynWagq5^H-FMmohfI{F=|E??I3w`BooDThzdMrIpv?wkuzd;G*kw*L(``LC;kvmn zeGY7r)tp4E|CGK0v%Q5Zx!g)RgxNM76jlyi`_InVrDg0kXtj3X=&?08WD9o_ZQOkK z7K|AST-;nj9NTclrlca?5f-9xlYt6RBPZU{AE6EMuHg;s4P(>tn31hBDYE4K%==j= zxV0p+Ozg9EwdeCwNmt%CV@bj5)6n8tTZ-G$noW|I6~1I)<wSaW=>vGP^J9CPq|ZxqQDIS+?*@%KIKv}3LHlSTn?c3ysRAP(u zW+m2APj9#W0P*UZ6y`lhxtupg3)chC4~08A^P~T|^H`2^n($VnT!(O+3Pk%%!eDya z_Qm8w!QDKIfOdr$3tk}x8dA+`F8>1dHe-JEZmd>*>cE#z=$Zb$YL|a|iRgNM`l^0? z-Ke@7#JJNY7eD#nx7|~Zt>~#3!2icU?IQL<5G|5G?ncVv8(VkZQ{6D)^$P*^U`_5R z^t7OI!2CMfk`6n31~H)I(X)Yz^#RlGg?7EexBDuyal~!cO(i?exIoRszuWJ1+b__? z0OXs--7>RV$ymb=*mqd@6KCJuIm!iyTJYXJw8v|p3!2zOnFM4DPMPA2$ed&U2+*DmahgC zHX-CI=mcSy1ES4Rox_Iwde-&~w(d51%-Xz7BsaWXmYJIrxRn4vDI z_@_0IZcYfo7qe(%m@ZdOkyJKU^wZ{7w@2MOj1FxP6bmECxgn_@=bzKKtFpivqY30K zQTpNmmNuDA3CD;ftzcYYl?PmY?c~(Ns>c8iY3G`J*GEnkYgG9=P)3J>&X^g(UfPMXx>squ8b5 zg92WWAo-Xxt5LW`T`c5%3F+g2t3<3U(TW@zn@7p!mUgt9W$&r5QW2H7s|iv`()(qZ z5XDmbJi3+S0;;-FZxt(2EH*1wj?hR+lJo0VRiDS-7v4_OovPT%7TNqOhS@#ivi7&D zwJ$F?c`TR5T|}WgmS{Bmk7+`$?I<%n&J&_(LlK_}fj~;IUC57OfJiQyz}35C$FLO< zUVo9@xHl(ZYK6jrtp2a#--anEREm+{*I1FPo79lBf}b!V15sKB9Nh)KD?}2&vKeNBlU;3#N%^V#Kh(;88 zYZmpZC~M0|Hx%5a_J-u6Tk2`>zWOLAUY?xOr3k6gWK|!D?Nxm0LkOY3W!``H3v8%n~}&_B+E~OnZY3%$u*x4XxGv z$pm!L?y_-L^H`XFMIbIp2A3ZCCU5pjrlkXlA0uoqo8NxGtJF5|l-cFOFc((HS^R3F zrde6~qcmf#zwfgutvWtxs*M)j*?4js-s_aD!XyCU%Njjt*a?_HlhcMxj9sH`(_c9T>*17?bR)DE5wzhyi5KRPDx< zStJ427{mHa*ur!Anz}k?5tsQt2T_!wuri1DN;7gNz9-nzAG6n_(4S~c?ib-fo`9yw ztqf13vfB%PB=}JOTAxFAk;gaU_Dh`0o(ikhup1qckxARpBt_a$S*Vxkl^x}p0J0@W ztd5kNPs4I%5HRRY^IK-^gOTY9@2DK8;_tz@lmwyJXLPAH->3JV>&O-Wko|Fh0xrA7 z@8vt@OZxY!@9qron)Z(qUzCeHimkQom0fQlC##Y|!s)rv?zBa@CrR--H1iYZ-m6-d zY$zVB(v=lGMbORj2>W1dJSa>Xx;y-^N9^9l(zGu5uAe=mn^4aUj$mk_^_q-eylL_e)n(wk8U#cQX>N?e9qyI527f_^0P!&HU zp0GmJ*eAuoLO3GhS{icUk<$2yMy!duvvT%VlI#Mw3L#jb7y;`YNyX|X18sA>DHiz> zg{E&9IKtBH-di3B_;z%v6@^u}$7*q(LEps~Pe-fCxZkLyp3Dn!6gBFJeEL+4xYG4d za_1P|=^(3EGVk~N`(W|=>%mV>2qv+9iyKoh&%-O~X;V%wcK5ycsY1tlqE|~I`-roY z`G)6XbA5Q!DC!GJBG>ew^@e*kOc&=!X^*(Sb+XRIiq80BQLM`*7e;6yizBo@`ksV6 z%inlfMW3$_<0=py&v!WuL}i2*H(ZEgkuX9$we-rg4KXgK55w=nwchHg&{Qe8;nl{A z31L)*ARu$gru~(wv}`0-)OibFR~7lJF!JqCM{AgV>bnPPJ61RvXK<|MMEr_*T0o*1 z{q@0l(C`|ekF*!)S!5sUe&KN0YB)nxkYVwSh8+gs>)}4WoDcdG*@zWkDh1zBkbd-&_da%3_@*HR z(R27B*hqe@GGNTX#gs9s<|E$;3wuou-pOwZF%1f1yV&RV_cDt67hm)Zfl@OqoU zFTpswUTaOm1G4@aXYde2x|9X~G5+hwaX z+|=sNMdb6%R!~GTZ*wF711{-1!UXwKE(qEWEJQwp%;>IQz0il1YtW#3_~SxzUZi8V zk~Jy%glI2u|Hjw1@A00HQ<^oUeu#eKU+!?otoL*&m*yk0CzVE75FQO~56%$(cHOWT zFR7ds@%q_xFKTS9nIO&>8W++%0n~ouoQOYnk{kica}&2+{My z2MG)i=M@fo-`xYN1}`~hNd}s!W`5SZJo(J}V&&)kiw>Ddx;uHI=NIuge166wS65!6M;qz(jH z)L5Xjo~2ke<)g0}ym9W90G0>1fpP_5e;!V5wmp?L)#HJ8FONXZz{EuZs#rLWMbQ6$ zvQTfwuK)n^Ot_AbYv{W-kR=vhq>^%BtoXB@>Dz{p3v?S)`qUkopwfk3i&!uI0e=)t zD|yE_D%rKV0GhzA*U&3Q!5&=oE zLS8Hrax{iSub=qpzc*Bd9HWOVbvir>32DkGY;zls-P z>-5xKYRN7xXUKR&85MK&@JAYMdl1f%VhNdRoB|sRbR_RNlwI+zIVm#KvT(kI?uxT( zSsVIJ7@6@WHGZfmy`{XpsEshh&@19|jI45By`R1JB=qy#@0OiWYA?W~Of268e-$e@ zEm_PWxXU&k(15j1&T?6R7rDaaWKJ8g#nt98A1nrSQa_ zxvzN%*p?0{wUHaw{KcU4hleh{bn!>WLW9EbLRID$L;I%E>29=LE+zftusmZz<(oa)}zsq|Ms2p?hO{w!M7gXy6(&* z!?&K_2w#Cllj%kRBJv*H{>>yIs}A`$r%NHt|HNtf0^xQV$)7b${mw#)6J%w8N|UgT zEQP3z%0AIac6r#prVK9RpH$a}4B*L{xtN9yv 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 literal 0 HcmV?d00001 From 51bae351a834b9d7a77e6ef140effb069bde5229 Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Wed, 18 Oct 2023 11:01:31 +0200 Subject: [PATCH 2/3] fix broken link --- docs/standards/relayer-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standards/relayer-api.md b/docs/standards/relayer-api.md index a5ea0de3bf..c753bd7b50 100644 --- a/docs/standards/relayer-api.md +++ b/docs/standards/relayer-api.md @@ -103,7 +103,7 @@ const signer = ethers.utils.verifyMessage(arrayify(message), signature); // Sign -To verify if the signature was signed by an authorized EOA, please refer to the [Sign-In With Ethereum](../guides/browser-extension/sign-in-with-ethereum#4-verify-the-signature) guide. +To verify if the signature was signed by an authorized EOA, please refer to the [Sign-In With Ethereum](../learn/dapp-developer/siwe.md) guide. From 1a34e361ef34cb13f31b7d7744a46730a1b73eba Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Wed, 18 Oct 2023 12:24:47 +0200 Subject: [PATCH 3/3] add tip box --- docs/learn/dapp-developer/siwe.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/learn/dapp-developer/siwe.md b/docs/learn/dapp-developer/siwe.md index 5caad76e32..44d00918c4 100644 --- a/docs/learn/dapp-developer/siwe.md +++ b/docs/learn/dapp-developer/siwe.md @@ -36,6 +36,9 @@ 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). +:::tip +If you need further explanation on the `SiWeMessage` properties, please have a look at the [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) specification. +::: ```js import UniversalProfileContract from '@lukso/lsp-smart-contracts/artifacts/UniversalProfile.json';