diff --git a/404.html b/404.html index d4ecd870..325f0bff 100644 --- a/404.html +++ b/404.html @@ -4,10 +4,10 @@ LUKSO Support Center - - + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/Extension/common-errors/index.html b/Extension/common-errors/index.html new file mode 100644 index 00000000..7905f9fc --- /dev/null +++ b/Extension/common-errors/index.html @@ -0,0 +1,54 @@ + + + + + +Common Errors | LUKSO Support Center + + + + +
Skip to main content

Common Errors

+

Extension only connects to one Universal Profile

+

The UP extension currently only supports one active profile connection at a time. If you disconnect from an application, the connection on the initial profile of the extension will remain, preventing you from establishing an additional connection. To solve this issue, open the extension and navigate to the Connections menu of the initial profile. Here, remove the desired connection. When trying to re-connect, the extension will ask you which Universal Profile you would like to connect.

+
Upcoming Feature

The Extension Team is working on bringing multi-connection support and implementing a global connection screen that allows users to easily toggle between active connections.

+

Universal Profile is not allowed by this Transaction Relay Service

+

This error occurs if a user deployed his Universal Profile through a 3rd party platform that has its own Transaction Relay Service (like Universal.Page). If the externally created profile gets imported into the Universal Profile Browser Extension, it is not compatible with LUKSO's own Transaction Relay Service, responsible for paying for user transactions on the network.

+
Relay Service Transaction Error
+

To solve this issue, users have to fund the extension's controller with LYX to execute transactions without any Transaction Relay Service. Within the transaction screen, users can then select to use their own controller's funds.

+
caution

If you face this error in combination with no sign permissions after recovering your profile, the issue is likely related to our recent controller incident. Therefore, please make sure that you either have 2FA recovery set up correctly or revealed the private key of the extension's controller within the Settings screen. Both methods will ensure you will be able to regain access to your Universal Profile. More information can be found in the Backup section.

+

No recovery set up for this Universal Profile

+

When you want to recover a profile using 2FA on the my.universalprofile.cloud dashboard, you might retrieve an error message like the following:

+
Recovery Error Message
+

To solve this issue, please

+
    +
  • verify that 2FA is set up on a specific profile: If 2FA was not set up, you can not recover your profile from the dashboard. Please look into the optional Backup solutions.
  • +
  • verify that you logged in with the correct email account: The email or Google Account you've used might differ from the one that you previously set for authentication. Chrome may automatically connect with the Google account of your browser profile instead of asking for another login. If the accounts do not match, the Transaction Relay Service won't recognize the account, indicating that no recovery was set up.
  • +
+
danger

If you neither have 2FA, access to the profile within the extension, or the backup file of a profile's controller, there will be no way to regain access.

+

Universal Profile could not be added to the extension

+
Add Profile to Extension Error
+

If the created Universal Profile on universalprofile.cloud can not be added to your Universal Profile Browser extension, a pending transaction is yet to be signed or verified.

+
    +
  • If your browser extension is locked, please log back in and check for an approval screen to import the profile.
  • +
  • If you switched your network in the Settings screen of the extension, please switch the network and check if the pending request appears.
  • +
  • If there is no pending request in the extension, please retry to add the profile after some minutes, as the page status might not have been correctly synchronized with the transaction verification on the blockchain.
  • +
+
Additional Developer Support

If the error persists, please contact our support on the LUKSO Discord server within the BUGS and SUPPORT category. You can right-click on the screen to inspect the page to provide further details about the issue. Within the console of the inspector window, you should see a more detailed error code from the extension. Please attach a screenshot of the console and your previously defined profile name so we can track down the root cause of your issue.

+
Restarting the profile creation

Optionally, you can create a new profile, as no data or information has been added to the Universal Profile yet- except its name. Therefore, you can clear your browser's cache and restart your profile creation on universalprofile.cloud from scratch.

+

Could not fetch user data / No profile detected.

+

It might happen that your profile data, like pictures and name, can not be fetched from web pages and apps:

+
Error fetching profile data
+

To solve this issue, please edit and re-deploy your profile metadata within the Universal Profile Browser Extension. This will update the metadata file using the correct and up-to-date schema, so apps are able to fetch it again:

+

Edit Universal Profile

+

Incorrect 2FA Code

+

This error might occur when you want to recover your Universal Profile using the authenticator app, but logged in with an email or Google Account that was never attached to the 2FA recovery process:

+
Incorrect 2FA Code
+

To solve this issue, please verify that you are logging in with the same Email or Google Account to which the authenticator code was set up. This email or Google Account might differ from the one used for authentication upon the profile creation.

+

Recovery Session Expired

+

This error might occur when you are trying to recover your profile from 2FA and are logging into a mismatched email or Google Account or if too much time has passed since the start of the recovery process. The Transaction Relay Service will abort the connection if an authentication code has never been set up for this specific account.

+
Authentication Expired
+

To solve this issue, please verify that you are logging in with the same Email or Google Account to which the authenticator code was set up. If you are uncertain, please check if you still have the confirmation email. After confirmation, continue by connecting to my.universalprofile.cloud and start the recovery again.

+
info

No profile or controller key will be generated and added to the Universal Profile extension if the recovery session expires. There will be no pending process. You can login and restart the recovery immediately.

+ + \ No newline at end of file diff --git a/Extension/controllers/index.html b/Extension/controllers/index.html new file mode 100644 index 00000000..cc2e563c --- /dev/null +++ b/Extension/controllers/index.html @@ -0,0 +1,52 @@ + + + + + +Controllers | LUKSO Support Center + + + + +
Skip to main content

Controllers

+

What are the controllers of the Universal Profile?

+

Each Universal Profile within an extension holds a separate private key to send transactions on behalf of the user, e.g., controlling it. Such controllers can be exported, added, or removed. The controllers can be found within the Controllers window of the extension:

+
Controller Window
+

After the initial creation, there can be up to 3 controllers:

+
    +
  • The Universal Profile Browser Extension (used for profile interactions)
  • +
  • The Universal Receiver (used to write asset updates on the profile)
  • +
  • The Universal Profile Recovery (used as a backup for the profile)
  • +
+
Controller Names

The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named UP Extension or have the name of it's blockchain address. The recovery controller can either be named UP Recovery, Create and manage your UP, or recovery-up<number>. Every controller can be renamed locally in your extension at any time.

Controller Name Change
+

What happens during imports and recovery?

+

If you import or recover your Universal Profile, it will result in the addition of another UP Extension controller. Each extension controller has individual permissions. Adding a new controller is done automatically using a transaction, either coming from the 2FA recovery service or sending a transaction from a previously added controller with sufficient permissions. If you never set up 2FA, please ensure that you reveal the private key of an original extension within the Settings screen. This backup file will guarantee access to the profile later on.

+
danger

Please do not reinstall or reset your extension if you do not have either of the following safeguards:

Otherwise, you will not be able to access your profile, including LYX and assets, as no new controller can be added without a transaction from one of the existing ones. Not having access to a working controller will cause endless import screens, waiting for a recovery transaction that can never be signed.

+

How can I add 2FA recovery to an existing Universal Profile?

+

To check the 2FA recovery status and add 2FA, please visit the dashboard on my.universalprofile.cloud. The Universal Profile card will show the current 2FA recovery status at the top right corner. If 2FA has not been added yet, continue by clicking the Add Recovery button.

+

2FA Recovery Dashboard

+
warning

Each extension has its own controller, and each controller has its own private key. Any controller is sufficient for recovering your Universal Profile as long as it has the right permissions.

After the recovery process, you will see in the extension the private key corresponsing to the current controller. The initial controller which was in your first browser extension is not carried over during the recovery process. Therefore, before performing recovery please make sure to back up your private key, otherwise any funds associated with the initial controller will be lost.

+
info

The 2FA recovery feature is only available for Universal Profiles directly created on universalprofile.cloud and that can still be accessed within a Universal Profile Browser Extension. If you lost access before adding 2FA recovery, you can only recover the Universal Profile by using File Backup.

+
Dashboard Refresh

If the dashboard is not showing the recovery indicators or Add Recovery button, please refresh or disconnect and log-in again using your Universal Profile Browser Extension.

+

Can I use a regular wallet to control my Universal Profile?

+

As a developer, you can connect a regular wallet to the network where the Universal Profile was deployed and manually add its EOA as a controller. You will then have to send all transactions through the Key Manager of the Universal Profile to execute them as your persona. However, we recommend directly using the Universal Profile Extension to interact with dApps on LUKSO.

+

Can I use an existing EOA to control my Universal Profile?

+

You can add any new or existing Externally Owned Account as a controller to your deployed Universal Profile of a specific chain. This also includes already existing keys from wallets. However, please remember that your previous assets and token remain on the EOA address.

+

What are the default permissions of the controllers?

+

If you want to reset the controller permissions to their initial state, you can set the permissions to the default values described in the following pictures:

+
Show default permissions of the Universal Profile Extension

Default Permissions of the Universal Profile Extension

+
Show default permissions of the Universal Receiver

Default Permissions of the Universal Receiver

+
Show default permissions of the Universal Profile Recovery

Default Permissions of the Universal Profile Recovery

+

Can I add a Ledger account as a controller of my profile?

+

Yes, you can add blockchain accounts or hardware wallets (like Ledger or Trezor) for recovery using the Wallet Recovery Setup.

+

How can I remove controllers and permissions?

+

To remove permissions, use the extension to view all controllers with permissions on the profile. You can toggle off permissions individually. Controllers can not be removed completely via the extension. Controllers without permissions will continue to show but with a No control label.

+
Upcoming Feature

The team is currently working on a feature request to completely remove old controllers, not only their individual permissions.

+
Changing Permissions

Be cautious when modifying permissions, as this might restrict access for recovery methods or extensions. For reference, you can look at the default permissions of all the different controllers.

+ + \ No newline at end of file diff --git a/Extension/guides/check-2fa-recovery/index.html b/Extension/guides/check-2fa-recovery/index.html new file mode 100644 index 00000000..c0022dad --- /dev/null +++ b/Extension/guides/check-2fa-recovery/index.html @@ -0,0 +1,31 @@ + + + + + +Check 2FA Recovery | LUKSO Support Center + + + + +
Skip to main content

Check 2FA Recovery

+

If you ever want to recover your profile, a new controller will be added to this Universal Profile from a new extension setup. You must verify multiple steps to check if this new controller can be added to your Universal Profile by the recovery service:

+

Verify the recovery controller in your extension

+

If you visit the controller menu in the Universal Profile Browser Extension, there need to be at least three controllers:

+
    +
  • The Universal Profile Browser Extension (used for profile interactions)
  • +
  • The Universal Receiver (used to write asset updates on the profile)
  • +
  • The Universal Profile Recovery (used as a backup for the profile)
  • +
+

To confirm that the permissions of the recovery controller were adequately set up, click on the controller of the Universal Profile Recovery and verify that the Add Controller permission is enabled.

+
2FA Controller
+
Controller Names

The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named UP Extension or have the name of it's blockchain address. The recovery controller can either be named UP Recovery, Create and manage your UP, or recovery-up<number>. Every controller can be renamed locally in your extension at any time.

Controller Name Change
+

Verify the recovery controller on the dashboard

+

Next, please check if the recovery was successfully added via the LUKSO Relay Service by logging into the dashboard of my.universalprofile.cloud. If 2FA was successfully added, the profile card will show a green checkmark at the top right corner:

+

2FA Recovery Dashboard

+
caution

If your Universal Profile Recovery controller is not showing up on UniversalProfile.cloud, please check if you selected the correct network in the bottom left corner of the page.

+

Verify the authentication code and email

+

During the 2FA setup, you will be asked to provide an email or web account associated with the recovery process. Verify if you received the recovery email and set up an authenticator code using one of the supported apps. Additionally, ensure that the 2FA code for the Universal Profile Recovery can be accessed on your authenticator app of choice.

+
danger

If you've set up 2FA but one of the verification steps cannot be fulfilled, please reach out within the SUPPORT & BUGS category on our Discord server or contact our support at support@lukso.network directly.

+ + \ No newline at end of file diff --git a/Extension/guides/check-extension-version/index.html b/Extension/guides/check-extension-version/index.html new file mode 100644 index 00000000..9104ab5e --- /dev/null +++ b/Extension/guides/check-extension-version/index.html @@ -0,0 +1,15 @@ + + + + + +Check Extension Version | LUKSO Support Center + + + + +
Skip to main content

Check Extension Version

+

To check your extension version, open the settings of the extension at the upper right corner. Then scroll all the way down to retreive the current version of your browser extension, as described in the picture:

+
Extension Version
+ + \ No newline at end of file diff --git a/Extension/guides/create-backup/index.html b/Extension/guides/create-backup/index.html new file mode 100644 index 00000000..6ec8eaa0 --- /dev/null +++ b/Extension/guides/create-backup/index.html @@ -0,0 +1,31 @@ + + + + + +Create Backup | LUKSO Support Center + + + + +
Skip to main content

Create Backup

+

If you lost access to the Universal Profile Browser Extension, there are multiple ways to secure your Universal Profile :

+
    +
  • 2FA Recovery: You can set up 2FA for the Universal Profile on my.universalprofile.cloud. 2FA is the recommended way of backing up a Universal Profile and will add a new recovery controller to the profile, secured on LUKSO's end. The recovery controller has permissions to add additional controllers if access to an old extension is lost. For security reasons, users must provide an authentication code from a mobile device and approve via email before a new controller can be added using LUKSO's recovery service.
  • +
  • 3rd Party Wallet Recovery: You can give recovery rights to an other blockchain account or controller on my.universalProfile.cloud. This blockchain account then gains permissions to add additional controllers if access to an old extension is lost. Wallet recovery can also be used if you want to regain access to your Universal Profile using the revealed private key of the profile's extension controller.
  • +
  • QR Import: You can import any Universal Profile address into your extension. The import process will create a new local controller. Before it can can be used, the new controller needs to added to the Universal Profile by one of your existing controllers with sufficient permissions. Within the new extension, you will receive a QR code of a transaction that can be scanned or copied. When this QR code is received and the related transaction executed by an existing extension, this new controller will gain permissions on the Universal Profile.
  • +
  • File Export: You can export the private keys from the settings. Make sure to export the text into a file and store it safe. Those private keys will allow anyone to regain access to the profiles based on the controller's permissions.
  • +
+
Individual 2FA Controllers

Please note that each Universal Profile has to add a separate UP Recovery controller to complete the 2FA recovery setup. If you created multiple Universal Profiles through UniversalProfile.cloud, please ensure that you add the 2FA Recovery during every single deployment process. The connected account and authentication code will stay the same across all profiles of one network and is used to authenticate on the LUKSO Transaction Relay Service.

+
tip

To reduce risk of losing access, it is recommended to set up 2FA or Wallet Recovery.

+
Paused Import Functionality

QR Import is currently disabled due to the recent Controller Recovery Incident

+
Securing Controllers

Due to the nature of backups and recovery, the controllers of an extension will not be included within 2FA recovery. If you fund the extension's controllers to pay for your transactions, please always backup the their related private key in the settings screen. Otherwise, you won't be able to get your controller funds back.

+

2FA Recovery Walkthrough

+
+

Frequently Asked Questions

+

Are 2FA backups secured in a decentralized manner?

+

The 2FA recovery system for Universal Profiles on my.universalprofile.cloud is operated from LUKSO. It is not decentralized but is a mix of Web2 and Web3 security measures. Initially, a recovery controller is added to the smart contract of the Universal Profile, only having minimal permissions to add a new controller address. This controller key is stored and secured by LUKSO. The UP Recovery service can only add new controllers to a Universal Profile if the user gives permissions using his authenticator code and email login. When the UP Recovery process is initiated, a new controller key is generated in the user's local browser extension. After receiving the approval from the linked 2FA, the UP Recovery service builds a transaction, adding the previously generated controller to the Universal Profile. This transaction is then executed from the recovery controller and sent to the LUKSO Transaction Relay Service, which automatically executes the transaction on behalf of the user.

+

Is there a fully decentralized backup method?

+

If you do not trust 2FA and want an personal backup solution, you can restore your Universal Profile by recovering from a private key add by adding additional recovery controllers using the Wallet Recovery Setup.

+ + \ No newline at end of file diff --git a/Extension/guides/fund-controller/index.html b/Extension/guides/fund-controller/index.html new file mode 100644 index 00000000..c4da5cb2 --- /dev/null +++ b/Extension/guides/fund-controller/index.html @@ -0,0 +1,25 @@ + + + + + +Fund Controller | LUKSO Support Center + + + + +
Skip to main content

Fund Controller

+

To use your funds to send transactions from your Universal Profile, you must send LYX or LYXt to the extension's controller. Sending it to the controller will ensure the transaction's gas costs are funded.

+

You can find the address of the extension's controller within the permission section:

+
Controller Window
+
Controller Names

The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named UP Extension or have the name of it's blockchain address. The controller can be renamed locally in your extension at any time.

Controller Name Change
+

If you click on the controller, it will show the name, permissions, and blockchain address. Copy the blockchain address from the top of the screen, as shown in the following picture:

+
Controller Address
+

If you are using a regular wallet, add LUKSO as custom network and send LYX to the address of your controller. In case you use the Universal Profile Browser Extension, visit your Universal Profile page on wallet.universalprofile.cloud. On your profile page, click the send button of the LYX token and enter the address of your controller as recipient:

+
Asset Transfer
+
Importance of Backups

We highly recommend to only send small amounts of LYX to the controller of your extension and ensure to save their private keys. You can display and copy them by revealing the private key within the Settings screen. This backup is essential as every extension has an individual controller. If you import or recover the profile without saving the previous private key, you cannot get back your controller funds after.

+

Once the extension's controller is funded with LYX, you can select it within the transaction screen of the Universal Profile Extension:

+
Transaction Controller Setting
+
Default Payment

Once your funded controller is selected in the extension, it will stay as default payment option for transactions until its changed back to the Transaction Relay Service.

+ + \ No newline at end of file diff --git a/Extension/guides/get-controller-funds/index.html b/Extension/guides/get-controller-funds/index.html new file mode 100644 index 00000000..29c537a7 --- /dev/null +++ b/Extension/guides/get-controller-funds/index.html @@ -0,0 +1,18 @@ + + + + + +Get Controller Funds | LUKSO Support Center + + + + +
Skip to main content

Get Controller Funds

+

There is currently no way to get back funds from the controller directly within the extension. If you want to pay for your transactions instead of using any Relay Service, we recommend only sending minimal LYX, e.g., 0.1 LYX.

+

However, as the controllers of your Universal Profile are regular wallet accounts, these can be imported into any other Ethereum wallet with custom network support. To get back funds from a controller, please open the Settings on the top right and reveal your private keys of your extension controllers:

+
Reveal Private Keys
+
Controller Export

Every profile within the Universal Profile Extension has separate controllers. If you manage multiple Universal Profiles within the extension, make sure to select the correct controller's private key. Never share the revealed private keys with anyone.

+

After you receive your private key, import this account to an Ethereum wallet with custom network support (e.g., MetaMask). Within the wallet, add the LUKSO network using the official network parameters. You will see the controller's funds after the network is added and selected. You can continue copying your Universal Profile's address and sending the LYX back. The imported account can be removed from the wallet after completing this process.

+ + \ No newline at end of file diff --git a/Extension/incidents/controller-recovery/index.html b/Extension/incidents/controller-recovery/index.html new file mode 100644 index 00000000..8a20e18b --- /dev/null +++ b/Extension/incidents/controller-recovery/index.html @@ -0,0 +1,34 @@ + + + + + +Controller Recovery Incident | LUKSO Support Center + + + + +
Skip to main content

Controller Recovery Incident

+

Following up to the enormous increase in downloads and extension users bedinning of 2024, the team discovered a controller malfunction on the 11th of January 2024. This resulted in controllers of the extensions not properly being added to the Universal Profile on recovery or import.

+

If you experienced issues with the extension after recovery or import, we highly recommend:

+
    +
  • revealing the private keys of all your extensions and keeping them in a safe place as a personal backup
  • +
  • check if you set up 2FA correctly using our 2FA Controller Guide
  • +
+
danger

If you have issues with the Universal Profile Browser Extension or Relay Services, please do not delete or reinstall the extension. Doing so could risk the recovery of your profile, as it will clear all private keys that might still be accessable.

+

Actions taken

+
    +
  • Jan 12th, 2pm UTC: recovery and import functionality have been disabled (version 3.0.0-beta.6).
  • +
  • Jan 13th, 4pm UTC: released a bugfix for the Universal Profile Browser Extension (version 3.0.0-beta.7)
  • +
  • Jan 16th, 6pm UTC: a video guide has been released on how to recover a Universal Profile
  • +
+
+
caution

This bugfix only works for new recoveries using version 3.0.0-beta.7 and above. If you have already attempted a recovery and have a non-working profile in your extension, please wait. We are working on additional updates and tools, allowing you to be able to re-gain access errors in some other cases.

+

Upcoming actions

+
    +
  • Our team is actively working on a tool to manually manage and add controllers to the Universal Profile.
  • +
  • Our team is actively working on a file import feature, allowing to recover from the revealed private keys.
  • +
+
info

For personal support, please get in touch with us via support@lukso.network

+ + \ No newline at end of file diff --git a/Extension/introduction/index.html b/Extension/introduction/index.html new file mode 100644 index 00000000..4401c4df --- /dev/null +++ b/Extension/introduction/index.html @@ -0,0 +1,27 @@ + + + + + +Support for Universal Profiles browser extension | LUKSO Support Center + + + + +
Skip to main content

Support for Universal Profiles browser extension

+

Where can I download the Universal Profiles browser extension?

+

You can download the Universal Profiles Extension from the Chrome Store.

+

Which browsers does the extension support?

+

Currently, the Universal Profiles browser extension only supports Chrome and Brave.

+
Using Unsupported Browsers

Using unsupported browsers might result in broken interfaces or the extension not being recognized by dApps. We highly recommend to wait until official support is extended.

+

Whats the best way to use LUKSO?

+

It's suggested to use the Universal Profiles browser extension while interacting with apps and services on LUKSO. The extension offers you a much more user-friendly and feature-rich experience than you would get using regular wallets.

+

Is the Universal Profiles browser extension a wallet?

+

The Universal Profiles browser extension should not be classified as a wallet. While connected Universal Profiles can store assets, the extension serves as a comprehensive center for your blockchain interactions and reflects your on-chain persona with much more capabilities than just holding assets. Each Universal Profile within an extension holds a separate private key that can be exported into any regular Ethereum wallet.

+
Wallet dApp

If you use the Universal Profiles browser extension to store assets and token, please connect to UniversalProfile.cloud and visit your profile page to see your portfolio and send funds.

+

Will the extension affect other wallets in the browser?

+

The extension injects into the blockchain provider, which may occasionally result in the Universal Profiles browser extension appearing instead of other wallets. If this is not wanted, users can manually disable the extension within the extension settings of the browser. However, the extension does not affect or modify the functionality of other wallets.

+

How does the extension store and verify the password?

+

The password of the Universal Profile Extension is used to encrypt the private keys of your controllers. These encrypted private keys are stored in your local browser. The password is only temporarily stored in memory when the keys are encrypted during login. If the wrong password is entered, the decryption will fail, indicating an incorrect password.

+ + \ No newline at end of file diff --git a/assets/images/icon-extension-gradient-ebea61552ac7ca45dc72d85427186617.png b/assets/images/icon-extension-gradient-ebea61552ac7ca45dc72d85427186617.png new file mode 100644 index 00000000..a26c8b0a Binary files /dev/null and b/assets/images/icon-extension-gradient-ebea61552ac7ca45dc72d85427186617.png differ diff --git a/assets/js/02a3040b.8ccc0df3.js b/assets/js/02a3040b.8ccc0df3.js deleted file mode 100644 index aa4cd6a9..00000000 --- a/assets/js/02a3040b.8ccc0df3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[783],{7226:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var r=n(4848),o=n(8453);const s={sidebar_label:"\ud83d\udc5b Set Wallet Recovery",sidebar_position:6,description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?"},i="Set Wallet Recovery",l={id:"general/getting-started/Extension/guides/set-wallet-recovery",title:"Set Wallet Recovery",description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?",source:"@site/docs/general/getting-started/Extension/guides/set-wallet-recovery.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/set-wallet-recovery",permalink:"/general/getting-started/Extension/guides/set-wallet-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/set-wallet-recovery.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:6,frontMatter:{sidebar_label:"\ud83d\udc5b Set Wallet Recovery",sidebar_position:6,description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?"},sidebar:"generalSidebar",previous:{title:"#\ufe0f\u20e3 Check Extension Version",permalink:"/general/getting-started/Extension/guides/check-extension-version"},next:{title:"\ud83d\udd10 Recover from Wallet",permalink:"/general/getting-started/Extension/guides/wallet-recovery"}},a={},c=[{value:"Preparation",id:"preparation",level:2},{value:"Connect the Extensions",id:"connect-the-extensions",level:2},{value:"Execute the Controller Transaction",id:"execute-the-controller-transaction",level:2}];function d(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"set-wallet-recovery",children:"Set Wallet Recovery"}),"\n",(0,r.jsx)(t.p,{children:"If you want a personal backup solution for your Universal Profile, you can add another wallet as a recovery controller."}),"\n",(0,r.jsx)(t.h2,{id:"preparation",children:"Preparation"}),"\n",(0,r.jsxs)(t.p,{children:["To add a new controller account to your Universal Profile, you will need the ",(0,r.jsx)(t.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn",children:"Universal Profile Browser Extension"})," as well as an ",(0,r.jsx)(t.a,{href:"/general/supported-wallets/wallet-support",children:"Ethereum wallet with custom network support"})," installed ",(0,r.jsxs)(t.strong,{children:["in the same ",(0,r.jsx)(t.a,{href:"/general/getting-started/Extension/introduction#which-browsers-does-the-extension-support",children:"supported browser"})]}),"."]}),"\n",(0,r.jsx)(t.admonition,{title:"Wallet Support",type:"tip",children:(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," supports ",(0,r.jsx)(t.strong,{children:"MetaMask"})," as the wallet. If you experience issues with other wallets, please try again by importing your seed or private key into MetaMask."]})}),"\n",(0,r.jsx)(t.p,{children:"After installing both extensions in your browser, you can set up the recovery account. Depending on the wallet, you can either:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["use one of the ",(0,r.jsx)(t.em,{children:"default wallet accounts"})]}),"\n",(0,r.jsxs)(t.li,{children:["import an ",(0,r.jsx)(t.em,{children:"account from a private key"})]}),"\n",(0,r.jsxs)(t.li,{children:["connect an ",(0,r.jsx)(t.em,{children:"account from your hardware wallet"})]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"Open the wallet and add or select the account from a source of your choice:"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/extension/3rd-party-import.png",alt:"3rd-party Account Import",width:"600"})}),"\n",(0,r.jsx)(t.admonition,{title:"Hardware Wallet Support",type:"info",children:(0,r.jsx)(t.p,{children:"Hardware wallets can not be connected directly and must be imported into a browser wallet first. If your browser wallet lacks hardware-wallet support, we recommend installing MetaMask and importing the hardware-wallet account there."})}),"\n",(0,r.jsx)(t.h2,{id:"connect-the-extensions",children:"Connect the Extensions"}),"\n",(0,r.jsxs)(t.p,{children:["After your recovery account is set in the wallet, head to the ",(0,r.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," and connect both extensions."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Connect the Extensions",src:n(1085).A+"",width:"2132",height:"759"})}),"\n",(0,r.jsx)(t.h2,{id:"execute-the-controller-transaction",children:"Execute the Controller Transaction"}),"\n",(0,r.jsx)(t.p,{children:"The address of the connected wallet account is then used to execute the controller transaction from the Universal Profile Extension."}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{alt:"Execute the Controller Transaction",src:n(7110).A+"",width:"2132",height:"759"})}),"\n",(0,r.jsxs)(t.p,{children:["After the transaction has been executed, your new recovery controller will be set and will show up in the ",(0,r.jsx)(t.em,{children:"Controllers"})," menu of the Universal Profile."]}),"\n",(0,r.jsxs)(t.admonition,{title:"Set Controller Names",type:"tip",children:[(0,r.jsxs)(t.p,{children:["By default, the new recovery controller will be named ",(0,r.jsx)(t.strong,{children:"Recovery key?"}),". To better distinguish between different controllers, it's recommended to ",(0,r.jsx)(t.em,{children:"locally rename the key"})," by opening the controller view and clicking the pencil next to its name. You can chose a more specific name like ",(0,r.jsx)(t.em,{children:"MetaMask Recovery"})," or ",(0,r.jsx)(t.em,{children:"Ledger Recovery"}),". Renaming the controllers won't affect any functionality."]}),(0,r.jsx)("img",{src:"/img/extension/controller-recovery-rename.png",alt:"Controller Name Change",width:"600"})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1085:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/set-recovery-1-e48bf700f2cc2760444cb3bce8e685e1.png"},7110:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/set-recovery-2-93ee0147d76816b4bf95269b6d25de49.png"},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0326daf8.24952e83.js b/assets/js/0326daf8.24952e83.js new file mode 100644 index 00000000..6346eb4c --- /dev/null +++ b/assets/js/0326daf8.24952e83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[415],{5076:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var s=r(4848),n=r(8453);const a={sidebar_label:"\ud83d\udee1\ufe0f Hardware Wallets",sidebar_position:3,description:"LUKSO Hardware Wallet Support"},o="Hardware Wallets",i={id:"general/supported-wallets/hardware-wallets",title:"Hardware Wallets",description:"LUKSO Hardware Wallet Support",source:"@site/docs/general/supported-wallets/hardware-wallets.md",sourceDirName:"general/supported-wallets",slug:"/general/supported-wallets/hardware-wallets",permalink:"/general/supported-wallets/hardware-wallets",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/supported-wallets/hardware-wallets.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udee1\ufe0f Hardware Wallets",sidebar_position:3,description:"LUKSO Hardware Wallet Support"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc5c Software Wallets",permalink:"/general/supported-wallets/wallet-support"},next:{title:"\ud83d\udd12 Security",permalink:"/general/security"}},l={},d=[{value:"Can I use hardware wallets to store LYX?",id:"can-i-use-hardware-wallets-to-store-lyx",level:2},{value:"How to send transactions using Trezor wallet?",id:"how-to-send-transactions-using-trezor-wallet",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"hardware-wallets",children:"Hardware Wallets"}),"\n",(0,s.jsx)(t.h2,{id:"can-i-use-hardware-wallets-to-store-lyx",children:"Can I use hardware wallets to store LYX?"}),"\n",(0,s.jsxs)(t.p,{children:["Yes, you can use hardware wallets on the LUKSO network. ",(0,s.jsx)(t.a,{href:"https://www.ledger.com/",children:"Ledger"})," provides official support on Ledger devices and Ledger Live software. You can find more information in their ",(0,s.jsx)(t.a,{href:"https://support.ledger.com/hc/en-us/articles/15847276545053",children:"LYX Onboarding Guide"}),". If you use the same Ethereum address for LUKSO and other networks, those will show up as separate accounts but share the same private key and address."]}),"\n",(0,s.jsxs)(t.p,{children:["You can also send and receive assets using any other Ethereum hardware wallet, such as or ",(0,s.jsx)(t.a,{href:"https://trezor.io/",children:"Trezor"}),", that can be connected to a browser-based wallet like ",(0,s.jsx)(t.a,{href:"https://metamask.io/",children:"MetaMask"}),", ",(0,s.jsx)(t.a,{href:"https://rabby.io/",children:"Rabby"}),", or ",(0,s.jsx)(t.a,{href:"https://rainbow.me/",children:"Rainbow"}),". To see your LYX, you must ",(0,s.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add the LUKSO Mainnet as a custom network"}),"."]}),"\n",(0,s.jsx)(t.admonition,{title:"Network ID",type:"info",children:(0,s.jsxs)(t.p,{children:["MetaMask might show a ",(0,s.jsx)(t.em,{children:"network duplication warning"}),". This is because the chain ID of the LUKSO mainnet (",(0,s.jsx)(t.code,{children:"42"}),") equals the Kovan testnet of Ethereum. The reference might be updated soon. It is nothing to worry about, if you ",(0,s.jsx)(t.em,{children:"ensured the official network parameters"}),"."]})}),"\n",(0,s.jsx)(t.h2,{id:"how-to-send-transactions-using-trezor-wallet",children:"How to send transactions using Trezor wallet?"}),"\n",(0,s.jsx)(t.p,{children:"It can happen that the Trezor device will abort the transaction window right after it appeared, without showing any further notice or warning. This is not an issue of the browser wallet or LUKSO extension, but related to security settings on your Trezor device."}),"\n",(0,s.jsxs)(t.p,{children:["Trezor users have to ",(0,s.jsx)(t.strong,{children:"turn off"})," ",(0,s.jsx)(t.em,{children:"Strict Trezor Safety Checks"})," to use the standard derivation path on the ",(0,s.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters/",children:"LUKSO network"})," with ",(0,s.jsx)(t.code,{children:"ID 42"}),". This network ID was previously used for the ",(0,s.jsx)(t.a,{href:"https://etherworld.co/2022/05/04/ethereum-testnets-after-the-merge/",children:"deprecated Kovan Test Network"})," of Ethereum, which shut down in late 2022. Trezor still checks for such testnet IDs, so regular users are not falling for modified network transactions."]}),"\n",(0,s.jsx)(t.p,{children:"Follow these steps to solve the issue:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.em,{children:"Connect"})," Trezor to ",(0,s.jsx)(t.em,{children:"Trezor Suit"})]}),"\n",(0,s.jsxs)(t.li,{children:["Move into the ",(0,s.jsx)(t.em,{children:"Device"})," section within the ",(0,s.jsx)(t.em,{children:"Settings"})]}),"\n",(0,s.jsxs)(t.li,{children:["Click on ",(0,s.jsx)(t.strong,{children:"Edit"})," ",(0,s.jsx)(t.em,{children:"Security Checks"})]}),"\n",(0,s.jsxs)(t.li,{children:["Allow ",(0,s.jsx)(t.em,{children:"Potentially Unsafe Actions"})," by manual approval from the Trezor device."]}),"\n",(0,s.jsxs)(t.li,{children:["Apply and ",(0,s.jsx)(t.strong,{children:"Save"})," changes"]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{title:"Security Permissions",type:"caution",children:(0,s.jsxs)(t.p,{children:["Be careful with using your hardware wallet as enabled unsafe actions might include mismatched keys or allowing extreme network charges. If you only want to send a transaction on LUKSO once, but are using Trezor regularly, ",(0,s.jsx)(t.strong,{children:"we highly recommend turning this setting on again after the transaction went through"}),"."]})})]})}function c(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>i});var s=r(6540);const n={},a=s.createContext(n);function o(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0326daf8.95d53922.js b/assets/js/0326daf8.95d53922.js deleted file mode 100644 index 88fa30f7..00000000 --- a/assets/js/0326daf8.95d53922.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[415],{5076:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var s=r(4848),n=r(8453);const a={sidebar_label:"\ud83d\udee1\ufe0f Hardware Wallets",sidebar_position:3,description:"LUKSO Hardware Wallet Support"},o="Hardware Wallets",i={id:"general/supported-wallets/hardware-wallets",title:"Hardware Wallets",description:"LUKSO Hardware Wallet Support",source:"@site/docs/general/supported-wallets/hardware-wallets.md",sourceDirName:"general/supported-wallets",slug:"/general/supported-wallets/hardware-wallets",permalink:"/general/supported-wallets/hardware-wallets",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/supported-wallets/hardware-wallets.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udee1\ufe0f Hardware Wallets",sidebar_position:3,description:"LUKSO Hardware Wallet Support"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc5c Software Wallets",permalink:"/general/supported-wallets/wallet-support"},next:{title:"\ud83e\uddeb L14 and LYXe",permalink:"/general/l14-and-lyxe/"}},l={},d=[{value:"Can I use hardware wallets to store LYX?",id:"can-i-use-hardware-wallets-to-store-lyx",level:2},{value:"How to send transactions using Trezor wallet?",id:"how-to-send-transactions-using-trezor-wallet",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"hardware-wallets",children:"Hardware Wallets"}),"\n",(0,s.jsx)(t.h2,{id:"can-i-use-hardware-wallets-to-store-lyx",children:"Can I use hardware wallets to store LYX?"}),"\n",(0,s.jsxs)(t.p,{children:["Yes, you can use hardware wallets on the LUKSO network. ",(0,s.jsx)(t.a,{href:"https://www.ledger.com/",children:"Ledger"})," provides official support on Ledger devices and Ledger Live software. You can find more information in their ",(0,s.jsx)(t.a,{href:"https://support.ledger.com/hc/en-us/articles/15847276545053",children:"LYX Onboarding Guide"}),". If you use the same Ethereum address for LUKSO and other networks, those will show up as separate accounts but share the same private key and address."]}),"\n",(0,s.jsxs)(t.p,{children:["You can also send and receive assets using any other Ethereum hardware wallet, such as or ",(0,s.jsx)(t.a,{href:"https://trezor.io/",children:"Trezor"}),", that can be connected to a browser-based wallet like ",(0,s.jsx)(t.a,{href:"https://metamask.io/",children:"MetaMask"}),", ",(0,s.jsx)(t.a,{href:"https://rabby.io/",children:"Rabby"}),", or ",(0,s.jsx)(t.a,{href:"https://rainbow.me/",children:"Rainbow"}),". To see your LYX, you must ",(0,s.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add the LUKSO Mainnet as a custom network"}),"."]}),"\n",(0,s.jsx)(t.admonition,{title:"Network ID",type:"info",children:(0,s.jsxs)(t.p,{children:["MetaMask might show a ",(0,s.jsx)(t.em,{children:"network duplication warning"}),". This is because the chain ID of the LUKSO mainnet (",(0,s.jsx)(t.code,{children:"42"}),") equals the Kovan testnet of Ethereum. The reference might be updated soon. It is nothing to worry about, if you ",(0,s.jsx)(t.em,{children:"ensured the official network parameters"}),"."]})}),"\n",(0,s.jsx)(t.h2,{id:"how-to-send-transactions-using-trezor-wallet",children:"How to send transactions using Trezor wallet?"}),"\n",(0,s.jsx)(t.p,{children:"It can happen that the Trezor device will abort the transaction window right after it appeared, without showing any further notice or warning. This is not an issue of the browser wallet or LUKSO extension, but related to security settings on your Trezor device."}),"\n",(0,s.jsxs)(t.p,{children:["Trezor users have to ",(0,s.jsx)(t.strong,{children:"turn off"})," ",(0,s.jsx)(t.em,{children:"Strict Trezor Safety Checks"})," to use the standard derivation path on the ",(0,s.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters/",children:"LUKSO network"})," with ",(0,s.jsx)(t.code,{children:"ID 42"}),". This network ID was previously used for the ",(0,s.jsx)(t.a,{href:"https://etherworld.co/2022/05/04/ethereum-testnets-after-the-merge/",children:"deprecated Kovan Test Network"})," of Ethereum, which shut down in late 2022. Trezor still checks for such testnet IDs, so regular users are not falling for modified network transactions."]}),"\n",(0,s.jsx)(t.p,{children:"Follow these steps to solve the issue:"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.em,{children:"Connect"})," Trezor to ",(0,s.jsx)(t.em,{children:"Trezor Suit"})]}),"\n",(0,s.jsxs)(t.li,{children:["Move into the ",(0,s.jsx)(t.em,{children:"Device"})," section within the ",(0,s.jsx)(t.em,{children:"Settings"})]}),"\n",(0,s.jsxs)(t.li,{children:["Click on ",(0,s.jsx)(t.strong,{children:"Edit"})," ",(0,s.jsx)(t.em,{children:"Security Checks"})]}),"\n",(0,s.jsxs)(t.li,{children:["Allow ",(0,s.jsx)(t.em,{children:"Potentially Unsafe Actions"})," by manual approval from the Trezor device."]}),"\n",(0,s.jsxs)(t.li,{children:["Apply and ",(0,s.jsx)(t.strong,{children:"Save"})," changes"]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{title:"Security Permissions",type:"caution",children:(0,s.jsxs)(t.p,{children:["Be careful with using your hardware wallet as enabled unsafe actions might include mismatched keys or allowing extreme network charges. If you only want to send a transaction on LUKSO once, but are using Trezor regularly, ",(0,s.jsx)(t.strong,{children:"we highly recommend turning this setting on again after the transaction went through"}),"."]})})]})}function c(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>i});var s=r(6540);const n={},a=s.createContext(n);function o(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/12c6cd54.1da6e8b6.js b/assets/js/12c6cd54.1da6e8b6.js new file mode 100644 index 00000000..c640fd39 --- /dev/null +++ b/assets/js/12c6cd54.1da6e8b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[243],{2415:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var i=t(4848),a=t(8453);const r={sidebar_label:"January 2024",sidebar_position:3,description:"LUKSO Support: Migration Delay January 2024"},s="January 2024",c={id:"migration/incidents/january",title:"January 2024",description:"LUKSO Support: Migration Delay January 2024",source:"@site/docs/migration/incidents/january.md",sourceDirName:"migration/incidents",slug:"/migration/incidents/january",permalink:"/migration/incidents/january",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/incidents/january.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:3,frontMatter:{sidebar_label:"January 2024",sidebar_position:3,description:"LUKSO Support: Migration Delay January 2024"},sidebar:"migrationSidebar",previous:{title:"February 2024",permalink:"/migration/incidents/february"}},o={},d=[{value:"Actions taken",id:"actions-taken",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"january-2024",children:"January 2024"}),"\n",(0,i.jsx)(n.admonition,{title:"Resolved",type:"success",children:(0,i.jsx)(n.p,{children:"This incident has been resolved on the 17th of January 2024 at 2:28pm UTC"})}),"\n",(0,i.jsxs)(n.p,{children:["On the 14th of January 2024, a sudden change in the LUKSO mainnet blockchain activity, following the ",(0,i.jsx)(n.a,{href:"https://twitter.com/feindura/status/1746262322950083047",children:"release of a very gas intensive NFT project"}),", created a wave of pending transactions from our migration system."]}),"\n",(0,i.jsx)(n.p,{children:"This resulted in a longer than usual processing time (from below 20min to few days) as the migration transactions were sent with a very low gas price (1.5gwei)."}),"\n",(0,i.jsxs)(n.p,{children:["The pending migration transactions can be monitored from the ",(0,i.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/address/0xc125fc4f3295dc891e909c56ad7ceb494e9f9644",children:"migration account"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"No deposited LYXe is lost or at risk. User migrations will be processed when the speed up fix will be deployed."})}),"\n",(0,i.jsx)(n.h2,{id:"actions-taken",children:"Actions taken"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Jan 15th, 5:51pm UTC: the gas fees logic has been improved to handle the variations in gas price."}),"\n",(0,i.jsx)(n.li,{children:"Jan 16th, 1:00pm UTC: the deposit frontend has been paused to prevent further deposits."}),"\n",(0,i.jsx)(n.li,{children:"Jan 16th, 2:28pm UTC: the decrease of gas fees on LUKSO mainnet has allowed the network to process the pending migrations with low gas fee:"}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x9b7431f876dd3c50d78a1351fccfa109e590e51e1e647f45c0c37922cb1f6b03",children:(0,i.jsx)(n.code,{children:"0x9b7431f876dd3c50d78a1351fccfa109e590e51e1e647f45c0c37922cb1f6b03"})})," (nonce ",(0,i.jsx)(n.code,{children:"3531"}),")\n",(0,i.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0xbd9834db6abcdaa11c3b79c8f6bc209a3d1cf68407d084d4a90dc8a49c55dd64",children:(0,i.jsx)(n.code,{children:"0xbd9834db6abcdaa11c3b79c8f6bc209a3d1cf68407d084d4a90dc8a49c55dd64"})})," (nonce ",(0,i.jsx)(n.code,{children:"3532"}),")\n",(0,i.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x83379bfc82feec1de45a715c9d2c0c5dd507fcde3af9db44805265588d012a05",children:(0,i.jsx)(n.code,{children:"0x83379bfc82feec1de45a715c9d2c0c5dd507fcde3af9db44805265588d012a05"})})," (nonce ",(0,i.jsx)(n.code,{children:"3533"}),")\n",(0,i.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x02223747136b50f217a7b5991fa67eef3dedd12628bf507fef43208e7b39cba2",children:(0,i.jsx)(n.code,{children:"0x02223747136b50f217a7b5991fa67eef3dedd12628bf507fef43208e7b39cba2"})})," (nonce ",(0,i.jsx)(n.code,{children:"3534"}),")"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Jan 17th, 2:00pm UTC: the missing two deposits ",(0,i.jsx)(n.a,{href:"https://etherscan.io/tx/0x405b1b200f21f1f692d6111fceb550a8152a52f0555a6c28a11a379748c24220",children:"3537"})," and ",(0,i.jsx)(n.a,{href:"https://etherscan.io/tx/0x83da2134290cc44a45edbc544be0b8c9e9a8a846c68231b99e7c79e89b1dc568",children:"3538"})," were successfully processed."]}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Jan 17th, 2:28pm UTC: the website has been unpaused - all systems are operational again \u2705"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var i=t(6540);const a={},r=i.createContext(a);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/17211258.c8c1ec28.js b/assets/js/17211258.c8c1ec28.js deleted file mode 100644 index 710eb794..00000000 --- a/assets/js/17211258.c8c1ec28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[786],{820:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var t=r(4848),o=r(8453);const i={sidebar_label:"\ud83d\udd11 Controller Recovery Incident",sidebar_position:1,description:"LUKSO Support: Controller Recovery Incident Jan 2024"},s="Controller Recovery Incident",l={id:"general/getting-started/Extension/incidents/controller-recovery",title:"Controller Recovery Incident",description:"LUKSO Support: Controller Recovery Incident Jan 2024",source:"@site/docs/general/getting-started/Extension/incidents/controller-recovery.md",sourceDirName:"general/getting-started/Extension/incidents",slug:"/general/getting-started/Extension/incidents/controller-recovery",permalink:"/general/getting-started/Extension/incidents/controller-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/incidents/controller-recovery.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udd11 Controller Recovery Incident",sidebar_position:1,description:"LUKSO Support: Controller Recovery Incident Jan 2024"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd10 Recover from Wallet",permalink:"/general/getting-started/Extension/guides/wallet-recovery"},next:{title:" \ud83d\udcb8 Where can I buy LYX",permalink:"/general/getting-started/using-exchanges"}},a={},c=[{value:"Actions taken",id:"actions-taken",level:2},{value:"Upcoming actions",id:"upcoming-actions",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"controller-recovery-incident",children:"Controller Recovery Incident"}),"\n",(0,t.jsxs)(n.p,{children:["Following up to the enormous increase in downloads and extension users bedinning of 2024, the team discovered a controller malfunction on the 11th of January 2024. This resulted in controllers of the extensions not properly being added to the Universal Profile on ",(0,t.jsx)(n.strong,{children:"recovery"})," or ",(0,t.jsx)(n.strong,{children:"import"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"If you experienced issues with the extension after recovery or import, we highly recommend:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"revealing the private keys of all your extensions and keeping them in a safe place as a personal backup"}),"\n",(0,t.jsx)(n.li,{children:"check if you set up 2FA correctly using our 2FA Controller Guide"}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"danger",children:(0,t.jsx)(n.p,{children:"If you have issues with the Universal Profile Browser Extension or Relay Services, please do not delete or reinstall the extension. Doing so could risk the recovery of your profile, as it will clear all private keys that might still be accessable."})}),"\n",(0,t.jsx)(n.h2,{id:"actions-taken",children:"Actions taken"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Jan 12th, 2pm UTC: recovery and import functionality have been disabled (version ",(0,t.jsx)(n.code,{children:"3.0.0-beta.6"}),")."]}),"\n",(0,t.jsxs)(n.li,{children:["Jan 13th, 4pm UTC: released a ",(0,t.jsx)(n.strong,{children:"bugfix"})," for the Universal Profile Browser Extension (version ",(0,t.jsx)(n.code,{children:"3.0.0-beta.7"}),")"]}),"\n",(0,t.jsx)(n.li,{children:"Jan 16th, 6pm UTC: a video guide has been released on how to recover a Universal Profile"}),"\n"]}),"\n",(0,t.jsx)("div",{class:"video-container",children:(0,t.jsx)("iframe",{src:"https://www.youtube.com/embed/rbIqA7N6Fn4?si=2mfC8_0AG6JD-7e3",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsxs)(n.p,{children:["This bugfix only works for new recoveries using version ",(0,t.jsx)(n.code,{children:"3.0.0-beta.7"})," and above. If you have already attempted a recovery and have a non-working profile in your extension, please wait. We are working on additional updates and tools, allowing you to be able to re-gain access errors in some other cases."]})}),"\n",(0,t.jsx)(n.h2,{id:"upcoming-actions",children:"Upcoming actions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Our team is actively working on a tool to manually manage and add controllers to the Universal Profile."}),"\n",(0,t.jsx)(n.li,{children:"Our team is actively working on a file import feature, allowing to recover from the revealed private keys."}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:["For personal support, please get in touch with us via ",(0,t.jsx)(n.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})]})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>l});var t=r(6540);const o={},i=t.createContext(o);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1ec32f09.799a7719.js b/assets/js/1ec32f09.799a7719.js new file mode 100644 index 00000000..cdf9cb1c --- /dev/null +++ b/assets/js/1ec32f09.799a7719.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[70],{818:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var n=r(4848),o=r(8453);const l={sidebar_label:"\ud83d\udc5b Set Wallet Recovery",sidebar_position:6,description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?"},i="Set Wallet Recovery",s={id:"universalprofilecloud/Recovery/set-wallet-recovery",title:"Set Wallet Recovery",description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?",source:"@site/docs/universalprofilecloud/Recovery/set-wallet-recovery.md",sourceDirName:"universalprofilecloud/Recovery",slug:"/universalprofilecloud/Recovery/set-wallet-recovery",permalink:"/universalprofilecloud/Recovery/set-wallet-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/universalprofilecloud/Recovery/set-wallet-recovery.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:6,frontMatter:{sidebar_label:"\ud83d\udc5b Set Wallet Recovery",sidebar_position:6,description:"How to set up wallet recovery on the LUKSO Universal Profile Extension?"},sidebar:"universalprofilecloudSidebar",previous:{title:"\ud83c\udd99 universalprofile.cloud",permalink:"/universalprofilecloud/universal-profiles"},next:{title:"\ud83d\udd10 Recover from Wallet",permalink:"/universalprofilecloud/Recovery/wallet-recovery"}},a={},c=[{value:"Preparation",id:"preparation",level:2},{value:"Connect the Extensions",id:"connect-the-extensions",level:2},{value:"Execute the Controller Transaction",id:"execute-the-controller-transaction",level:2}];function d(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"set-wallet-recovery",children:"Set Wallet Recovery"}),"\n",(0,n.jsx)(t.p,{children:"If you want a personal backup solution for your Universal Profile, you can add another wallet as a recovery controller."}),"\n",(0,n.jsx)(t.h2,{id:"preparation",children:"Preparation"}),"\n",(0,n.jsxs)(t.p,{children:["To add a new controller account to your Universal Profile, you will need the ",(0,n.jsx)(t.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn",children:"Universal Profile Browser Extension"})," as well as an ",(0,n.jsx)(t.a,{href:"/general/supported-wallets/wallet-support",children:"Ethereum wallet with custom network support"})," installed ",(0,n.jsxs)(t.strong,{children:["in the same ",(0,n.jsx)(t.a,{href:"/Extension/introduction#which-browsers-does-the-extension-support",children:"supported browser"})]}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Wallet Support",type:"tip",children:(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," supports ",(0,n.jsx)(t.strong,{children:"MetaMask"})," as the wallet. If you experience issues with other wallets, please try again by importing your seed or private key into MetaMask."]})}),"\n",(0,n.jsx)(t.p,{children:"After installing both extensions in your browser, you can set up the recovery account. Depending on the wallet, you can either:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["use one of the ",(0,n.jsx)(t.em,{children:"default wallet accounts"})]}),"\n",(0,n.jsxs)(t.li,{children:["import an ",(0,n.jsx)(t.em,{children:"account from a private key"})]}),"\n",(0,n.jsxs)(t.li,{children:["connect an ",(0,n.jsx)(t.em,{children:"account from your hardware wallet"})]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Open the wallet and add or select the account from a source of your choice:"}),"\n",(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("img",{src:"/img/extension/3rd-party-import.png",alt:"3rd-party Account Import",width:"600"})}),"\n",(0,n.jsx)(t.admonition,{title:"Hardware Wallet Support",type:"info",children:(0,n.jsx)(t.p,{children:"Hardware wallets can not be connected directly and must be imported into a browser wallet first. If your browser wallet lacks hardware-wallet support, we recommend installing MetaMask and importing the hardware-wallet account there."})}),"\n",(0,n.jsx)(t.h2,{id:"connect-the-extensions",children:"Connect the Extensions"}),"\n",(0,n.jsxs)(t.p,{children:["After your recovery account is set in the wallet, head to the ",(0,n.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," and connect both extensions."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Connect the Extensions",src:r(1085).A+"",width:"2132",height:"759"})}),"\n",(0,n.jsx)(t.h2,{id:"execute-the-controller-transaction",children:"Execute the Controller Transaction"}),"\n",(0,n.jsx)(t.p,{children:"The address of the connected wallet account is then used to execute the controller transaction from the Universal Profile Extension."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Execute the Controller Transaction",src:r(7110).A+"",width:"2132",height:"759"})}),"\n",(0,n.jsxs)(t.p,{children:["After the transaction has been executed, your new recovery controller will be set and will show up in the ",(0,n.jsx)(t.em,{children:"Controllers"})," menu of the Universal Profile."]}),"\n",(0,n.jsxs)(t.admonition,{title:"Set Controller Names",type:"tip",children:[(0,n.jsxs)(t.p,{children:["By default, the new recovery controller will be named ",(0,n.jsx)(t.strong,{children:"Recovery key?"}),". To better distinguish between different controllers, it's recommended to ",(0,n.jsx)(t.em,{children:"locally rename the key"})," by opening the controller view and clicking the pencil next to its name. You can chose a more specific name like ",(0,n.jsx)(t.em,{children:"MetaMask Recovery"})," or ",(0,n.jsx)(t.em,{children:"Ledger Recovery"}),". Renaming the controllers won't affect any functionality."]}),(0,n.jsx)("img",{src:"/img/extension/controller-recovery-rename.png",alt:"Controller Name Change",width:"600"})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1085:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/set-recovery-1-e48bf700f2cc2760444cb3bce8e685e1.png"},7110:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/set-recovery-2-93ee0147d76816b4bf95269b6d25de49.png"},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>s});var n=r(6540);const o={},l=n.createContext(o);function i(e){const t=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/20717cf2.8068a66d.js b/assets/js/20717cf2.8068a66d.js deleted file mode 100644 index 5a6d2b09..00000000 --- a/assets/js/20717cf2.8068a66d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[763],{7236:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var i=t(4848),a=t(8453);const r={sidebar_label:"\ud83c\udfe6 Migration on Exchanges",sidebar_position:4,description:"LYXe Migration and Exchanges"},o="Migration on Exchanges",l={id:"general/l14-and-lyxe/migration/migration-on-exchanges",title:"Migration on Exchanges",description:"LYXe Migration and Exchanges",source:"@site/docs/general/l14-and-lyxe/migration/migration-on-exchanges.md",sourceDirName:"general/l14-and-lyxe/migration",slug:"/general/l14-and-lyxe/migration/migration-on-exchanges",permalink:"/general/l14-and-lyxe/migration/migration-on-exchanges",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/migration-on-exchanges.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:4,frontMatter:{sidebar_label:"\ud83c\udfe6 Migration on Exchanges",sidebar_position:4,description:"LYXe Migration and Exchanges"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd04 Transaction Process",permalink:"/general/l14-and-lyxe/migration/transaction-process"},next:{title:"February 2024",permalink:"/general/l14-and-lyxe/migration/incidents/february"}},s={},c=[{value:"Will LYXe be migrated automatically?",id:"will-lyxe-be-migrated-automatically",level:2},{value:"Where can LYX be traded?",id:"where-can-lyx-be-traded",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"migration-on-exchanges",children:"Migration on Exchanges"}),"\n",(0,i.jsx)(n.h2,{id:"will-lyxe-be-migrated-automatically",children:"Will LYXe be migrated automatically?"}),"\n",(0,i.jsx)(n.p,{children:"If you are holding LYXe within your own wallet, it will not be migrated automatically. You have to instantiate the migration process manually. There is likely an amount of LYXe that will never migrate due to lost wallets. Some people might even keep some LYXe for sentimental reasons."}),"\n",(0,i.jsx)(n.p,{children:"Exchanges holding LYXe might migrate the asset for their customers. However, this is not a process controlled by LUKSO directly. The following exchanges have performed an migration already:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.kucoin.com/announcement/en-kucoin-has-completed-the-token-swap-of-lyxe-to-lyx-20230721",children:"KuCoin LYX Migration Announcement"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.gate.io/article/33153",children:"Gate.io LYX Migration Announcement"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For further announcements, please follow the exchange's official announcement channels."}),"\n",(0,i.jsx)(n.h2,{id:"where-can-lyx-be-traded",children:"Where can LYX be traded?"}),"\n",(0,i.jsx)(n.p,{children:"You can trade or swap LYX using the following platforms:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.kucoin.com/announcement/en-kucoin-has-completed-the-token-swap-of-lyxe-to-lyx-20230721",children:"KuCoin Exchange"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.gate.io/article/33153",children:"Gate.io Exchange"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://support.ledger.com/hc/en-us/articles/15847276545053-Lukso-LYX-?docs=true",children:"Ledger Live Onramp"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"3rd-party services might also create decentralized marketplaces later on."}),"\n",(0,i.jsx)(n.admonition,{title:"Smart Contract Transactions",type:"danger",children:(0,i.jsxs)(n.p,{children:["Never send LYX directly from your Universal Profile to an Exchange. This might result in your funds being locked. Please check out the ",(0,i.jsx)(n.a,{href:"/general/getting-started/using-exchanges",children:"Exchange Guide"})," in case you want to send your migrated LYX back to the exchange."]})})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var i=t(6540);const a={},r=i.createContext(a);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/23c927f7.b72bf157.js b/assets/js/23c927f7.b72bf157.js deleted file mode 100644 index 8bbd0a29..00000000 --- a/assets/js/23c927f7.b72bf157.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[330],{278:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var o=n(4848),s=n(8453);const r={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO Extension"},i="Support for LUKSO Extension",l={id:"general/getting-started/Extension/introduction",title:"Support for LUKSO Extension",description:"Support for LUKSO Extension",source:"@site/docs/general/getting-started/Extension/introduction.md",sourceDirName:"general/getting-started/Extension",slug:"/general/getting-started/Extension/introduction",permalink:"/general/getting-started/Extension/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/introduction.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO Extension"},sidebar:"generalSidebar",previous:{title:"\ud83c\udd99 Universal Profiles",permalink:"/general/getting-started/universal-profiles"},next:{title:"\ud83d\udd10 Controllers",permalink:"/general/getting-started/Extension/controllers"}},a={},h=[{value:"Where can I download the Universal Profile Extension?",id:"where-can-i-download-the-universal-profile-extension",level:2},{value:"Which browsers does the extension support?",id:"which-browsers-does-the-extension-support",level:2},{value:"Whats the best way to use LUKSO?",id:"whats-the-best-way-to-use-lukso",level:2},{value:"Is the Universal Profile Extension a wallet?",id:"is-the-universal-profile-extension-a-wallet",level:2},{value:"Will the extension affect other wallets in the browser?",id:"will-the-extension-affect-other-wallets-in-the-browser",level:2},{value:"How does the extension store and verify the password?",id:"how-does-the-extension-store-and-verify-the-password",level:2}];function d(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"support-for-lukso-extension",children:"Support for LUKSO Extension"}),"\n",(0,o.jsx)(t.h2,{id:"where-can-i-download-the-universal-profile-extension",children:"Where can I download the Universal Profile Extension?"}),"\n",(0,o.jsxs)(t.p,{children:["You can download the Universal Profile Extension from the ",(0,o.jsx)(t.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?pli=1",children:"Chrome Store"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"which-browsers-does-the-extension-support",children:"Which browsers does the extension support?"}),"\n",(0,o.jsxs)(t.p,{children:["Currently, the Universal Profile Extension only supports ",(0,o.jsx)(t.a,{href:"https://www.google.com/intl/en/chrome",children:"Chrome"})," and ",(0,o.jsx)(t.a,{href:"https://brave.com/",children:"Brave"}),"."]}),"\n",(0,o.jsx)(t.admonition,{title:"Using Unsupported Browsers",type:"caution",children:(0,o.jsx)(t.p,{children:"Using unsupported browsers might result in broken interfaces or the extension not being recognized by dApps. We highly recommend to wait until official support is extended."})}),"\n",(0,o.jsx)(t.h2,{id:"whats-the-best-way-to-use-lukso",children:"Whats the best way to use LUKSO?"}),"\n",(0,o.jsxs)(t.p,{children:["It's suggested to use the ",(0,o.jsx)(t.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profile Extension"})," while interacting with apps and services on LUKSO. The extension offers you a much more user-friendly and feature-rich experience than you would get using regular wallets."]}),"\n",(0,o.jsx)(t.h2,{id:"is-the-universal-profile-extension-a-wallet",children:"Is the Universal Profile Extension a wallet?"}),"\n",(0,o.jsxs)(t.p,{children:["The Universal Profile Extension should ",(0,o.jsx)(t.em,{children:"not be classified as a wallet"}),". While connected Universal Profiles can store assets, the extension serves as a comprehensive center for your blockchain interactions and reflects your on-chain persona with much more capabilities than just holding assets. Each Universal Profile within an extension holds a separate private key that can be exported into any regular Ethereum wallet."]}),"\n",(0,o.jsx)(t.admonition,{title:"Wallet dApp",type:"info",children:(0,o.jsxs)(t.p,{children:["If you use the Universal Profile Browser Extension to store assets and token, please connect to ",(0,o.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"})," and visit your pfoile page to see your portfolio and send funds."]})}),"\n",(0,o.jsx)(t.h2,{id:"will-the-extension-affect-other-wallets-in-the-browser",children:"Will the extension affect other wallets in the browser?"}),"\n",(0,o.jsxs)(t.p,{children:["The extension injects into the blockchain provider, which may occasionally result in the ",(0,o.jsx)(t.em,{children:"Universal Profile Extension"})," appearing instead of other wallets. If this is not wanted, users can manually disable the extension within the ",(0,o.jsx)(t.a,{href:"https://support.google.com/chrome_webstore/answer/2664769?hl=en",children:"extension settings"})," of the browser. However, the extension ",(0,o.jsx)(t.strong,{children:"does not affect or modify the functionality of other wallets"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"how-does-the-extension-store-and-verify-the-password",children:"How does the extension store and verify the password?"}),"\n",(0,o.jsx)(t.p,{children:"The password of the Universal Profile Extension is used to encrypt the private keys of your controllers. These encrypted private keys are stored in your local browser. The password is only temporarily stored in memory when the keys are encrypted during login. If the wrong password is entered, the decryption will fail, indicating an incorrect password."})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var o=n(6540);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26538231.c41abf3c.js b/assets/js/26538231.c41abf3c.js new file mode 100644 index 00000000..1dc6868c --- /dev/null +++ b/assets/js/26538231.c41abf3c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[997],{2613:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var o=t(4848),s=t(8453);const i={sidebar_label:"#\ufe0f\u20e3 Check Extension Version",sidebar_position:5,description:"LUKSO Support: Check Extension Version"},r="Check Extension Version",c={id:"Extension/guides/check-extension-version",title:"Check Extension Version",description:"LUKSO Support: Check Extension Version",source:"@site/docs/Extension/guides/check-extension-version.md",sourceDirName:"Extension/guides",slug:"/Extension/guides/check-extension-version",permalink:"/Extension/guides/check-extension-version",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/guides/check-extension-version.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:5,frontMatter:{sidebar_label:"#\ufe0f\u20e3 Check Extension Version",sidebar_position:5,description:"LUKSO Support: Check Extension Version"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udcb0 Get Controller Funds",permalink:"/Extension/guides/get-controller-funds"},next:{title:"\ud83d\udd11 Controller Recovery Incident",permalink:"/Extension/incidents/controller-recovery"}},d={},u=[];function l(e){const n={h1:"h1",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"check-extension-version",children:"Check Extension Version"}),"\n",(0,o.jsx)(n.p,{children:"To check your extension version, open the settings of the extension at the upper right corner. Then scroll all the way down to retreive the current version of your browser extension, as described in the picture:"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/extension-version.png",alt:"Extension Version",width:"500"})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var o=t(6540);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2a5de752.1178744f.js b/assets/js/2a5de752.1178744f.js deleted file mode 100644 index 3b337976..00000000 --- a/assets/js/2a5de752.1178744f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[186],{7219:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var a=t(4848),i=t(8453);const r={sidebar_label:"January 2024",sidebar_position:3,description:"LUKSO Support: Migration Delay January 2024"},s="January 2024",c={id:"general/l14-and-lyxe/migration/incidents/january",title:"January 2024",description:"LUKSO Support: Migration Delay January 2024",source:"@site/docs/general/l14-and-lyxe/migration/incidents/january.md",sourceDirName:"general/l14-and-lyxe/migration/incidents",slug:"/general/l14-and-lyxe/migration/incidents/january",permalink:"/general/l14-and-lyxe/migration/incidents/january",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/incidents/january.md",tags:[],version:"current",lastUpdatedAt:1716806692e3,sidebarPosition:3,frontMatter:{sidebar_label:"January 2024",sidebar_position:3,description:"LUKSO Support: Migration Delay January 2024"},sidebar:"generalSidebar",previous:{title:"February 2024",permalink:"/general/l14-and-lyxe/migration/incidents/february"},next:{title:"\u26d3\ufe0f L14 Network",permalink:"/general/l14-and-lyxe/l14-network"}},o={},d=[{value:"Actions taken",id:"actions-taken",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"january-2024",children:"January 2024"}),"\n",(0,a.jsx)(n.admonition,{title:"Resolved",type:"success",children:(0,a.jsx)(n.p,{children:"This incident has been resolved on the 17th of January 2024 at 2:28pm UTC"})}),"\n",(0,a.jsxs)(n.p,{children:["On the 14th of January 2024, a sudden change in the LUKSO mainnet blockchain activity, following the ",(0,a.jsx)(n.a,{href:"https://twitter.com/feindura/status/1746262322950083047",children:"release of a very gas intensive NFT project"}),", created a wave of pending transactions from our migration system."]}),"\n",(0,a.jsx)(n.p,{children:"This resulted in a longer than usual processing time (from below 20min to few days) as the migration transactions were sent with a very low gas price (1.5gwei)."}),"\n",(0,a.jsxs)(n.p,{children:["The pending migration transactions can be monitored from the ",(0,a.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/address/0xc125fc4f3295dc891e909c56ad7ceb494e9f9644",children:"migration account"}),"."]}),"\n",(0,a.jsx)(n.admonition,{type:"info",children:(0,a.jsx)(n.p,{children:"No deposited LYXe is lost or at risk. User migrations will be processed when the speed up fix will be deployed."})}),"\n",(0,a.jsx)(n.h2,{id:"actions-taken",children:"Actions taken"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Jan 15th, 5:51pm UTC: the gas fees logic has been improved to handle the variations in gas price."}),"\n",(0,a.jsx)(n.li,{children:"Jan 16th, 1:00pm UTC: the deposit frontend has been paused to prevent further deposits."}),"\n",(0,a.jsx)(n.li,{children:"Jan 16th, 2:28pm UTC: the decrease of gas fees on LUKSO mainnet has allowed the network to process the pending migrations with low gas fee:"}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x9b7431f876dd3c50d78a1351fccfa109e590e51e1e647f45c0c37922cb1f6b03",children:(0,a.jsx)(n.code,{children:"0x9b7431f876dd3c50d78a1351fccfa109e590e51e1e647f45c0c37922cb1f6b03"})})," (nonce ",(0,a.jsx)(n.code,{children:"3531"}),")\n",(0,a.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0xbd9834db6abcdaa11c3b79c8f6bc209a3d1cf68407d084d4a90dc8a49c55dd64",children:(0,a.jsx)(n.code,{children:"0xbd9834db6abcdaa11c3b79c8f6bc209a3d1cf68407d084d4a90dc8a49c55dd64"})})," (nonce ",(0,a.jsx)(n.code,{children:"3532"}),")\n",(0,a.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x83379bfc82feec1de45a715c9d2c0c5dd507fcde3af9db44805265588d012a05",children:(0,a.jsx)(n.code,{children:"0x83379bfc82feec1de45a715c9d2c0c5dd507fcde3af9db44805265588d012a05"})})," (nonce ",(0,a.jsx)(n.code,{children:"3533"}),")\n",(0,a.jsx)(n.a,{href:"https://explorer.execution.mainnet.lukso.network/tx/0x02223747136b50f217a7b5991fa67eef3dedd12628bf507fef43208e7b39cba2",children:(0,a.jsx)(n.code,{children:"0x02223747136b50f217a7b5991fa67eef3dedd12628bf507fef43208e7b39cba2"})})," (nonce ",(0,a.jsx)(n.code,{children:"3534"}),")"]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Jan 17th, 2:00pm UTC: the missing two deposits ",(0,a.jsx)(n.a,{href:"https://etherscan.io/tx/0x405b1b200f21f1f692d6111fceb550a8152a52f0555a6c28a11a379748c24220",children:"3537"})," and ",(0,a.jsx)(n.a,{href:"https://etherscan.io/tx/0x83da2134290cc44a45edbc544be0b8c9e9a8a846c68231b99e7c79e89b1dc568",children:"3538"})," were successfully processed."]}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.strong,{children:"Jan 17th, 2:28pm UTC: the website has been unpaused - all systems are operational again \u2705"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var a=t(6540);const i={},r=a.createContext(i);function s(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/35a6fddf.5c4092d7.js b/assets/js/35a6fddf.5c4092d7.js new file mode 100644 index 00000000..aa88c69d --- /dev/null +++ b/assets/js/35a6fddf.5c4092d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[902],{7899:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var t=o(4848),r=o(8453);const i={sidebar_label:"\u2699\ufe0f Common Errors",sidebar_position:3,description:"Common Errors"},s="Common Errors",l={id:"Extension/common-errors",title:"Common Errors",description:"Common Errors",source:"@site/docs/Extension/common-errors.md",sourceDirName:"Extension",slug:"/Extension/common-errors",permalink:"/Extension/common-errors",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/common-errors.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:3,frontMatter:{sidebar_label:"\u2699\ufe0f Common Errors",sidebar_position:3,description:"Common Errors"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udd10 Controllers",permalink:"/Extension/controllers"},next:{title:"\ud83d\udedf Check 2FA Recovery",permalink:"/Extension/guides/check-2fa-recovery"}},c={},a=[{value:"Extension only connects to one Universal Profile",id:"extension-only-connects-to-one-universal-profile",level:2},{value:"Universal Profile is not allowed by this Transaction Relay Service",id:"universal-profile-is-not-allowed-by-this-transaction-relay-service",level:2},{value:"No recovery set up for this Universal Profile",id:"no-recovery-set-up-for-this-universal-profile",level:2},{value:"Universal Profile could not be added to the extension",id:"universal-profile-could-not-be-added-to-the-extension",level:2},{value:"Could not fetch user data / No profile detected.",id:"could-not-fetch-user-data--no-profile-detected",level:2},{value:"Incorrect 2FA Code",id:"incorrect-2fa-code",level:2},{value:"Recovery Session Expired",id:"recovery-session-expired",level:2}];function h(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"common-errors",children:"Common Errors"}),"\n",(0,t.jsx)(n.h2,{id:"extension-only-connects-to-one-universal-profile",children:"Extension only connects to one Universal Profile"}),"\n",(0,t.jsxs)(n.p,{children:["The UP extension currently only supports ",(0,t.jsx)(n.strong,{children:"one active profile connection"})," at a time. If you disconnect from an application, the connection on the initial profile of the extension will remain, preventing you from establishing an additional connection. To solve this issue, open the extension and navigate to the ",(0,t.jsx)(n.em,{children:"Connections"})," menu of the initial profile. Here, remove the desired connection. When trying to re-connect, the extension will ask you which Universal Profile you would like to connect."]}),"\n",(0,t.jsx)(n.admonition,{title:"Upcoming Feature",type:"tip",children:(0,t.jsx)(n.p,{children:"The Extension Team is working on bringing multi-connection support and implementing a global connection screen that allows users to easily toggle between active connections."})}),"\n",(0,t.jsx)(n.h2,{id:"universal-profile-is-not-allowed-by-this-transaction-relay-service",children:"Universal Profile is not allowed by this Transaction Relay Service"}),"\n",(0,t.jsxs)(n.p,{children:["This error occurs if a user deployed his Universal Profile through a 3rd party platform that has its own Transaction Relay Service (like ",(0,t.jsx)(n.a,{href:"https://universal.page",children:(0,t.jsx)(n.em,{children:"Universal.Page"})}),"). If the externally created profile gets imported into the Universal Profile Browser Extension, it is not compatible with LUKSO's own Transaction Relay Service, responsible for paying for user transactions on the network."]}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../../img/general/relay-service-tx-error.png",alt:"Relay Service Transaction Error",width:"400"})}),"\n",(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"solve this issue"}),", users have to ",(0,t.jsx)(n.a,{href:"/Extension/guides/fund-controller",children:(0,t.jsx)(n.strong,{children:"fund the extension's controller"})})," with LYX to execute transactions without any Transaction Relay Service. Within the transaction screen, users can then select to use their own controller's funds."]}),"\n",(0,t.jsx)(n.admonition,{type:"caution",children:(0,t.jsxs)(n.p,{children:["If you face this error in combination with ",(0,t.jsx)(n.strong,{children:"no sign permissions"})," after recovering your profile, the issue is likely related to ",(0,t.jsx)(n.a,{href:"/Extension/incidents/controller-recovery",children:"our recent controller incident"}),". Therefore, please make sure that you either have ",(0,t.jsx)(n.a,{href:"/Extension/guides/check-2fa-recovery",children:"2FA recovery set up correctly"})," or revealed the private key of the ",(0,t.jsx)(n.a,{href:"/Extension/controllers",children:"extension's controller"})," within the Settings screen. Both methods will ensure you will be able to regain access to your Universal Profile. More information can be found in the ",(0,t.jsx)(n.a,{href:"/Extension/guides/create-backup",children:"Backup"})," section."]})}),"\n",(0,t.jsx)(n.h2,{id:"no-recovery-set-up-for-this-universal-profile",children:"No recovery set up for this Universal Profile"}),"\n",(0,t.jsxs)(n.p,{children:["When you want to recover a profile using 2FA on the ",(0,t.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," dashboard, you might retrieve an error message like the following:"]}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../img/extension/recovery-failed.png",alt:"Recovery Error Message",width:"600"})}),"\n",(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"solve this issue"}),", please"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"/Extension/guides/check-2fa-recovery",children:(0,t.jsx)(n.strong,{children:"verify that 2FA is set up on a specific profile"})}),": If 2FA was not set up, you can not recover your profile from the dashboard. Please look into the optional ",(0,t.jsx)(n.a,{href:"/Extension/guides/create-backup",children:"Backup"})," solutions."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"verify that you logged in with the correct email account"}),": The email or Google Account you've used might differ from the one that you previously set for authentication. Chrome may automatically connect with the Google account of your browser profile instead of asking for another login. If the accounts do not match, the Transaction Relay Service won't recognize the account, indicating that no recovery was set up."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{type:"danger",children:(0,t.jsx)(n.p,{children:"If you neither have 2FA, access to the profile within the extension, or the backup file of a profile's controller, there will be no way to regain access."})}),"\n",(0,t.jsx)(n.h2,{id:"universal-profile-could-not-be-added-to-the-extension",children:"Universal Profile could not be added to the extension"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../img/extension/add-up-stall.png",alt:"Add Profile to Extension Error",width:"600"})}),"\n",(0,t.jsxs)(n.p,{children:["If the created Universal Profile on ",(0,t.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," can not be added to your Universal Profile Browser extension, a pending transaction is yet to be signed or verified."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["If your browser extension is locked, please ",(0,t.jsx)(n.strong,{children:"log back in"})," and check for an approval screen to import the profile."]}),"\n",(0,t.jsxs)(n.li,{children:["If you switched your network in the ",(0,t.jsx)(n.em,{children:"Settings"})," screen of the extension, please ",(0,t.jsx)(n.strong,{children:"switch the network"})," and check if the pending request appears."]}),"\n",(0,t.jsxs)(n.li,{children:["If there is no pending request in the extension, please ",(0,t.jsx)(n.strong,{children:"retry to add the profile after some minutes"}),", as the page status might not have been correctly synchronized with the transaction verification on the blockchain."]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{title:"Additional Developer Support",type:"info",children:(0,t.jsxs)(n.p,{children:["If the error persists, please contact our support on the ",(0,t.jsx)(n.a,{href:"https://discord.com/invite/lukso",children:"LUKSO Discord server"})," within the ",(0,t.jsx)(n.strong,{children:"BUGS and SUPPORT"})," category. You can ",(0,t.jsx)(n.strong,{children:"right-click"})," on the screen to ",(0,t.jsx)(n.strong,{children:"inspect the page"})," to provide further details about the issue. Within the ",(0,t.jsx)(n.strong,{children:"console"})," of the ",(0,t.jsx)(n.strong,{children:"inspector window"}),", you should see a more detailed error code from the extension. Please attach a screenshot of the console and your previously defined profile name so we can track down the root cause of your issue."]})}),"\n",(0,t.jsx)(n.admonition,{title:"Restarting the profile creation",type:"success",children:(0,t.jsxs)(n.p,{children:["Optionally, you can create a new profile, as no data or information has been added to the Universal Profile yet- except its name. Therefore, you can ",(0,t.jsx)(n.strong,{children:"clear your browser's cache"})," and restart your profile creation on ",(0,t.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," from scratch."]})}),"\n",(0,t.jsx)(n.h2,{id:"could-not-fetch-user-data--no-profile-detected",children:"Could not fetch user data / No profile detected."}),"\n",(0,t.jsx)(n.p,{children:"It might happen that your profile data, like pictures and name, can not be fetched from web pages and apps:"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../img/extension/error-fetch-data.png",alt:"Error fetching profile data",width:"300"})}),"\n",(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"solve this issue"}),", please ",(0,t.jsx)(n.strong,{children:"edit and re-deploy"})," your profile metadata ",(0,t.jsx)(n.strong,{children:"within the Universal Profile Browser Extension"}),". This will update the metadata file using the correct and up-to-date schema, so apps are able to fetch it again:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"Edit Universal Profile",src:o(1102).A+"",width:"1244",height:"572"})}),"\n",(0,t.jsx)(n.h2,{id:"incorrect-2fa-code",children:"Incorrect 2FA Code"}),"\n",(0,t.jsxs)(n.p,{children:["This error might occur when you want to recover your Universal Profile using the authenticator app, but logged in with an email or Google Account ",(0,t.jsx)(n.strong,{children:"that was never attached to the 2FA recovery"})," process:"]}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../img/extension/2fa-auth-fail.png",alt:"Incorrect 2FA Code",width:"300"})}),"\n",(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"solve this issue"}),", please verify that you are logging in with the ",(0,t.jsx)(n.strong,{children:"same Email or Google Account to which the authenticator code was set up"}),". This email or Google Account might differ from the one used for authentication upon the profile creation."]}),"\n",(0,t.jsx)(n.h2,{id:"recovery-session-expired",children:"Recovery Session Expired"}),"\n",(0,t.jsx)(n.p,{children:"This error might occur when you are trying to recover your profile from 2FA and are logging into a mismatched email or Google Account or if too much time has passed since the start of the recovery process. The Transaction Relay Service will abort the connection if an authentication code has never been set up for this specific account."}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/../img/extension/re-authenticate.png",alt:"Authentication Expired",width:"300"})}),"\n",(0,t.jsxs)(n.p,{children:["To ",(0,t.jsx)(n.strong,{children:"solve this issue"}),", please verify that you are logging in with the ",(0,t.jsx)(n.strong,{children:"same Email or Google Account to which the authenticator code was set up"}),". If you are uncertain, please check if you still have the confirmation email. After confirmation, continue by connecting to ",(0,t.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," and start the recovery again."]}),"\n",(0,t.jsx)(n.admonition,{type:"info",children:(0,t.jsxs)(n.p,{children:["No profile or controller key will be generated and added to the Universal Profile extension if the recovery session expires. There will be ",(0,t.jsx)(n.strong,{children:"no pending process"}),". You can login and restart the recovery immediately."]})})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},1102:(e,n,o)=>{o.d(n,{A:()=>t});const t=o.p+"assets/images/edit-profile-cedcf58c0ae778d7ca0745cc4678b181.png"},8453:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>l});var t=o(6540);const r={},i=t.createContext(r);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37a57b1d.7dc5863f.js b/assets/js/37a57b1d.7dc5863f.js deleted file mode 100644 index 04518faa..00000000 --- a/assets/js/37a57b1d.7dc5863f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[147],{3199:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=r(4848),o=r(8453);const s={sidebar_label:"\ud83d\udd10 Recover from Wallet",sidebar_position:7,description:"How to recover a Universal Profile using your private key or 3rd-party wallet"},i="Recover from Wallet",l={id:"general/getting-started/Extension/guides/wallet-recovery",title:"Recover from Wallet",description:"How to recover a Universal Profile using your private key or 3rd-party wallet",source:"@site/docs/general/getting-started/Extension/guides/wallet-recovery.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/wallet-recovery",permalink:"/general/getting-started/Extension/guides/wallet-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/wallet-recovery.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:7,frontMatter:{sidebar_label:"\ud83d\udd10 Recover from Wallet",sidebar_position:7,description:"How to recover a Universal Profile using your private key or 3rd-party wallet"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc5b Set Wallet Recovery",permalink:"/general/getting-started/Extension/guides/set-wallet-recovery"},next:{title:"\ud83d\udd11 Controller Recovery Incident",permalink:"/general/getting-started/Extension/incidents/controller-recovery"}},a={},c=[{value:"Preparation",id:"preparation",level:2},{value:"Connect and Import",id:"connect-and-import",level:2},{value:"Set the Controller",id:"set-the-controller",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"recover-from-wallet",children:"Recover from Wallet"}),"\n",(0,n.jsxs)(t.p,{children:["If you've set a ",(0,n.jsx)(t.strong,{children:"recovery controller"})," using the ",(0,n.jsx)(t.a,{href:"/general/getting-started/Extension/guides/set-wallet-recovery",children:"Wallet Recovery Setup"})," or have an ",(0,n.jsx)(t.strong,{children:"existing private key"}),", you can use these controllers to restore your Universal Profile."]}),"\n",(0,n.jsx)(t.h2,{id:"preparation",children:"Preparation"}),"\n",(0,n.jsxs)(t.p,{children:["In order to recover your Universal Profile, you will need the ",(0,n.jsx)(t.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn",children:"Universal Profile Browser Extension"})," and an ",(0,n.jsx)(t.a,{href:"/general/supported-wallets/wallet-support",children:"Ethereum wallet with custom network support"})," installed ",(0,n.jsxs)(t.strong,{children:["in the same ",(0,n.jsx)(t.a,{href:"/general/getting-started/Extension/introduction#which-browsers-does-the-extension-support",children:"supported browser"})]}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Wallet Support",type:"tip",children:(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," officially supports ",(0,n.jsx)(t.strong,{children:"MetaMask"})," as the wallet. If you experience issues with other wallets, please try again using MetaMask."]})}),"\n",(0,n.jsx)(t.p,{children:"Before you can recover your Universal Profile, ensure that:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"The recovery controller or private key was added to the third-party wallet"}),": If the connected account that was ",(0,n.jsx)(t.a,{href:"/general/getting-started/Extension/guides/wallet-recovery#preparation",children:"set up in the wallet"})," does not match one of the controllers of the Universal Profile, you won't be able to continue the recovery."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"The recovery controller has enough LYX/LYXt to execute the recovery"}),": During the recovery process, the Universal Profile Extension will generate a new controller key that will be added to the wallet's recovery account. To set the controller and permissions, you will have to execute a transaction costing approximately ",(0,n.jsx)(t.code,{children:"0.01"})," LYX/LYXt. The amount can vary based on network usage. Please fund your controller address from an existing and working wallet or Universal Profile."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"The extension and wallet are set to the same LUKSO network"}),": Within your wallet, please ",(0,n.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add and switch to the LUKSO network"}),". The network must match that of the Universal Profile Browser Extension in order to call and verify the Universal Profile controllers."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"The Universal Profile has not been imported into the extension"}),": You can only recover the Universal Profile if it has not been imported into the Universal Profile Extension already. If the profile already exists, please use a different browser or carefully check if the extension can be reinstalled without losing access to other profiles. You should only delete the extension if you don't have any other profiles, backed up all private keys from the settings screen, or have 2FA or wallet recovery set on all the other profiles."]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{title:"Using Hardware Wallets",type:"info",children:(0,n.jsxs)(t.p,{children:["If you are using a hardware wallet to recover your Universal Profile, please ensure that the correct security settings are enabled. For Ledger, you must allow ",(0,n.jsx)(t.strong,{children:"blind signing"})," within the Ethereum app on the device to execute smart contract transactions like the recovery. If you are using Trezor, you will have to adjust the ",(0,n.jsx)(t.a,{href:"/general/supported-wallets/hardware-wallets#how-to-send-transactions-using-trezor-wallet",children:"strict security rules"})," due to the network ID."]})}),"\n",(0,n.jsx)(t.admonition,{title:"Restarting the Recovery Process",type:"caution",children:(0,n.jsxs)(t.p,{children:["The recovery transaction will be sent ",(0,n.jsx)(t.strong,{children:"after the profile is imported"}),". As already existing profiles in the extension can not be recovered, this might cause problems if the process needs to be restarted from scratch. Therefore, please ensure that the controller address is funded with enough LYX/LYXt and can easily be retried. Otherwise, you might have to reinstall the extension. After recovering a profile, the remaining funds can be ",(0,n.jsx)(t.a,{href:"/general/getting-started/Extension/guides/get-controller-funds",children:"sent back to one of your accounts"}),"."]})}),"\n",(0,n.jsx)(t.h2,{id:"connect-and-import",children:"Connect and Import"}),"\n",(0,n.jsxs)(t.p,{children:["After all requirements are met, head to the ",(0,n.jsx)(t.a,{href:"https://my.universalprofile.cloud/3rd-party/recover",children:"Wallet Recovery"})," and search for the Universal Profile you want to recover. Next, you will have to connect your wallet. The recovery service will then check if the connected account is permitted to recover the Universal Profile by adding a new controller. If so, you can import your profile. By starting the import, the extension will generate a new controller key, which must be granted permission afterward."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Connect the Extensions",src:r(9783).A+"",width:"2132",height:"759"})}),"\n",(0,n.jsx)(t.h2,{id:"set-the-controller",children:"Set the Controller"}),"\n",(0,n.jsx)(t.p,{children:"If the Universal Profile was imported into the extension, you will see that the extension is now awaiting a recovery transaction from one of the existing controllers. By continuing, the recovery service will generate this transaction and add the newly generated extension controller to your profile. After the transaction has been executed, you will have a working extension with access to your Universal Profile."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Connect the Extensions",src:r(1676).A+"",width:"2132",height:"759"})})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},9783:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/recover-up-1-3f969e6662b8bfd8a13b0ef88811492a.png"},1676:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/recover-up-2-ac0b6253192a69df10e2e15210a72720.png"},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>l});var n=r(6540);const o={},s=n.createContext(o);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/385efddf.e6374204.js b/assets/js/385efddf.e6374204.js new file mode 100644 index 00000000..4b329dcf --- /dev/null +++ b/assets/js/385efddf.e6374204.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[424],{4409:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>t,metadata:()=>a,toc:()=>c});var i=s(4848),r=s(8453);s(6540);function o(e){let{src:n}=e;return(0,i.jsx)("div",{style:{position:"relative",paddingBottom:"56.25%",height:0},children:(0,i.jsx)("iframe",{src:n,frameBorder:"0",allowFullScreen:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"}})})}const t={sidebar_label:"\ud83c\udd99 universalprofile.cloud",sidebar_position:1,description:"Support Page for Universal Profiles"},l="Universal Profiles",a={id:"universalprofilecloud/universal-profiles",title:"Universal Profiles",description:"Support Page for Universal Profiles",source:"@site/docs/universalprofilecloud/universal-profiles.md",sourceDirName:"universalprofilecloud",slug:"/universalprofilecloud/universal-profiles",permalink:"/universalprofilecloud/universal-profiles",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/universalprofilecloud/universal-profiles.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83c\udd99 universalprofile.cloud",sidebar_position:1,description:"Support Page for Universal Profiles"},sidebar:"universalprofilecloudSidebar",next:{title:"\ud83d\udc5b Set Wallet Recovery",permalink:"/universalprofilecloud/Recovery/set-wallet-recovery"}},d={},c=[{value:"Where can I see my Universal Profile ?",id:"where-can-i-see-my-universal-profile-",level:2},{value:"How can I send assets from my Universal Profile?",id:"how-can-i-send-assets-from-my-universal-profile",level:2},{value:"Where can I manage my Universal Profile?",id:"where-can-i-manage-my-universal-profile",level:2},{value:"Is my Universal Profile name unique?",id:"is-my-universal-profile-name-unique",level:2},{value:"Can I send Ether and Token from Ethereum to my Universal Profile?",id:"can-i-send-ether-and-token-from-ethereum-to-my-universal-profile",level:2},{value:"Which tokens and coins can my Universal Profile hold?",id:"which-tokens-and-coins-can-my-universal-profile-hold",level:2},{value:"Can I control assets using Universal Profiles on any blockchain?",id:"can-i-control-assets-using-universal-profiles-on-any-blockchain",level:2},{value:"Why do Universal Profile transactions show up as internal transactions?",id:"why-do-universal-profile-transactions-show-up-as-internal-transactions",level:2},{value:"Is it possible to create a profile with the same address as my wallet?",id:"is-it-possible-to-create-a-profile-with-the-same-address-as-my-wallet",level:2},{value:"How can I delete profiles on the explorer?",id:"how-can-i-delete-profiles-on-the-explorer",level:2},{value:"My Tokens or NFTs are missing from universalprofile.cloud, how do I add them?",id:"my-tokens-or-nfts-are-missing-from-universalprofilecloud-how-do-i-add-them",level:2}];function h(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"universal-profiles",children:"Universal Profiles"}),"\n",(0,i.jsx)(n.h2,{id:"where-can-i-see-my-universal-profile-",children:"Where can I see my Universal Profile ?"}),"\n",(0,i.jsxs)(n.p,{children:["You can find your Universal Profile on the Universal Profile Explorer at ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"}),". Just select the correct network on the bottom left corner and use the global search bar to search for your name."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Universal Profile Explorer",src:s(3497).A+"",width:"1379",height:"840"})}),"\n",(0,i.jsx)(n.h2,{id:"how-can-i-send-assets-from-my-universal-profile",children:"How can I send assets from my Universal Profile?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile Extension ",(0,i.jsx)(n.strong,{children:"does not directly manage token information"}),". Instead, it is designed to work with various decentralized applications (dApps) that can seamlessly integrate with your Universal Profile and interact with its information and controllers. You can connect your Universal Profile to ",(0,i.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/",children:"wallet.universalprofile.cloud"})," to send token transactions."]}),"\n",(0,i.jsx)(o,{src:"https://www.loom.com/embed/47b4f4e671b248219cac48726358a791?sid=a88bd596-8860-4677-83c9-33384ccfdcb1"}),"\n",(0,i.jsx)(n.h2,{id:"where-can-i-manage-my-universal-profile",children:"Where can I manage my Universal Profile?"}),"\n",(0,i.jsxs)(n.p,{children:["You can connect your Universal Profile to ",(0,i.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," to check and add 2FA recovery or create new profiles."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Universal Profile Management",src:s(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,i.jsx)(n.h2,{id:"is-my-universal-profile-name-unique",children:"Is my Universal Profile name unique?"}),"\n",(0,i.jsx)(n.p,{children:"The profile name displayed on platforms and services is retrieved from the metadata linked to the smart contract. Such metadata, images, or descriptions can be individually set when creating or updating the Universal Profile. Therefore, multiple users can choose similar names or pictures."}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("img",{src:"/img/general/profile-name.png",alt:"Universal Profile Name",width:"200"})}),"\n",(0,i.jsx)(n.p,{children:"What is unique about a Universal Profile are its address and the identicon. The address is indicated with the first four characters behind the profile name. In case the first characters of the address should be similar or identical, the identicon further helps to distinguish them. The combination of attributes was done to allow complete customization without lacking authentication."}),"\n",(0,i.jsx)(n.h2,{id:"can-i-send-ether-and-token-from-ethereum-to-my-universal-profile",children:"Can I send Ether and Token from Ethereum to my Universal Profile?"}),"\n",(0,i.jsx)(n.p,{children:"You can't send any assets to the address if you do not deploy the Universal Profile on Ethereum. Users will lose their assets if they send them to other networks without having access to the controller key."}),"\n",(0,i.jsxs)(n.admonition,{title:"LYXe vs LYX Transactions",type:"danger",children:[(0,i.jsxs)(n.p,{children:["\u203c\ufe0f\u26a0\ufe0f If you hold LYXe, ",(0,i.jsx)(n.strong,{children:"do not send them to your Universal Profile's address!"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"LYXe is the token deployed on Ethereum."}),"\n",(0,i.jsx)(n.li,{children:"LYX is the native currency of the LUKSO Network"}),"\n"]}),(0,i.jsx)(n.p,{children:"Therefore, you cannot send LYXe to your Universal Profile's address, as your Universal Profile is deployed and only exists on the LUKSO network."}),(0,i.jsxs)(n.p,{children:["To transfer your LYXe to your UP, ",(0,i.jsxs)(n.strong,{children:["you must first, migrate your LYXe to LYX the ",(0,i.jsx)(n.a,{href:"https://migrate.lukso.network/",children:"LUKSO Migration Service"})]}),"."]}),(0,i.jsxs)(n.p,{children:["For further details, please visit the ",(0,i.jsx)(n.a,{href:"/migration/introduction",children:"Migration Support"})," page."]})]}),"\n",(0,i.jsx)(n.h2,{id:"which-tokens-and-coins-can-my-universal-profile-hold",children:"Which tokens and coins can my Universal Profile hold?"}),"\n",(0,i.jsx)(n.p,{children:"A Universal Profile can hold any asset on the same network it's deployed on. On LUKSO, the native coin is LYX. While native coins from other networks can't be held directly in Universal Profiles deployed on LUKSO, external services might also create token bridges for external assets."}),"\n",(0,i.jsx)(n.h2,{id:"can-i-control-assets-using-universal-profiles-on-any-blockchain",children:"Can I control assets using Universal Profiles on any blockchain?"}),"\n",(0,i.jsx)(n.p,{children:"You can manage your assets through a Universal Profile on any blockchain the contract is deployed on. This would also include cases where the standardization was rewritten in a different language. If a service or project would allow you to create Universal Profiles on Ethereum, you could manage your assets through it."}),"\n",(0,i.jsx)(n.h2,{id:"why-do-universal-profile-transactions-show-up-as-internal-transactions",children:"Why do Universal Profile transactions show up as internal transactions?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile is a ",(0,i.jsx)(n.strong,{children:"smart contract"}),". Unlike a regular wallet, where ",(0,i.jsx)(n.em,{children:"transactions are made directly by the address owning the funds"}),", the transactions on the Universal Profile are ",(0,i.jsx)(n.strong,{children:"executed by one of it's controllers"}),". This division of execution and ownership of assets requires the execution of custom logic of the smart contract. The key manager has to check the permissions of the controller, before any on-chain action is made. This additional logic, established using ",(0,i.jsx)(n.a,{href:"https://docs.lukso.tech/standards/introduction",children:"LSP smart contracts"})," is the reason for transactions appearing as internal."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-possible-to-create-a-profile-with-the-same-address-as-my-wallet",children:"Is it possible to create a profile with the same address as my wallet?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile is a smart contract account deployed using a regular wallet key (EOA). Hence it ",(0,i.jsx)(n.em,{children:"cannot overwrite or have the same address as an existing browser- or hardware wallet"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-can-i-delete-profiles-on-the-explorer",children:"How can I delete profiles on the explorer?"}),"\n",(0,i.jsxs)(n.p,{children:["Currently, there's no way to delete profiles showing up on ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," if you lost access or the deployment was not completed. To delete a profile that you can still access within the Universal Profile Browser Extension, please edit the metadata and remove all the contents like pictures and names."]}),"\n",(0,i.jsx)(n.admonition,{title:"Upcoming Feature",type:"success",children:(0,i.jsxs)(n.p,{children:["Removing profiles is planned for upcoming releases of the ",(0,i.jsx)(n.em,{children:"Universal Profile Browser Extension"})," and ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud",children:"universalprofile.cloud"}),"."]})}),"\n",(0,i.jsx)(n.h2,{id:"my-tokens-or-nfts-are-missing-from-universalprofilecloud-how-do-i-add-them",children:"My Tokens or NFTs are missing from universalprofile.cloud, how do I add them?"}),"\n",(0,i.jsx)(n.p,{children:"If your assets are not getting added to your Universal Profile, it is likely that the Universal Receiver is not able to edit the storage elements of your Universal Profile."}),"\n",(0,i.jsxs)(n.p,{children:["To solve this issue, ",(0,i.jsx)(n.a,{href:"https://www.loom.com/share/ff12158265e6482d837d5f9d420b87dd",children:"watch this video"})," or follow the steps below:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"First, \ud83c\udd99 extension:"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:'Open the Universal Profile Browser Extension and click the "controllers" tab'}),"\n",(0,i.jsx)(n.li,{children:'Find your "UP Receiver"'}),"\n",(0,i.jsx)(n.li,{children:'Enable the "Profile data" as well as "Re-entrancy" permissions'}),"\n"]}),"\n",(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsx)(n.li,{children:"Then, wallet:"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["After that, go to our ",(0,i.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/settings/missing-assets",children:"Missing Assets"})," page"]}),"\n",(0,i.jsx)(n.li,{children:"Connect your profile"}),"\n",(0,i.jsx)(n.li,{children:'Add the token or NFT contract address and click "continue"'}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2724:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},3497:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/up-cloud-548cee5bfa9f47b5ff101a802e70750f.png"},8453:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>l});var i=s(6540);const r={},o=i.createContext(r);function t(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3d3d0882.4d001a39.js b/assets/js/3d3d0882.4d001a39.js deleted file mode 100644 index af3eda26..00000000 --- a/assets/js/3d3d0882.4d001a39.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[733],{4762:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var r=n(4848),i=n(8453);const s={sidebar_label:"\ud83d\ude80 Getting Started",sidebar_position:1,description:"LUKSO Support: Universal Profile Controllers"},o="Getting Started",a={id:"general/getting-started/getting-started",title:"Getting Started",description:"LUKSO Support: Universal Profile Controllers",source:"@site/docs/general/getting-started/getting-started.md",sourceDirName:"general/getting-started",slug:"/general/getting-started/",permalink:"/general/getting-started/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/getting-started.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\ude80 Getting Started",sidebar_position:1,description:"LUKSO Support: Universal Profile Controllers"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/introduction"},next:{title:"\ud83c\udd99 Universal Profiles",permalink:"/general/getting-started/universal-profiles"}},l={},d=[];function c(e){const t={h1:"h1",li:"li",ol:"ol",p:"p",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"getting-started",children:"Getting Started"}),"\n",(0,r.jsx)(t.p,{children:"This section is aimed at getting your from zero knowledge --\x3e interacting with dapps on the LUKSO blockchain."}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"The guide is broken down into 4 sections"}),":"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsx)(t.li,{children:"Creating your Universal Profile"}),"\n",(0,r.jsx)(t.li,{children:"Downloading our \ud83c\udd99 browser extension"}),"\n",(0,r.jsx)(t.li,{children:"Buying some LYX"}),"\n",(0,r.jsx)(t.li,{children:"Sign posting you to some popular dapps on LUKSO"}),"\n"]})]})}function g(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var r=n(6540);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/45882c80.a849e6a2.js b/assets/js/45882c80.a849e6a2.js new file mode 100644 index 00000000..5c8a2f52 --- /dev/null +++ b/assets/js/45882c80.a849e6a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[811],{7877:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>u});var o=r(4848),n=r(8453);const s={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"General Support Page for LUKSO"},i="General Support and Help",a={id:"general/introduction",title:"General Support and Help",description:"General Support Page for LUKSO",source:"@site/docs/general/introduction.md",sourceDirName:"general",slug:"/general/introduction",permalink:"/general/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/introduction.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"General Support Page for LUKSO"},sidebar:"generalSidebar",next:{title:" \ud83d\udcb8 Where can I buy LYX",permalink:"/general/getting-started/using-exchanges"}},l={},u=[{value:"My question is not here. Where can I get help?",id:"my-question-is-not-here-where-can-i-get-help",level:2},{value:"Where to report issues for repositories and tools?",id:"where-to-report-issues-for-repositories-and-tools",level:2},{value:"Where can security issues be reported to?",id:"where-can-security-issues-be-reported-to",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"general-support-and-help",children:"General Support and Help"}),"\n",(0,o.jsx)(t.p,{children:"This category of the help center features general answers on topics related to the use of the LUKSO Network."}),"\n",(0,o.jsx)(t.h2,{id:"my-question-is-not-here-where-can-i-get-help",children:"My question is not here. Where can I get help?"}),"\n",(0,o.jsxs)(t.p,{children:["Please feel free to ",(0,o.jsx)(t.a,{href:"/contact-us/",children:"contact us"})," any time!"]}),"\n",(0,o.jsx)(t.h2,{id:"where-to-report-issues-for-repositories-and-tools",children:"Where to report issues for repositories and tools?"}),"\n",(0,o.jsxs)(t.p,{children:["You can open an issue on any open code repository of the ",(0,o.jsx)(t.a,{href:"https://github.com/lukso-network",children:"LUKSO Network's GitHub"})," page. We are also preparing workflows to handle global issues and improvement proposals. In case you want to give feedback to private source code, like our Universal Profile Extension, please create an issue on our global ",(0,o.jsx)(t.a,{href:"https://github.com/lukso-network/issue-tracker",children:"GitHub Issue Tracker"}),"."]}),"\n",(0,o.jsx)(t.admonition,{title:"Customer Support",type:"info",children:(0,o.jsxs)(t.p,{children:["If you have questions regarding personal matters like the migration of LYXe, Universal Profile Browser Extension or, ",(0,o.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"})," please reach out to ",(0,o.jsx)(t.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})}),"\n",(0,o.jsx)(t.h2,{id:"where-can-security-issues-be-reported-to",children:"Where can security issues be reported to?"}),"\n",(0,o.jsxs)(t.p,{children:["Suppose it's a vulnerability or something that should not be shared with the public, please reach out to official team members within our developer channel on ",(0,o.jsx)(t.a,{href:"https://discord.gg/lukso",children:"Discord"}),". You can send a friend request in order to exchange more detailed information. We are also preparing a workflow to handle investigations and bug bounties in a unified format."]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>a});var o=r(6540);const n={},s=o.createContext(n);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/45882c80.d832ca04.js b/assets/js/45882c80.d832ca04.js deleted file mode 100644 index 07dad72a..00000000 --- a/assets/js/45882c80.d832ca04.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[811],{7877:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>u});var o=r(4848),n=r(8453);const s={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"General Support Page for LUKSO"},i="General Support and Help",a={id:"general/introduction",title:"General Support and Help",description:"General Support Page for LUKSO",source:"@site/docs/general/introduction.md",sourceDirName:"general",slug:"/general/introduction",permalink:"/general/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/introduction.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"General Support Page for LUKSO"},sidebar:"generalSidebar",next:{title:"\ud83d\ude80 Getting Started",permalink:"/general/getting-started/"}},l={},u=[{value:"My question is not here. Where can I get help?",id:"my-question-is-not-here-where-can-i-get-help",level:2},{value:"Where to report issues for repositories and tools?",id:"where-to-report-issues-for-repositories-and-tools",level:2},{value:"Where can security issues be reported to?",id:"where-can-security-issues-be-reported-to",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"general-support-and-help",children:"General Support and Help"}),"\n",(0,o.jsx)(t.p,{children:"This category of the help center features general answers on topics related to the use of the LUKSO Network."}),"\n",(0,o.jsx)(t.h2,{id:"my-question-is-not-here-where-can-i-get-help",children:"My question is not here. Where can I get help?"}),"\n",(0,o.jsxs)(t.p,{children:["Please feel free to ",(0,o.jsx)(t.a,{href:"/contact-us/",children:"contact us"})," any time!"]}),"\n",(0,o.jsx)(t.h2,{id:"where-to-report-issues-for-repositories-and-tools",children:"Where to report issues for repositories and tools?"}),"\n",(0,o.jsxs)(t.p,{children:["You can open an issue on any open code repository of the ",(0,o.jsx)(t.a,{href:"https://github.com/lukso-network",children:"LUKSO Network's GitHub"})," page. We are also preparing workflows to handle global issues and improvement proposals. In case you want to give feedback to private source code, like our Universal Profile Extension, please create an issue on our global ",(0,o.jsx)(t.a,{href:"https://github.com/lukso-network/issue-tracker",children:"GitHub Issue Tracker"}),"."]}),"\n",(0,o.jsx)(t.admonition,{title:"Customer Support",type:"info",children:(0,o.jsxs)(t.p,{children:["If you have questions regarding personal matters like the migration of LYXe, Universal Profile Browser Extension or, ",(0,o.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"})," please reach out to ",(0,o.jsx)(t.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})}),"\n",(0,o.jsx)(t.h2,{id:"where-can-security-issues-be-reported-to",children:"Where can security issues be reported to?"}),"\n",(0,o.jsxs)(t.p,{children:["Suppose it's a vulnerability or something that should not be shared with the public, please reach out to official team members within our developer channel on ",(0,o.jsx)(t.a,{href:"https://discord.gg/lukso",children:"Discord"}),". You can send a friend request in order to exchange more detailed information. We are also preparing a workflow to handle investigations and bug bounties in a unified format."]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>a});var o=r(6540);const n={},s=o.createContext(n);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/472b13cd.dd9ede60.js b/assets/js/472b13cd.dd9ede60.js deleted file mode 100644 index 46e5d107..00000000 --- a/assets/js/472b13cd.dd9ede60.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[637],{9984:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>d});var r=a(4848),o=a(8453);const n={sidebar_label:"\ud83d\udc5d Supported Wallets",sidebar_position:2,description:"LUKSO Migration: Supported Wallets"},l="Supported Wallets",s={id:"general/l14-and-lyxe/migration/supported-wallets",title:"Supported Wallets",description:"LUKSO Migration: Supported Wallets",source:"@site/docs/general/l14-and-lyxe/migration/supported-wallets.md",sourceDirName:"general/l14-and-lyxe/migration",slug:"/general/l14-and-lyxe/migration/supported-wallets",permalink:"/general/l14-and-lyxe/migration/supported-wallets",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/supported-wallets.md",tags:[],version:"current",lastUpdatedAt:1717079656e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udc5d Supported Wallets",sidebar_position:2,description:"LUKSO Migration: Supported Wallets"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/l14-and-lyxe/migration/introduction"},next:{title:"\ud83d\udd04 Transaction Process",permalink:"/general/l14-and-lyxe/migration/transaction-process"}},i={},d=[{value:"Which wallets can be used to migrate LYXe?",id:"which-wallets-can-be-used-to-migrate-lyxe",level:2},{value:"What if I don't have a browser-based wallet?",id:"what-if-i-dont-have-a-browser-based-wallet",level:2},{value:"How do I migrate if I have a hardware wallet?",id:"how-do-i-migrate-if-i-have-a-hardware-wallet",level:2},{value:"How to store LYX?",id:"how-to-store-lyx",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"supported-wallets",children:"Supported Wallets"}),"\n",(0,r.jsx)(t.h2,{id:"which-wallets-can-be-used-to-migrate-lyxe",children:"Which wallets can be used to migrate LYXe?"}),"\n",(0,r.jsx)(t.p,{children:"Only regular EVM-compatible browser-based wallets (Externally Owned Accounts) are supported for the migration. Universal Profiles are disabled, so your funds are kept anonymous and not directly linked to any public persona."}),"\n",(0,r.jsx)(t.h2,{id:"what-if-i-dont-have-a-browser-based-wallet",children:"What if I don't have a browser-based wallet?"}),"\n",(0,r.jsxs)(t.p,{children:["If you migrate yourself but don't have a browser-based wallet, e.g., holding your LYXe on a Ledger or Trezor, we recommend installing an EVM-compatible browser-based wallet. After generating a new blockchain address on the installed wallet, you can send the LYXe to your new wallet and begin migrating from the browser. One of the most commonly used browser-based wallets is ",(0,r.jsx)(t.a,{href:"https://metamask.io/download/",children:"MetaMask"}),", which can be installed and added to your browser within a few steps. MetaMask also supports wallet imports for both Ledger and Trezor hardware wallets."]}),"\n",(0,r.jsx)(t.h2,{id:"how-do-i-migrate-if-i-have-a-hardware-wallet",children:"How do I migrate if I have a hardware wallet?"}),"\n",(0,r.jsx)(t.p,{children:"If you have LYXe on a hardware wallet like Ledger or Trezor, you can send them to a supported crypto exchange or migrate independently by connecting your hardware wallet to a browser-based wallet. Make sure your hardware wallet supports external connections to browser-based wallets."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["You can also check our ",(0,r.jsx)(t.a,{href:"/general/supported-wallets/hardware-wallets",children:"Hardware Wallet"})," page for related information."]})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-store-lyx",children:"How to store LYX?"}),"\n",(0,r.jsxs)(t.p,{children:["You can store LYX using the ",(0,r.jsx)(t.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profile Browser Extension"})," or any Ethereum-compatible wallet or hardware wallet."]}),"\n",(0,r.jsx)(t.admonition,{title:"Custom Network",type:"caution",children:(0,r.jsx)(t.p,{children:"Please ensure you can set custom blockchain networks within your blockchain wallet. Otherwise, you might not be able to see or send LYX within your wallet."})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,a)=>{a.d(t,{R:()=>l,x:()=>s});var r=a(6540);const o={},n=r.createContext(o);function l(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4aaa6ca2.05b5db1a.js b/assets/js/4aaa6ca2.05b5db1a.js new file mode 100644 index 00000000..c9d51b27 --- /dev/null +++ b/assets/js/4aaa6ca2.05b5db1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[808],{4309:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var a=n(4848),o=n(8453);const s={sidebar_label:"\ud83d\udd04 Transaction Process",sidebar_position:3,description:"LUKSO Migration: Transaction Process"},i="Migration Process",r={id:"migration/transaction-process",title:"Migration Process",description:"LUKSO Migration: Transaction Process",source:"@site/docs/migration/transaction-process.md",sourceDirName:"migration",slug:"/migration/transaction-process",permalink:"/migration/transaction-process",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/transaction-process.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udd04 Transaction Process",sidebar_position:3,description:"LUKSO Migration: Transaction Process"},sidebar:"migrationSidebar",previous:{title:"\ud83d\udc5d Supported Wallets",permalink:"/migration/supported-wallets"},next:{title:"\ud83c\udfe6 Migration on Exchanges",permalink:"/migration/migration-on-exchanges"}},c={},l=[{value:"Will it be possible to migrate LYX back to LYXe?",id:"will-it-be-possible-to-migrate-lyx-back-to-lyxe",level:2},{value:"How long does it take to migrate my LYXe?",id:"how-long-does-it-take-to-migrate-my-lyxe",level:2},{value:"What happens with LYXe sent to the LYXe contract?",id:"what-happens-with-lyxe-sent-to-the-lyxe-contract",level:2},{value:"How can I make sure that the migration was successful?",id:"how-can-i-make-sure-that-the-migration-was-successful",level:2},{value:"I cannot see the LYX in my wallet after the migration",id:"i-cannot-see-the-lyx-in-my-wallet-after-the-migration",level:2},{value:"What can I do when my transaction status stalls?",id:"what-can-i-do-when-my-transaction-status-stalls",level:2}];function h(e){const t={a:"a",h1:"h1",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"migration-process",children:"Migration Process"}),"\n",(0,a.jsx)(t.h2,{id:"will-it-be-possible-to-migrate-lyx-back-to-lyxe",children:"Will it be possible to migrate LYX back to LYXe?"}),"\n",(0,a.jsxs)(t.p,{children:["No, the official ",(0,a.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"LUKSO Migration Bridge"})," acts as a 1-Way-Bridge to migrate LYXe to LYX. A single locking transaction on the Ethereum blockchain automatically triggers the transfer of an equal amount of LYX on the LUKSO blockchain."]}),"\n",(0,a.jsx)(t.h2,{id:"how-long-does-it-take-to-migrate-my-lyxe",children:"How long does it take to migrate my LYXe?"}),"\n",(0,a.jsx)(t.p,{children:"The token migration usually takes about 10-15min for the transaction to be finalized and the LYX sent to the wallet on the LUKSO mainnet. This time is needed to ensure security throughout every step."}),"\n",(0,a.jsx)(t.h2,{id:"what-happens-with-lyxe-sent-to-the-lyxe-contract",children:"What happens with LYXe sent to the LYXe contract?"}),"\n",(0,a.jsxs)(t.p,{children:["Any account that accidentally sent LYXe to the ",(0,a.jsx)(t.a,{href:"https://etherscan.io/token/0xA8b919680258d369114910511cc87595aec0be6D",children:"LYXe Token address"})," on Ethereum will ",(0,a.jsx)(t.a,{href:"https://medium.com/lukso/the-lyxe-migration-process-374053e5ddf5",children:"receive the equal amount of LYX"})," on the LUKSO Blockchain."]}),"\n",(0,a.jsx)(t.h2,{id:"how-can-i-make-sure-that-the-migration-was-successful",children:"How can I make sure that the migration was successful?"}),"\n",(0,a.jsxs)(t.p,{children:["You can check your LYX balance using the ",(0,a.jsx)(t.a,{href:"https://explorer.execution.testnet.lukso.network/",children:"LUKSO Mainnet Block Explorer"}),", searching for your address."]}),"\n",(0,a.jsx)(t.h2,{id:"i-cannot-see-the-lyx-in-my-wallet-after-the-migration",children:"I cannot see the LYX in my wallet after the migration"}),"\n",(0,a.jsxs)(t.p,{children:["If you want to see the LYX balance displayed in your wallet, you can add LUKSO to your wallet as a custom network using the details from ",(0,a.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"Network Properties"}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"what-can-i-do-when-my-transaction-status-stalls",children:"What can I do when my transaction status stalls?"}),"\n",(0,a.jsxs)(t.p,{children:["The migration transaction might be correctly executed on Ethereum and LUKSO, but the status is not updated on the ",(0,a.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"migration application"})," in the browser. If you want to send a new transaction and already verified that the transaction has been executed, please reset ",(0,a.jsx)(t.a,{href:"https://support.google.com/accounts/answer/32050?hl=en&co=GENIE.Platform%3DDesktop",children:"your browser history"})," and re-open the page. You will be brought to the home screen again without any pending state."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var a=n(6540);const o={},s=a.createContext(o);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4f152c9b.b7bd6f56.js b/assets/js/4f152c9b.b7bd6f56.js deleted file mode 100644 index c9b6d3fd..00000000 --- a/assets/js/4f152c9b.b7bd6f56.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[51],{8241:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>h});var o=n(4848),i=n(8453);const a={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO LYXe Migration"},r="Support for LYXe Migration",s={id:"general/l14-and-lyxe/migration/introduction",title:"Support for LYXe Migration",description:"Support for LUKSO LYXe Migration",source:"@site/docs/general/l14-and-lyxe/migration/introduction.md",sourceDirName:"general/l14-and-lyxe/migration",slug:"/general/l14-and-lyxe/migration/introduction",permalink:"/general/l14-and-lyxe/migration/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/introduction.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO LYXe Migration"},sidebar:"generalSidebar",previous:{title:"\ud83e\uddeb L14 and LYXe",permalink:"/general/l14-and-lyxe/"},next:{title:"\ud83d\udc5d Supported Wallets",permalink:"/general/l14-and-lyxe/migration/supported-wallets"}},l={},h=[{value:"How can I migrate LYXe to LYX?",id:"how-can-i-migrate-lyxe-to-lyx",level:2},{value:"What is the minimal amount that can be bridged?",id:"what-is-the-minimal-amount-that-can-be-bridged",level:2},{value:"How much will it cost to migrate the LYXe?",id:"how-much-will-it-cost-to-migrate-the-lyxe",level:2},{value:"What can be done about high gas fees on MetaMask?",id:"what-can-be-done-about-high-gas-fees-on-metamask",level:3},{value:"What can I do if my wallet is not showing up?",id:"what-can-i-do-if-my-wallet-is-not-showing-up",level:2},{value:"Where will the LYX be migrated to?",id:"where-will-the-lyx-be-migrated-to",level:2},{value:"How long will the LYXe migration be open for?",id:"how-long-will-the-lyxe-migration-be-open-for",level:2},{value:"Will LYXe be deprecated when migration closes?",id:"will-lyxe-be-deprecated-when-migration-closes",level:2}];function c(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"support-for-lyxe-migration",children:"Support for LYXe Migration"}),"\n",(0,o.jsx)(t.h2,{id:"how-can-i-migrate-lyxe-to-lyx",children:"How can I migrate LYXe to LYX?"}),"\n",(0,o.jsxs)(t.p,{children:["You can migrate LYXe to LYX using the official ",(0,o.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"Migration Bridge"}),". Please check the ",(0,o.jsx)(t.code,{children:"lukso.network"})," domain in order to guarantee that you are on the official app, before connecting your wallet."]}),"\n",(0,o.jsx)(t.h2,{id:"what-is-the-minimal-amount-that-can-be-bridged",children:"What is the minimal amount that can be bridged?"}),"\n",(0,o.jsx)(t.p,{children:"You need at least 1 LYXe within your connected wallet to start the migration. You can send any decimal values."}),"\n",(0,o.jsx)(t.h2,{id:"how-much-will-it-cost-to-migrate-the-lyxe",children:"How much will it cost to migrate the LYXe?"}),"\n",(0,o.jsxs)(t.p,{children:["Since LYXe is managed on Ethereum, you will need some ETH to cover the Gas costs of the transaction when using the migration dApp. The transfer will cost less than 200k Gas, corresponding to ",(0,o.jsx)(t.a,{href:"https://etherscan.io/gastracker",children:"an average"})," of 0,004 ETH. Remember that these prices can fluctuate if the network is at capacity."]}),"\n",(0,o.jsx)(t.h3,{id:"what-can-be-done-about-high-gas-fees-on-metamask",children:"What can be done about high gas fees on MetaMask?"}),"\n",(0,o.jsx)(t.p,{children:'There used to be a frontend glitch which would not round the LYXe amount properly when using the "max button". This would cause the system to try to send slightly more LYXe than the balance of your wallet further causing extremely high gas fees because of an obviously wrong transaction. This issue is now solved and there is no need to round down the value anymore.'}),"\n",(0,o.jsx)(t.p,{children:"If you encounter high gas fees when migrating LYXe to LYX, there could be several reasons for this:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Nonce-related"}),": Please re-try to migrate your LYXe using your browser wallet after ",(0,o.jsx)(t.strong,{children:"resetting your wallet activity"}),". Transaction problems might be related to the nonce not being updated correctly, letting the transaction fail, or raising its gas. Here you can find an example guide: ",(0,o.jsx)(t.a,{href:"https://support.metamask.io/hc/en-us/articles/360015488891-How-to-clear-your-account-activity-reset-account",children:"How to reset the activity on MetaMask"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Gas-related"}),": If you only have a small amount of Ether to pay for the migration on Ethereum, MetaMask may estimate the gas a bit higher than your balance, causing very high gas fees of more than 0.5 ETH, instead of the regular 0.01 ETH. To solve the issue, please ",(0,o.jsx)(t.strong,{children:"make sure your wallet has enough Ether to pay for the transaction"})," at the current ",(0,o.jsx)(t.a,{href:"https://etherscan.io/gastracker",children:"transaction prices"}),". You can also adjust the transaction speed to be on the lower end. You can see ",(0,o.jsx)(t.a,{href:"https://etherscan.io/address/0xdE000042830A211533662637fE66760f1F2cD717#tokentxns",children:"previous deposit transactions"})," to get an overview of fees paid by other users."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"what-can-i-do-if-my-wallet-is-not-showing-up",children:"What can I do if my wallet is not showing up?"}),"\n",(0,o.jsxs)(t.p,{children:["The migration page supports ",(0,o.jsx)(t.a,{href:"/general/supported-wallets/wallet-support",children:"multiple wallets"}),". If you have various wallet extensions installed within your browser, it might happen that instead of MetaMask, other wallets will open up when connecting to ",(0,o.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"migrate.lukso.network"}),". To ",(0,o.jsx)(t.strong,{children:"solve this issue"}),", please temporarily turn off your other wallet extensions within your browser."]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Open the Extension Menu of your browser"}),": Usually, you will be able to access the extension menu by clicking the 3-Dot-Menu on\nthe top right corner, and selecting ",(0,o.jsx)(t.em,{children:"Extensions"})," or ",(0,o.jsx)(t.em,{children:"Manage Extensions"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Temporary toggle off unused wallets"}),": You can disable other wallets, only keeping the one you would like to use for migration"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"After the migration is successful, you can enable other wallets again."}),"\n",(0,o.jsx)(t.h2,{id:"where-will-the-lyx-be-migrated-to",children:"Where will the LYX be migrated to?"}),"\n",(0,o.jsx)(t.p,{children:"The LYX will be sent to the same blockchain address (account/wallet) used during the migration. Within supported exchanges, the accounts will automatically be updated from LYXe to LYX if they have not been manually transferred to external wallets."}),"\n",(0,o.jsx)(t.h2,{id:"how-long-will-the-lyxe-migration-be-open-for",children:"How long will the LYXe migration be open for?"}),"\n",(0,o.jsxs)(t.p,{children:["The migration process started on the 4th of July, 2023. As stated in the ",(0,o.jsx)(t.a,{href:"https://medium.com/lukso/the-lyxe-migration-process-374053e5ddf5",children:"Migration Article"})," the bridge is planned to stay open up to 4 years until July 2027, allowing anyone to migrate. The Foundation for the New Creative Economies can pause the migration bridge. Please refer to the official announcements from the ",(0,o.jsx)(t.a,{href:"https://twitter.com/lukso_io",children:"LUKSO Twitter Account"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"will-lyxe-be-deprecated-when-migration-closes",children:"Will LYXe be deprecated when migration closes?"}),"\n",(0,o.jsxs)(t.p,{children:["Since LYXe is the official representation of LYX on Ethereum that was used to power off the ",(0,o.jsx)(t.a,{href:"https://medium.com/lukso/re-launching-the-reversible-ico-5289989ce7ed",children:"rICO"}),", the token itself will exist forever. However, we can not guarantee any price differences from LYXe to LYX after they can not be migrated anymore."]})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>s});var o=n(6540);const i={},a=o.createContext(i);function r(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4fd97190.25bc88d4.js b/assets/js/4fd97190.25bc88d4.js deleted file mode 100644 index 768f55b7..00000000 --- a/assets/js/4fd97190.25bc88d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[855],{435:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=t(4848),r=t(8453);const i={sidebar_label:"\u2699\ufe0f Common Errors",sidebar_position:3,description:"Common Errors"},s="Common Errors",a={id:"general/getting-started/Extension/common-errors",title:"Common Errors",description:"Common Errors",source:"@site/docs/general/getting-started/Extension/common-errors.md",sourceDirName:"general/getting-started/Extension",slug:"/general/getting-started/Extension/common-errors",permalink:"/general/getting-started/Extension/common-errors",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/common-errors.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:"\u2699\ufe0f Common Errors",sidebar_position:3,description:"Common Errors"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd10 Controllers",permalink:"/general/getting-started/Extension/controllers"},next:{title:"\ud83d\udedf Check 2FA Recovery",permalink:"/general/getting-started/Extension/guides/check-2fa-recovery"}},l={},c=[{value:"Extension only connects to one Universal Profile",id:"extension-only-connects-to-one-universal-profile",level:2},{value:"Universal Profile is not allowed by this Transaction Relay Service",id:"universal-profile-is-not-allowed-by-this-transaction-relay-service",level:2},{value:"No recovery set up for this Universal Profile",id:"no-recovery-set-up-for-this-universal-profile",level:2},{value:"Universal Profile could not be added to the extension",id:"universal-profile-could-not-be-added-to-the-extension",level:2},{value:"Could not fetch user data / No profile detected.",id:"could-not-fetch-user-data--no-profile-detected",level:2},{value:"Incorrect 2FA Code",id:"incorrect-2fa-code",level:2},{value:"Recovery Session Expired",id:"recovery-session-expired",level:2}];function h(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"common-errors",children:"Common Errors"}),"\n",(0,o.jsx)(n.h2,{id:"extension-only-connects-to-one-universal-profile",children:"Extension only connects to one Universal Profile"}),"\n",(0,o.jsxs)(n.p,{children:["The UP extension currently only supports ",(0,o.jsx)(n.strong,{children:"one active profile connection"})," at a time. If you disconnect from an application, the connection on the initial profile of the extension will remain, preventing you from establishing an additional connection. To solve this issue, open the extension and navigate to the ",(0,o.jsx)(n.em,{children:"Connections"})," menu of the initial profile. Here, remove the desired connection. When trying to re-connect, the extension will ask you which Universal Profile you would like to connect."]}),"\n",(0,o.jsx)(n.admonition,{title:"Upcoming Feature",type:"tip",children:(0,o.jsx)(n.p,{children:"The Extension Team is working on bringing multi-connection support and implementing a global connection screen that allows users to easily toggle between active connections."})}),"\n",(0,o.jsx)(n.h2,{id:"universal-profile-is-not-allowed-by-this-transaction-relay-service",children:"Universal Profile is not allowed by this Transaction Relay Service"}),"\n",(0,o.jsxs)(n.p,{children:["This error occurs if a user deployed his Universal Profile through a 3rd party platform that has its own Transaction Relay Service (like ",(0,o.jsx)(n.a,{href:"https://universal.page",children:(0,o.jsx)(n.em,{children:"Universal.Page"})}),"). If the externally created profile gets imported into the Universal Profile Browser Extension, it is not compatible with LUKSO's own Transaction Relay Service, responsible for paying for user transactions on the network."]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../../img/general/relay-service-tx-error.png",alt:"Relay Service Transaction Error",width:"400"})}),"\n",(0,o.jsxs)(n.p,{children:["To ",(0,o.jsx)(n.strong,{children:"solve this issue"}),", users have to ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/guides/fund-controller",children:(0,o.jsx)(n.strong,{children:"fund the extension's controller"})})," with LYX to execute transactions without any Transaction Relay Service. Within the transaction screen, users can then select to use their own controller's funds."]}),"\n",(0,o.jsx)(n.admonition,{type:"caution",children:(0,o.jsxs)(n.p,{children:["If you face this error in combination with ",(0,o.jsx)(n.strong,{children:"no sign permissions"})," after recovering your profile, the issue is likely related to ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/incidents/controller-recovery",children:"our recent controller incident"}),". Therefore, please make sure that you either have ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/guides/check-2fa-recovery",children:"2FA recovery set up correctly"})," or revealed the private key of the ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/controllers",children:"extension's controller"})," within the Settings screen. Both methods will ensure you will be able to regain access to your Universal Profile. More information can be found in the ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/guides/create-backup",children:"Backup"})," section."]})}),"\n",(0,o.jsx)(n.h2,{id:"no-recovery-set-up-for-this-universal-profile",children:"No recovery set up for this Universal Profile"}),"\n",(0,o.jsxs)(n.p,{children:["When you want to recover a profile using 2FA on the ",(0,o.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," dashboard, you might retrieve an error message like the following:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../img/extension/recovery-failed.png",alt:"Recovery Error Message",width:"600"})}),"\n",(0,o.jsxs)(n.p,{children:["To ",(0,o.jsx)(n.strong,{children:"solve this issue"}),", please"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/guides/check-2fa-recovery",children:(0,o.jsx)(n.strong,{children:"verify that 2FA is set up on a specific profile"})}),": If 2FA was not set up, you can not recover your profile from the dashboard. Please look into the optional ",(0,o.jsx)(n.a,{href:"/general/getting-started/Extension/guides/create-backup",children:"Backup"})," solutions."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"verify that you logged in with the correct email account"}),": The email or Google Account you've used might differ from the one that you previously set for authentication. Chrome may automatically connect with the Google account of your browser profile instead of asking for another login. If the accounts do not match, the Transaction Relay Service won't recognize the account, indicating that no recovery was set up."]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"danger",children:(0,o.jsx)(n.p,{children:"If you neither have 2FA, access to the profile within the extension, or the backup file of a profile's controller, there will be no way to regain access."})}),"\n",(0,o.jsx)(n.h2,{id:"universal-profile-could-not-be-added-to-the-extension",children:"Universal Profile could not be added to the extension"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../img/extension/add-up-stall.png",alt:"Add Profile to Extension Error",width:"600"})}),"\n",(0,o.jsxs)(n.p,{children:["If the created Universal Profile on ",(0,o.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," can not be added to your Universal Profile Browser extension, a pending transaction is yet to be signed or verified."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["If your browser extension is locked, please ",(0,o.jsx)(n.strong,{children:"log back in"})," and check for an approval screen to import the profile."]}),"\n",(0,o.jsxs)(n.li,{children:["If you switched your network in the ",(0,o.jsx)(n.em,{children:"Settings"})," screen of the extension, please ",(0,o.jsx)(n.strong,{children:"switch the network"})," and check if the pending request appears."]}),"\n",(0,o.jsxs)(n.li,{children:["If there is no pending request in the extension, please ",(0,o.jsx)(n.strong,{children:"retry to add the profile after some minutes"}),", as the page status might not have been correctly synchronized with the transaction verification on the blockchain."]}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{title:"Additional Developer Support",type:"info",children:(0,o.jsxs)(n.p,{children:["If the error persists, please contact our support on the ",(0,o.jsx)(n.a,{href:"https://discord.com/invite/lukso",children:"LUKSO Discord server"})," within the ",(0,o.jsx)(n.strong,{children:"BUGS and SUPPORT"})," category. You can ",(0,o.jsx)(n.strong,{children:"right-click"})," on the screen to ",(0,o.jsx)(n.strong,{children:"inspect the page"})," to provide further details about the issue. Within the ",(0,o.jsx)(n.strong,{children:"console"})," of the ",(0,o.jsx)(n.strong,{children:"inspector window"}),", you should see a more detailed error code from the extension. Please attach a screenshot of the console and your previously defined profile name so we can track down the root cause of your issue."]})}),"\n",(0,o.jsx)(n.admonition,{title:"Restarting the profile creation",type:"success",children:(0,o.jsxs)(n.p,{children:["Optionally, you can create a new profile, as no data or information has been added to the Universal Profile yet- except its name. Therefore, you can ",(0,o.jsx)(n.strong,{children:"clear your browser's cache"})," and restart your profile creation on ",(0,o.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," from scratch."]})}),"\n",(0,o.jsx)(n.h2,{id:"could-not-fetch-user-data--no-profile-detected",children:"Could not fetch user data / No profile detected."}),"\n",(0,o.jsx)(n.p,{children:"It might happen that your profile data, like pictures and name, can not be fetched from web pages and apps:"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../img/extension/error-fetch-data.png",alt:"Error fetching profile data",width:"300"})}),"\n",(0,o.jsxs)(n.p,{children:["To ",(0,o.jsx)(n.strong,{children:"solve this issue"}),", please ",(0,o.jsx)(n.strong,{children:"edit and re-deploy"})," your profile metadata ",(0,o.jsx)(n.strong,{children:"within the Universal Profile Browser Extension"}),". This will update the metadata file using the correct and up-to-date schema, so apps are able to fetch it again:"]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Edit Universal Profile",src:t(1102).A+"",width:"1244",height:"572"})}),"\n",(0,o.jsx)(n.h2,{id:"incorrect-2fa-code",children:"Incorrect 2FA Code"}),"\n",(0,o.jsxs)(n.p,{children:["This error might occur when you want to recover your Universal Profile using the authenticator app, but logged in with an email or Google Account ",(0,o.jsx)(n.strong,{children:"that was never attached to the 2FA recovery"})," process:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../img/extension/2fa-auth-fail.png",alt:"Incorrect 2FA Code",width:"300"})}),"\n",(0,o.jsxs)(n.p,{children:["To ",(0,o.jsx)(n.strong,{children:"solve this issue"}),", please verify that you are logging in with the ",(0,o.jsx)(n.strong,{children:"same Email or Google Account to which the authenticator code was set up"}),". This email or Google Account might differ from the one used for authentication upon the profile creation."]}),"\n",(0,o.jsx)(n.h2,{id:"recovery-session-expired",children:"Recovery Session Expired"}),"\n",(0,o.jsx)(n.p,{children:"This error might occur when you are trying to recover your profile from 2FA and are logging into a mismatched email or Google Account or if too much time has passed since the start of the recovery process. The Transaction Relay Service will abort the connection if an authentication code has never been set up for this specific account."}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/../img/extension/re-authenticate.png",alt:"Authentication Expired",width:"300"})}),"\n",(0,o.jsxs)(n.p,{children:["To ",(0,o.jsx)(n.strong,{children:"solve this issue"}),", please verify that you are logging in with the ",(0,o.jsx)(n.strong,{children:"same Email or Google Account to which the authenticator code was set up"}),". If you are uncertain, please check if you still have the confirmation email. After confirmation, continue by connecting to ",(0,o.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," and start the recovery again."]}),"\n",(0,o.jsx)(n.admonition,{type:"info",children:(0,o.jsxs)(n.p,{children:["No profile or controller key will be generated and added to the Universal Profile extension if the recovery session expires. There will be ",(0,o.jsx)(n.strong,{children:"no pending process"}),". You can login and restart the recovery immediately."]})})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},1102:(e,n,t)=>{t.d(n,{A:()=>o});const o=t.p+"assets/images/edit-profile-cedcf58c0ae778d7ca0745cc4678b181.png"},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var o=t(6540);const r={},i=o.createContext(r);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d825f5a.6682c78a.js b/assets/js/5d825f5a.6682c78a.js deleted file mode 100644 index 0059379e..00000000 --- a/assets/js/5d825f5a.6682c78a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[114],{7418:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var o=n(4848),i=n(8453);const s={sidebar_label:"\ud83d\udc6f\u200d\u2642\ufe0f Community",sidebar_position:7,description:"Links on where to stay up to date with LUKSO"},r="Follow Us",l={id:"general/community/community",title:"Follow Us",description:"Links on where to stay up to date with LUKSO",source:"@site/docs/general/community/community.md",sourceDirName:"general/community",slug:"/general/community/",permalink:"/general/community/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/community/community.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:7,frontMatter:{sidebar_label:"\ud83d\udc6f\u200d\u2642\ufe0f Community",sidebar_position:7,description:"Links on where to stay up to date with LUKSO"},sidebar:"generalSidebar",previous:{title:"\u2753 FAQ",permalink:"/general/faq/"}},c={},a=[{value:"Twitter",id:"twitter",level:2},{value:"Discord",id:"discord",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"follow-us",children:"Follow Us"}),"\n",(0,o.jsx)(t.p,{children:"If you'd like to stay up to date with all of the latest LUKSO news, then we recommend the following us in the places listed below."}),"\n",(0,o.jsx)(t.h2,{id:"twitter",children:"Twitter"}),"\n",(0,o.jsx)(t.p,{children:"We have two main accounts:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://twitter.com/lukso_io",children:"LUKSO"})," - where we tweet about all things happening in LUKSO"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://twitter.com/ERC725Account",children:"ERC725"})," - where we tweet about mainly developer oriented topics"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"discord",children:"Discord"}),"\n",(0,o.jsxs)(t.p,{children:["You can also contact us on ",(0,o.jsx)(t.a,{href:"https://discord.com/invite/lukso",children:"Discord"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"We're very active so you can speak to our support teams, devs, designers....pretty much anyone."}),"\n",(0,o.jsx)(t.p,{children:"Most importantly, you'll find the community here. People building dapps on LUKSO, or LUKSO dApps users."})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var o=n(6540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d825f5a.a3f7d092.js b/assets/js/5d825f5a.a3f7d092.js new file mode 100644 index 00000000..4058b0ba --- /dev/null +++ b/assets/js/5d825f5a.a3f7d092.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[733],{7418:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>a});var o=n(4848),i=n(8453);const s={sidebar_label:"\ud83d\udc6f\u200d\u2642\ufe0f Community",sidebar_position:7,description:"Links on where to stay up to date with LUKSO"},r="Follow Us",l={id:"general/community/community",title:"Follow Us",description:"Links on where to stay up to date with LUKSO",source:"@site/docs/general/community/community.md",sourceDirName:"general/community",slug:"/general/community/",permalink:"/general/community/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/community/community.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:7,frontMatter:{sidebar_label:"\ud83d\udc6f\u200d\u2642\ufe0f Community",sidebar_position:7,description:"Links on where to stay up to date with LUKSO"},sidebar:"generalSidebar",previous:{title:"\u26d3\ufe0f L14 Network",permalink:"/general/l14-network"}},c={},a=[{value:"Twitter",id:"twitter",level:2},{value:"Discord",id:"discord",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"follow-us",children:"Follow Us"}),"\n",(0,o.jsx)(t.p,{children:"If you'd like to stay up to date with all of the latest LUKSO news, then we recommend the following us in the places listed below."}),"\n",(0,o.jsx)(t.h2,{id:"twitter",children:"Twitter"}),"\n",(0,o.jsx)(t.p,{children:"We have two main accounts:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://twitter.com/lukso_io",children:"LUKSO"})," - where we tweet about all things happening in LUKSO"]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"https://twitter.com/ERC725Account",children:"ERC725"})," - where we tweet about mainly developer oriented topics"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"discord",children:"Discord"}),"\n",(0,o.jsxs)(t.p,{children:["You can also contact us on ",(0,o.jsx)(t.a,{href:"https://discord.com/invite/lukso",children:"Discord"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"We're very active so you can speak to our support teams, devs, designers....pretty much anyone."}),"\n",(0,o.jsx)(t.p,{children:"Most importantly, you'll find the community here. People building dapps on LUKSO, or LUKSO dApps users."})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var o=n(6540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/61d4f3a7.a380c12b.js b/assets/js/61d4f3a7.a380c12b.js deleted file mode 100644 index ed5eb49e..00000000 --- a/assets/js/61d4f3a7.a380c12b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[41],{4192:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var i=t(4848),r=t(8453);const a={sidebar_label:"\ud83e\uddeb L14 and LYXe",sidebar_position:5,description:"About L14 and LYXe"},o="L14 Testnet and LYXe Migration",l={id:"general/l14-and-lyxe/l14-and-lyxe",title:"L14 Testnet and LYXe Migration",description:"About L14 and LYXe",source:"@site/docs/general/l14-and-lyxe/l14-and-lyxe.md",sourceDirName:"general/l14-and-lyxe",slug:"/general/l14-and-lyxe/",permalink:"/general/l14-and-lyxe/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/l14-and-lyxe.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:5,frontMatter:{sidebar_label:"\ud83e\uddeb L14 and LYXe",sidebar_position:5,description:"About L14 and LYXe"},sidebar:"generalSidebar",previous:{title:"\ud83d\udee1\ufe0f Hardware Wallets",permalink:"/general/supported-wallets/hardware-wallets"},next:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/l14-and-lyxe/migration/introduction"}},s={},d=[{value:"L14 Testnet",id:"l14-testnet",level:2},{value:"LYXe Migration",id:"lyxe-migration",level:2}];function c(e){const n={h1:"h1",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"l14-testnet-and-lyxe-migration",children:"L14 Testnet and LYXe Migration"}),"\n",(0,i.jsx)(n.p,{children:"In this section you can find all the information you need relating to:"}),"\n",(0,i.jsx)(n.h2,{id:"l14-testnet",children:"L14 Testnet"}),"\n",(0,i.jsx)(n.p,{children:"This is our original test network that is now being closed down."}),"\n",(0,i.jsx)(n.h2,{id:"lyxe-migration",children:"LYXe Migration"}),"\n",(0,i.jsx)(n.p,{children:"This was our ICO before we launched LUKSO mainnet."})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var i=t(6540);const r={},a=i.createContext(r);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6629c45f.21133bda.js b/assets/js/6629c45f.21133bda.js deleted file mode 100644 index 68e5601b..00000000 --- a/assets/js/6629c45f.21133bda.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[820],{72:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"generalSidebar":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/general/introduction","docId":"general/introduction","unlisted":false},{"type":"category","label":" \ud83d\udc68\u200d\ud83d\ude80 Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83c\udd99 Universal Profiles","href":"/general/getting-started/universal-profiles","docId":"general/getting-started/universal-profiles","unlisted":false},{"type":"category","label":"\ud83d\udcd4 Extension","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/general/getting-started/Extension/introduction","docId":"general/getting-started/Extension/introduction","unlisted":false},{"type":"link","label":"\ud83d\udd10 Controllers","href":"/general/getting-started/Extension/controllers","docId":"general/getting-started/Extension/controllers","unlisted":false},{"type":"link","label":"\u2699\ufe0f Common Errors","href":"/general/getting-started/Extension/common-errors","docId":"general/getting-started/Extension/common-errors","unlisted":false},{"type":"category","label":"\ud83d\udcd4 Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udedf Check 2FA Recovery","href":"/general/getting-started/Extension/guides/check-2fa-recovery","docId":"general/getting-started/Extension/guides/check-2fa-recovery","unlisted":false},{"type":"link","label":"\ud83d\udce5 Create Backup","href":"/general/getting-started/Extension/guides/create-backup","docId":"general/getting-started/Extension/guides/create-backup","unlisted":false},{"type":"link","label":"\ud83d\udcb8 Fund Controller","href":"/general/getting-started/Extension/guides/fund-controller","docId":"general/getting-started/Extension/guides/fund-controller","unlisted":false},{"type":"link","label":"\ud83d\udcb0 Get Controller Funds","href":"/general/getting-started/Extension/guides/get-controller-funds","docId":"general/getting-started/Extension/guides/get-controller-funds","unlisted":false},{"type":"link","label":"#\ufe0f\u20e3 Check Extension Version","href":"/general/getting-started/Extension/guides/check-extension-version","docId":"general/getting-started/Extension/guides/check-extension-version","unlisted":false},{"type":"link","label":"\ud83d\udc5b Set Wallet Recovery","href":"/general/getting-started/Extension/guides/set-wallet-recovery","docId":"general/getting-started/Extension/guides/set-wallet-recovery","unlisted":false},{"type":"link","label":"\ud83d\udd10 Recover from Wallet","href":"/general/getting-started/Extension/guides/wallet-recovery","docId":"general/getting-started/Extension/guides/wallet-recovery","unlisted":false}]},{"type":"category","label":"\ud83e\uddf0 Extension Incidents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udd11 Controller Recovery Incident","href":"/general/getting-started/Extension/incidents/controller-recovery","docId":"general/getting-started/Extension/incidents/controller-recovery","unlisted":false}]}]},{"type":"link","label":" \ud83d\udcb8 Where can I buy LYX","href":"/general/getting-started/using-exchanges","docId":"general/getting-started/using-exchanges","unlisted":false},{"type":"link","label":"\ud83e\udd16 Popular Dapps","href":"/general/getting-started/popular-dapps","docId":"general/getting-started/popular-dapps","unlisted":false}],"href":"/general/getting-started/"},{"type":"category","label":"\ud83d\udc5b Supported Wallets","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc5c Software Wallets","href":"/general/supported-wallets/wallet-support","docId":"general/supported-wallets/wallet-support","unlisted":false},{"type":"link","label":"\ud83d\udee1\ufe0f Hardware Wallets","href":"/general/supported-wallets/hardware-wallets","docId":"general/supported-wallets/hardware-wallets","unlisted":false}]},{"type":"category","label":" \ud83e\uddeb L14 and LYXe","collapsible":true,"collapsed":true,"items":[{"type":"category","label":" \u267b\ufe0f Migration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/general/l14-and-lyxe/migration/introduction","docId":"general/l14-and-lyxe/migration/introduction","unlisted":false},{"type":"link","label":"\ud83d\udc5d Supported Wallets","href":"/general/l14-and-lyxe/migration/supported-wallets","docId":"general/l14-and-lyxe/migration/supported-wallets","unlisted":false},{"type":"link","label":"\ud83d\udd04 Transaction Process","href":"/general/l14-and-lyxe/migration/transaction-process","docId":"general/l14-and-lyxe/migration/transaction-process","unlisted":false},{"type":"link","label":"\ud83c\udfe6 Migration on Exchanges","href":"/general/l14-and-lyxe/migration/migration-on-exchanges","docId":"general/l14-and-lyxe/migration/migration-on-exchanges","unlisted":false},{"type":"category","label":"\ud83e\uddf0 Incidents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"February 2024","href":"/general/l14-and-lyxe/migration/incidents/february","docId":"general/l14-and-lyxe/migration/incidents/february","unlisted":false},{"type":"link","label":"January 2024","href":"/general/l14-and-lyxe/migration/incidents/january","docId":"general/l14-and-lyxe/migration/incidents/january","unlisted":false}]}]},{"type":"link","label":"\u26d3\ufe0f L14 Network","href":"/general/l14-and-lyxe/l14-network","docId":"general/l14-and-lyxe/l14-network","unlisted":false}],"href":"/general/l14-and-lyxe/"},{"type":"link","label":"\ud83d\udd12 Security","href":"/general/security","docId":"general/security","unlisted":false},{"type":"link","label":"\u2753 FAQ","href":"/general/faq/","docId":"general/faq/faq","unlisted":false},{"type":"link","label":"\ud83d\udc6f\u200d\u2642\ufe0f Community","href":"/general/community/","docId":"general/community/community","unlisted":false}]},"docs":{"contact-us/contact-us":{"id":"contact-us/contact-us","title":"Contact Us","description":"General Support Page for LUKSO"},"general/community/community":{"id":"general/community/community","title":"Follow Us","description":"Links on where to stay up to date with LUKSO","sidebar":"generalSidebar"},"general/faq/faq":{"id":"general/faq/faq","title":"FAQ","description":"Frequently asked questions","sidebar":"generalSidebar"},"general/getting-started/Extension/common-errors":{"id":"general/getting-started/Extension/common-errors","title":"Common Errors","description":"Common Errors","sidebar":"generalSidebar"},"general/getting-started/Extension/controllers":{"id":"general/getting-started/Extension/controllers","title":"Controllers","description":"LUKSO Support: Universal Profile Controllers","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/check-2fa-recovery":{"id":"general/getting-started/Extension/guides/check-2fa-recovery","title":"Check 2FA Recovery","description":"LUKSO Support: How to check 2FA Recovery","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/check-extension-version":{"id":"general/getting-started/Extension/guides/check-extension-version","title":"Check Extension Version","description":"LUKSO Support: Check Extension Version","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/create-backup":{"id":"general/getting-started/Extension/guides/create-backup","title":"Create Backup","description":"Extension Support: Create Backup","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/fund-controller":{"id":"general/getting-started/Extension/guides/fund-controller","title":"Fund Controller","description":"Extension Support: Fund Controller","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/get-controller-funds":{"id":"general/getting-started/Extension/guides/get-controller-funds","title":"Get Controller Funds","description":"Extension Support: Get Controller Funds","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/set-wallet-recovery":{"id":"general/getting-started/Extension/guides/set-wallet-recovery","title":"Set Wallet Recovery","description":"How to set up wallet recovery on the LUKSO Universal Profile Extension?","sidebar":"generalSidebar"},"general/getting-started/Extension/guides/wallet-recovery":{"id":"general/getting-started/Extension/guides/wallet-recovery","title":"Recover from Wallet","description":"How to recover a Universal Profile using your private key or 3rd-party wallet","sidebar":"generalSidebar"},"general/getting-started/Extension/incidents/controller-recovery":{"id":"general/getting-started/Extension/incidents/controller-recovery","title":"Controller Recovery Incident","description":"LUKSO Support: Controller Recovery Incident Jan 2024","sidebar":"generalSidebar"},"general/getting-started/Extension/introduction":{"id":"general/getting-started/Extension/introduction","title":"Support for LUKSO Extension","description":"Support for LUKSO Extension","sidebar":"generalSidebar"},"general/getting-started/getting-started":{"id":"general/getting-started/getting-started","title":"Getting Started","description":"LUKSO Support: Universal Profile Controllers","sidebar":"generalSidebar"},"general/getting-started/popular-dapps":{"id":"general/getting-started/popular-dapps","title":"Popular Dapps and Projects","description":"Some interesting dapps built on LUKSO","sidebar":"generalSidebar"},"general/getting-started/universal-profiles":{"id":"general/getting-started/universal-profiles","title":"Universal Profiles","description":"Support Page for Universal Profiles","sidebar":"generalSidebar"},"general/getting-started/using-exchanges":{"id":"general/getting-started/using-exchanges","title":"Using Exchanges","description":"Support Page for using exchanges on the LUKSO network","sidebar":"generalSidebar"},"general/introduction":{"id":"general/introduction","title":"General Support and Help","description":"General Support Page for LUKSO","sidebar":"generalSidebar"},"general/l14-and-lyxe/l14-and-lyxe":{"id":"general/l14-and-lyxe/l14-and-lyxe","title":"L14 Testnet and LYXe Migration","description":"About L14 and LYXe","sidebar":"generalSidebar"},"general/l14-and-lyxe/l14-network":{"id":"general/l14-and-lyxe/l14-network","title":"L14 Network","description":"Support Page for L14 Network","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/incidents/february":{"id":"general/l14-and-lyxe/migration/incidents/february","title":"February 2024","description":"LUKSO Support: Migration Delay February 2024","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/incidents/january":{"id":"general/l14-and-lyxe/migration/incidents/january","title":"January 2024","description":"LUKSO Support: Migration Delay January 2024","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/introduction":{"id":"general/l14-and-lyxe/migration/introduction","title":"Support for LYXe Migration","description":"Support for LUKSO LYXe Migration","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/migration-on-exchanges":{"id":"general/l14-and-lyxe/migration/migration-on-exchanges","title":"Migration on Exchanges","description":"LYXe Migration and Exchanges","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/supported-wallets":{"id":"general/l14-and-lyxe/migration/supported-wallets","title":"Supported Wallets","description":"LUKSO Migration: Supported Wallets","sidebar":"generalSidebar"},"general/l14-and-lyxe/migration/transaction-process":{"id":"general/l14-and-lyxe/migration/transaction-process","title":"Migration Process","description":"LUKSO Migration: Transaction Process","sidebar":"generalSidebar"},"general/security":{"id":"general/security","title":"Security","description":"Support for Universal Profile Security","sidebar":"generalSidebar"},"general/supported-wallets/hardware-wallets":{"id":"general/supported-wallets/hardware-wallets","title":"Hardware Wallets","description":"LUKSO Hardware Wallet Support","sidebar":"generalSidebar"},"general/supported-wallets/wallet-support":{"id":"general/supported-wallets/wallet-support","title":"Software Wallets","description":"Wallet\'s that LUKSO is available on","sidebar":"generalSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/6629c45f.3b517d45.js b/assets/js/6629c45f.3b517d45.js new file mode 100644 index 00000000..0ffae588 --- /dev/null +++ b/assets/js/6629c45f.3b517d45.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[820],{72:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"generalSidebar":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/general/introduction","docId":"general/introduction","unlisted":false},{"type":"category","label":" \ud83d\udc68\u200d\ud83d\ude80 Getting Started","collapsible":true,"collapsed":false,"items":[{"type":"link","label":" \ud83d\udcb8 Where can I buy LYX","href":"/general/getting-started/using-exchanges","docId":"general/getting-started/using-exchanges","unlisted":false},{"type":"link","label":"\ud83e\udd16 Popular Dapps","href":"/general/getting-started/popular-dapps","docId":"general/getting-started/popular-dapps","unlisted":false}]},{"type":"category","label":"\ud83d\udc5b Supported Wallets","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc5c Software Wallets","href":"/general/supported-wallets/wallet-support","docId":"general/supported-wallets/wallet-support","unlisted":false},{"type":"link","label":"\ud83d\udee1\ufe0f Hardware Wallets","href":"/general/supported-wallets/hardware-wallets","docId":"general/supported-wallets/hardware-wallets","unlisted":false}]},{"type":"link","label":"\ud83d\udd12 Security","href":"/general/security","docId":"general/security","unlisted":false},{"type":"link","label":"\u2753 FAQ","href":"/general/faq/","docId":"general/faq/faq","unlisted":false},{"type":"link","label":"\u26d3\ufe0f L14 Network","href":"/general/l14-network","docId":"general/l14-network","unlisted":false},{"type":"link","label":"\ud83d\udc6f\u200d\u2642\ufe0f Community","href":"/general/community/","docId":"general/community/community","unlisted":false}],"ExtensionSidebar":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/Extension/introduction","docId":"Extension/introduction","unlisted":false},{"type":"link","label":"\ud83d\udd10 Controllers","href":"/Extension/controllers","docId":"Extension/controllers","unlisted":false},{"type":"link","label":"\u2699\ufe0f Common Errors","href":"/Extension/common-errors","docId":"Extension/common-errors","unlisted":false},{"type":"category","label":"\ud83d\udcd4 Guides","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udedf Check 2FA Recovery","href":"/Extension/guides/check-2fa-recovery","docId":"Extension/guides/check-2fa-recovery","unlisted":false},{"type":"link","label":"\ud83d\udce5 Create Backup","href":"/Extension/guides/create-backup","docId":"Extension/guides/create-backup","unlisted":false},{"type":"link","label":"\ud83d\udcb8 Fund Controller","href":"/Extension/guides/fund-controller","docId":"Extension/guides/fund-controller","unlisted":false},{"type":"link","label":"\ud83d\udcb0 Get Controller Funds","href":"/Extension/guides/get-controller-funds","docId":"Extension/guides/get-controller-funds","unlisted":false},{"type":"link","label":"#\ufe0f\u20e3 Check Extension Version","href":"/Extension/guides/check-extension-version","docId":"Extension/guides/check-extension-version","unlisted":false}]},{"type":"category","label":"\ud83e\uddf0 Extension Incidents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udd11 Controller Recovery Incident","href":"/Extension/incidents/controller-recovery","docId":"Extension/incidents/controller-recovery","unlisted":false}]}],"migrationSidebar":[{"type":"link","label":"\ud83d\udc49\ud83c\udffb Introduction","href":"/migration/introduction","docId":"migration/introduction","unlisted":false},{"type":"link","label":"\ud83d\udc5d Supported Wallets","href":"/migration/supported-wallets","docId":"migration/supported-wallets","unlisted":false},{"type":"link","label":"\ud83d\udd04 Transaction Process","href":"/migration/transaction-process","docId":"migration/transaction-process","unlisted":false},{"type":"link","label":"\ud83c\udfe6 Migration on Exchanges","href":"/migration/migration-on-exchanges","docId":"migration/migration-on-exchanges","unlisted":false},{"type":"category","label":"\ud83e\uddf0 Incidents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"February 2024","href":"/migration/incidents/february","docId":"migration/incidents/february","unlisted":false},{"type":"link","label":"January 2024","href":"/migration/incidents/january","docId":"migration/incidents/january","unlisted":false}]}],"universalprofilecloudSidebar":[{"type":"link","label":"\ud83c\udd99 universalprofile.cloud","href":"/universalprofilecloud/universal-profiles","docId":"universalprofilecloud/universal-profiles","unlisted":false},{"type":"category","label":"\ud83d\udd04 Recovery","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\ud83d\udc5b Set Wallet Recovery","href":"/universalprofilecloud/Recovery/set-wallet-recovery","docId":"universalprofilecloud/Recovery/set-wallet-recovery","unlisted":false},{"type":"link","label":"\ud83d\udd10 Recover from Wallet","href":"/universalprofilecloud/Recovery/wallet-recovery","docId":"universalprofilecloud/Recovery/wallet-recovery","unlisted":false}]}]},"docs":{"contact-us/contact-us":{"id":"contact-us/contact-us","title":"Contact Us","description":"General Support Page for LUKSO"},"Extension/common-errors":{"id":"Extension/common-errors","title":"Common Errors","description":"Common Errors","sidebar":"ExtensionSidebar"},"Extension/controllers":{"id":"Extension/controllers","title":"Controllers","description":"LUKSO Support: Universal Profile Controllers","sidebar":"ExtensionSidebar"},"Extension/guides/check-2fa-recovery":{"id":"Extension/guides/check-2fa-recovery","title":"Check 2FA Recovery","description":"LUKSO Support: How to check 2FA Recovery","sidebar":"ExtensionSidebar"},"Extension/guides/check-extension-version":{"id":"Extension/guides/check-extension-version","title":"Check Extension Version","description":"LUKSO Support: Check Extension Version","sidebar":"ExtensionSidebar"},"Extension/guides/create-backup":{"id":"Extension/guides/create-backup","title":"Create Backup","description":"Extension Support: Create Backup","sidebar":"ExtensionSidebar"},"Extension/guides/fund-controller":{"id":"Extension/guides/fund-controller","title":"Fund Controller","description":"Extension Support: Fund Controller","sidebar":"ExtensionSidebar"},"Extension/guides/get-controller-funds":{"id":"Extension/guides/get-controller-funds","title":"Get Controller Funds","description":"Extension Support: Get Controller Funds","sidebar":"ExtensionSidebar"},"Extension/incidents/controller-recovery":{"id":"Extension/incidents/controller-recovery","title":"Controller Recovery Incident","description":"LUKSO Support: Controller Recovery Incident Jan 2024","sidebar":"ExtensionSidebar"},"Extension/introduction":{"id":"Extension/introduction","title":"Support for Universal Profiles browser extension","description":"Support for Universal Profiles browser extension","sidebar":"ExtensionSidebar"},"general/community/community":{"id":"general/community/community","title":"Follow Us","description":"Links on where to stay up to date with LUKSO","sidebar":"generalSidebar"},"general/faq/faq":{"id":"general/faq/faq","title":"FAQ","description":"Frequently asked questions","sidebar":"generalSidebar"},"general/getting-started/popular-dapps":{"id":"general/getting-started/popular-dapps","title":"Popular Dapps and Projects","description":"Some interesting dapps built on LUKSO","sidebar":"generalSidebar"},"general/getting-started/using-exchanges":{"id":"general/getting-started/using-exchanges","title":"Using Exchanges","description":"Support Page for using exchanges on the LUKSO network","sidebar":"generalSidebar"},"general/introduction":{"id":"general/introduction","title":"General Support and Help","description":"General Support Page for LUKSO","sidebar":"generalSidebar"},"general/l14-network":{"id":"general/l14-network","title":"L14 Network","description":"Support Page for L14 Network","sidebar":"generalSidebar"},"general/security":{"id":"general/security","title":"Security","description":"Support for Universal Profile Security","sidebar":"generalSidebar"},"general/supported-wallets/hardware-wallets":{"id":"general/supported-wallets/hardware-wallets","title":"Hardware Wallets","description":"LUKSO Hardware Wallet Support","sidebar":"generalSidebar"},"general/supported-wallets/wallet-support":{"id":"general/supported-wallets/wallet-support","title":"Software Wallets","description":"Wallet\'s that LUKSO is available on","sidebar":"generalSidebar"},"migration/incidents/february":{"id":"migration/incidents/february","title":"February 2024","description":"LUKSO Support: Migration Delay February 2024","sidebar":"migrationSidebar"},"migration/incidents/january":{"id":"migration/incidents/january","title":"January 2024","description":"LUKSO Support: Migration Delay January 2024","sidebar":"migrationSidebar"},"migration/introduction":{"id":"migration/introduction","title":"Support for LYXe Migration","description":"Support for LUKSO LYXe Migration","sidebar":"migrationSidebar"},"migration/migration-on-exchanges":{"id":"migration/migration-on-exchanges","title":"Migration on Exchanges","description":"LYXe Migration and Exchanges","sidebar":"migrationSidebar"},"migration/supported-wallets":{"id":"migration/supported-wallets","title":"Supported Wallets","description":"LUKSO Migration: Supported Wallets","sidebar":"migrationSidebar"},"migration/transaction-process":{"id":"migration/transaction-process","title":"Migration Process","description":"LUKSO Migration: Transaction Process","sidebar":"migrationSidebar"},"universalprofilecloud/Recovery/set-wallet-recovery":{"id":"universalprofilecloud/Recovery/set-wallet-recovery","title":"Set Wallet Recovery","description":"How to set up wallet recovery on the LUKSO Universal Profile Extension?","sidebar":"universalprofilecloudSidebar"},"universalprofilecloud/Recovery/wallet-recovery":{"id":"universalprofilecloud/Recovery/wallet-recovery","title":"Recover from Wallet","description":"How to recover a Universal Profile using your private key or 3rd-party wallet","sidebar":"universalprofilecloudSidebar"},"universalprofilecloud/universal-profiles":{"id":"universalprofilecloud/universal-profiles","title":"Universal Profiles","description":"Support Page for Universal Profiles","sidebar":"universalprofilecloudSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/6e47815e.48b06b45.js b/assets/js/6e47815e.48b06b45.js deleted file mode 100644 index 2e22bc6a..00000000 --- a/assets/js/6e47815e.48b06b45.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[448],{4838:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=t(4848),o=t(8453);const s={sidebar_label:"\ud83d\udcb8 Fund Controller",sidebar_position:3,description:"Extension Support: Fund Controller"},i="Fund Controller",l={id:"general/getting-started/Extension/guides/fund-controller",title:"Fund Controller",description:"Extension Support: Fund Controller",source:"@site/docs/general/getting-started/Extension/guides/fund-controller.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/fund-controller",permalink:"/general/getting-started/Extension/guides/fund-controller",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/fund-controller.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udcb8 Fund Controller",sidebar_position:3,description:"Extension Support: Fund Controller"},sidebar:"generalSidebar",previous:{title:"\ud83d\udce5 Create Backup",permalink:"/general/getting-started/Extension/guides/create-backup"},next:{title:"\ud83d\udcb0 Get Controller Funds",permalink:"/general/getting-started/Extension/guides/get-controller-funds"}},a={},d=[];function c(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"fund-controller",children:"Fund Controller"}),"\n",(0,r.jsx)(n.p,{children:"To use your funds to send transactions from your Universal Profile, you must send LYX or LYXt to the extension's controller. Sending it to the controller will ensure the transaction's gas costs are funded."}),"\n",(0,r.jsx)(n.p,{children:"You can find the address of the extension's controller within the permission section:"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/extension/controller-window.png",alt:"Controller Window",width:"400"})}),"\n",(0,r.jsxs)(n.admonition,{title:"Controller Names",type:"info",children:[(0,r.jsxs)(n.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,r.jsx)(n.strong,{children:"UP Extension"})," or have the ",(0,r.jsx)(n.strong,{children:"name of it's blockchain address"}),". The controller can be ",(0,r.jsx)(n.em,{children:"renamed locally"})," in your extension at any time."]}),(0,r.jsx)("img",{src:"/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,r.jsx)(n.p,{children:"If you click on the controller, it will show the name, permissions, and blockchain address. Copy the blockchain address from the top of the screen, as shown in the following picture:"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/extension/controller-address.png",alt:"Controller Address",width:"400"})}),"\n",(0,r.jsxs)(n.p,{children:["If you are using a regular wallet, ",(0,r.jsx)(n.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"add LUKSO"})," as custom network and send LYX to the address of your controller. In case you use the Universal Profile Browser Extension, visit your Universal Profile page on ",(0,r.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/",children:"wallet.universalprofile.cloud"}),". On your profile page, click the send button of the LYX token and enter the address of your controller as recipient:"]}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/general/asset-transfer.png",alt:"Asset Transfer",width:"800"})}),"\n",(0,r.jsx)(n.admonition,{title:"Importance of Backups",type:"danger",children:(0,r.jsxs)(n.p,{children:["We highly recommend to only send small amounts of LYX to the controller of your extension and ensure to ",(0,r.jsx)(n.strong,{children:"save their private keys"}),". You can display and copy them by ",(0,r.jsx)(n.em,{children:"revealing the private key"})," within the ",(0,r.jsx)(n.em,{children:"Settings"})," screen. This backup is essential as every extension has an individual controller. If you import or recover the profile without saving the previous private key, you cannot ",(0,r.jsx)(n.a,{href:"/general/getting-started/Extension/guides/get-controller-funds",children:"get back your controller funds"})," after."]})}),"\n",(0,r.jsx)(n.p,{children:"Once the extension's controller is funded with LYX, you can select it within the transaction screen of the Universal Profile Extension:"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/extension/transaction-controller-setting.png",alt:"Transaction Controller Setting",width:"400"})}),"\n",(0,r.jsx)(n.admonition,{title:"Default Payment",type:"success",children:(0,r.jsx)(n.p,{children:"Once your funded controller is selected in the extension, it will stay as default payment option for transactions until its changed back to the Transaction Relay Service."})})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var r=t(6540);const o={},s=r.createContext(o);function i(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/71ce7cd1.85de799b.js b/assets/js/71ce7cd1.85de799b.js new file mode 100644 index 00000000..97162069 --- /dev/null +++ b/assets/js/71ce7cd1.85de799b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[816],{1832:(e,r,o)=>{o.r(r),o.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var n=o(4848),t=o(8453);const i={sidebar_label:"\ud83d\udedf Check 2FA Recovery",sidebar_position:1,description:"LUKSO Support: How to check 2FA Recovery"},s="Check 2FA Recovery",c={id:"Extension/guides/check-2fa-recovery",title:"Check 2FA Recovery",description:"LUKSO Support: How to check 2FA Recovery",source:"@site/docs/Extension/guides/check-2fa-recovery.md",sourceDirName:"Extension/guides",slug:"/Extension/guides/check-2fa-recovery",permalink:"/Extension/guides/check-2fa-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/guides/check-2fa-recovery.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udedf Check 2FA Recovery",sidebar_position:1,description:"LUKSO Support: How to check 2FA Recovery"},sidebar:"ExtensionSidebar",previous:{title:"\u2699\ufe0f Common Errors",permalink:"/Extension/common-errors"},next:{title:"\ud83d\udce5 Create Backup",permalink:"/Extension/guides/create-backup"}},l={},a=[{value:"Verify the recovery controller on the dashboard",id:"verify-the-recovery-controller-on-the-dashboard",level:2}];function h(e){const r={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{id:"check-2fa-recovery",children:"Check 2FA Recovery"}),"\n",(0,n.jsx)(r.p,{children:"If you ever want to recover your profile, a new controller will be added to this Universal Profile from a new extension setup. You must verify multiple steps to check if this new controller can be added to your Universal Profile by the recovery service:"}),"\n",(0,n.jsx)(r.h1,{id:"verify-the-recovery-controller-in-your-extension",children:"Verify the recovery controller in your extension"}),"\n",(0,n.jsx)(r.p,{children:"If you visit the controller menu in the Universal Profile Browser Extension, there need to be at least three controllers:"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:"The Universal Profile Browser Extension (used for profile interactions)"}),"\n",(0,n.jsx)(r.li,{children:"The Universal Receiver (used to write asset updates on the profile)"}),"\n",(0,n.jsx)(r.li,{children:"The Universal Profile Recovery (used as a backup for the profile)"}),"\n"]}),"\n",(0,n.jsxs)(r.p,{children:["To confirm that the permissions of the recovery controller were ",(0,n.jsx)(r.a,{href:"/Extension/controllers#what-are-the-default-permissions-of-the-controllers",children:"adequately set up"}),", click on the controller of the Universal Profile Recovery and verify that the ",(0,n.jsx)(r.strong,{children:"Add Controller"})," permission is enabled."]}),"\n",(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("img",{src:"/img/extension/2fa-controller.png",alt:"2FA Controller",width:"800"})}),"\n",(0,n.jsxs)(r.admonition,{title:"Controller Names",type:"info",children:[(0,n.jsxs)(r.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,n.jsx)(r.strong,{children:"UP Extension"})," or have the ",(0,n.jsx)(r.strong,{children:"name of it's blockchain address"}),". The recovery controller can either be named ",(0,n.jsx)(r.strong,{children:"UP Recovery"}),", ",(0,n.jsx)(r.strong,{children:"Create and manage your UP"}),", or ",(0,n.jsx)(r.strong,{children:"recovery-up"}),". Every controller can be ",(0,n.jsx)(r.em,{children:"renamed locally"})," in your extension at any time."]}),(0,n.jsx)("img",{src:"/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,n.jsx)(r.h2,{id:"verify-the-recovery-controller-on-the-dashboard",children:"Verify the recovery controller on the dashboard"}),"\n",(0,n.jsxs)(r.p,{children:["Next, please check if the recovery was successfully added via the LUKSO Relay Service by logging into the dashboard of ",(0,n.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". If 2FA was successfully added, the profile card will show a green checkmark at the top right corner:"]}),"\n",(0,n.jsx)(r.p,{children:(0,n.jsx)(r.img,{alt:"2FA Recovery Dashboard",src:o(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,n.jsx)(r.admonition,{type:"caution",children:(0,n.jsxs)(r.p,{children:["If your Universal Profile Recovery controller is not showing up on ",(0,n.jsx)(r.a,{href:"https://universalprofile.cloud/?network=mainnet",children:"UniversalProfile.cloud"}),", please check if you selected the correct network in the bottom left corner of the page."]})}),"\n",(0,n.jsx)(r.h1,{id:"verify-the-authentication-code-and-email",children:"Verify the authentication code and email"}),"\n",(0,n.jsxs)(r.p,{children:["During the 2FA setup, you will be asked to provide an ",(0,n.jsx)(r.strong,{children:"email or web account"})," associated with the recovery process. Verify if you ",(0,n.jsx)(r.strong,{children:"received the recovery email"})," and ",(0,n.jsx)(r.strong,{children:"set up an authenticator code"})," using one of the supported apps. Additionally, ensure that the 2FA code for the Universal Profile Recovery ",(0,n.jsx)(r.strong,{children:"can be accessed"})," on your authenticator app of choice."]}),"\n",(0,n.jsx)(r.admonition,{type:"danger",children:(0,n.jsxs)(r.p,{children:["If you've set up 2FA but one of the verification steps cannot be fulfilled, please reach out within the ",(0,n.jsx)(r.strong,{children:"SUPPORT & BUGS"})," category on our Discord server or contact our support at ",(0,n.jsx)(r.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})})]})}function d(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},2724:(e,r,o)=>{o.d(r,{A:()=>n});const n=o.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},8453:(e,r,o)=>{o.d(r,{R:()=>s,x:()=>c});var n=o(6540);const t={},i=n.createContext(t);function s(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7614e26b.fe56bd04.js b/assets/js/7614e26b.fe56bd04.js new file mode 100644 index 00000000..fef20b2c --- /dev/null +++ b/assets/js/7614e26b.fe56bd04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[618],{3981:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=n(4848),t=n(8453);const i={sidebar_label:"\ud83d\udce5 Create Backup",sidebar_position:2,description:"Extension Support: Create Backup"},s="Create Backup",a={id:"Extension/guides/create-backup",title:"Create Backup",description:"Extension Support: Create Backup",source:"@site/docs/Extension/guides/create-backup.md",sourceDirName:"Extension/guides",slug:"/Extension/guides/create-backup",permalink:"/Extension/guides/create-backup",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/guides/create-backup.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udce5 Create Backup",sidebar_position:2,description:"Extension Support: Create Backup"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udedf Check 2FA Recovery",permalink:"/Extension/guides/check-2fa-recovery"},next:{title:"\ud83d\udcb8 Fund Controller",permalink:"/Extension/guides/fund-controller"}},l={},c=[{value:"2FA Recovery Walkthrough",id:"2fa-recovery-walkthrough",level:2},{value:"Frequently Asked Questions",id:"frequently-asked-questions",level:2},{value:"Are 2FA backups secured in a decentralized manner?",id:"are-2fa-backups-secured-in-a-decentralized-manner",level:3},{value:"Is there a fully decentralized backup method?",id:"is-there-a-fully-decentralized-backup-method",level:3}];function d(e){const r={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"create-backup",children:"Create Backup"}),"\n",(0,o.jsx)(r.p,{children:"If you lost access to the Universal Profile Browser Extension, there are multiple ways to secure your Universal Profile :"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"2FA Recovery"}),": You can set up 2FA for the Universal Profile on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". 2FA is the recommended way of backing up a Universal Profile and will add a new recovery controller to the profile, secured on LUKSO's end. The recovery controller has permissions to add additional controllers if access to an old extension is lost. For security reasons, users must provide an authentication code from a mobile device and approve via email before a new controller can be added using LUKSO's recovery service."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"3rd Party Wallet Recovery"}),": You can give recovery rights to an other blockchain account or controller on ",(0,o.jsx)(r.a,{href:"https://mw.universalprofile.cloud/",children:"my.universalProfile.cloud"}),". This blockchain account then gains permissions to add additional controllers if access to an old extension is lost. Wallet recovery can also be used if you want to regain access to your Universal Profile using the revealed private key of the profile's extension controller."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"QR Import"}),": You can import any Universal Profile address into your extension. The import process will create a new local controller. Before it can can be used, the new controller needs to added to the Universal Profile by one of your existing controllers with sufficient permissions. Within the new extension, you will receive a QR code of a transaction that can be scanned or copied. When this QR code is received and the related transaction executed by an existing extension, this new controller will gain permissions on the Universal Profile."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"File Export"}),": You can export the private keys from the settings. Make sure to export the text into a file and store it safe. Those private keys will allow anyone to regain access to the profiles based on the controller's permissions."]}),"\n"]}),"\n",(0,o.jsx)(r.admonition,{title:"Individual 2FA Controllers",type:"info",children:(0,o.jsxs)(r.p,{children:["Please note that each Universal Profile has to add a ",(0,o.jsx)(r.strong,{children:"separate"})," ",(0,o.jsx)(r.a,{href:"/Extension/controllers",children:"UP Recovery controller"})," to ",(0,o.jsx)(r.a,{href:"/Extension/guides/check-2fa-recovery",children:"complete the 2FA recovery setup"}),". If you created multiple Universal Profiles through ",(0,o.jsx)(r.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"}),", please ensure that you ",(0,o.jsx)(r.strong,{children:"add the 2FA Recovery"})," during ",(0,o.jsx)(r.strong,{children:"every single"})," deployment process. The connected account and authentication code will stay the same across all profiles of one network and is used to authenticate on the LUKSO Transaction Relay Service."]})}),"\n",(0,o.jsx)(r.admonition,{type:"tip",children:(0,o.jsxs)(r.p,{children:["To reduce risk of losing access, it is ",(0,o.jsx)(r.strong,{children:"recommended"})," to set up ",(0,o.jsx)(r.strong,{children:(0,o.jsx)(r.a,{href:"/Extension/controllers#how-can-i-add-2fa-recovery-to-an-existing-universal-profile",children:"2FA"})})," or ",(0,o.jsx)(r.strong,{children:(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/set-wallet-recovery",children:"Wallet Recovery"})}),"."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Paused Import Functionality",type:"danger",children:(0,o.jsxs)(r.p,{children:[(0,o.jsx)(r.strong,{children:"QR Import"})," is currently disabled due to the recent ",(0,o.jsx)(r.a,{href:"/Extension/incidents/controller-recovery",children:"Controller Recovery Incident"})]})}),"\n",(0,o.jsx)(r.admonition,{title:"Securing Controllers",type:"danger",children:(0,o.jsxs)(r.p,{children:["Due to the nature of ",(0,o.jsx)(r.a,{href:"/Extension/controllers#what-happens-during-imports-and-recovery",children:"backups and recovery"}),", the ",(0,o.jsx)(r.strong,{children:"controllers of an extension will not be included within 2FA recovery"}),". If you ",(0,o.jsx)(r.a,{href:"/Extension/guides/fund-controller",children:"fund the extension's controllers"})," to pay for your transactions, please ",(0,o.jsx)(r.strong,{children:"always backup the their related private key"})," in the settings screen. Otherwise, you won't be able to ",(0,o.jsx)(r.a,{href:"/Extension/guides/get-controller-funds",children:"get your controller funds back"}),"."]})}),"\n",(0,o.jsx)(r.h2,{id:"2fa-recovery-walkthrough",children:"2FA Recovery Walkthrough"}),"\n",(0,o.jsx)("div",{class:"video-container",children:(0,o.jsx)("iframe",{src:"https://www.youtube.com/embed/rbIqA7N6Fn4?si=2mfC8_0AG6JD-7e3",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,o.jsx)(r.h2,{id:"frequently-asked-questions",children:"Frequently Asked Questions"}),"\n",(0,o.jsx)(r.h3,{id:"are-2fa-backups-secured-in-a-decentralized-manner",children:"Are 2FA backups secured in a decentralized manner?"}),"\n",(0,o.jsxs)(r.p,{children:["The 2FA recovery system for Universal Profiles on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," is operated from LUKSO. It is not decentralized but is a mix of Web2 and Web3 security measures. Initially, a recovery controller is added to the smart contract of the Universal Profile, only ",(0,o.jsx)(r.a,{href:"/Extension/controllers",children:"having minimal permissions"})," to add a new controller address. This controller key is stored and secured by LUKSO. The UP Recovery service can only add new controllers to a Universal Profile if the user gives permissions using his authenticator code and email login. When the UP Recovery process is initiated, a new controller key is generated in the user's local browser extension. After receiving the approval from the linked 2FA, the UP Recovery service builds a transaction, adding the previously generated controller to the Universal Profile. This transaction is then executed from the recovery controller and sent to the LUKSO Transaction Relay Service, which automatically executes the transaction on behalf of the user."]}),"\n",(0,o.jsx)(r.h3,{id:"is-there-a-fully-decentralized-backup-method",children:"Is there a fully decentralized backup method?"}),"\n",(0,o.jsxs)(r.p,{children:["If you do not trust 2FA and want an personal backup solution, you can restore your Universal Profile by ",(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/wallet-recovery",children:"recovering from a private key"})," add by adding additional recovery controllers using the ",(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/set-wallet-recovery",children:"Wallet Recovery Setup"}),"."]})]})}function u(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>s,x:()=>a});var o=n(6540);const t={},i=o.createContext(t);function s(e){const r=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),o.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ed2d6d9.ea233e61.js b/assets/js/7ed2d6d9.ea233e61.js deleted file mode 100644 index fd502f5d..00000000 --- a/assets/js/7ed2d6d9.ea233e61.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[370],{8429:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(4848),t=n(8453);const s={sidebar_label:"\ud83d\udd10 Controllers",sidebar_position:2,description:"LUKSO Support: Universal Profile Controllers"},i="Controllers",l={id:"general/getting-started/Extension/controllers",title:"Controllers",description:"LUKSO Support: Universal Profile Controllers",source:"@site/docs/general/getting-started/Extension/controllers.md",sourceDirName:"general/getting-started/Extension",slug:"/general/getting-started/Extension/controllers",permalink:"/general/getting-started/Extension/controllers",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/controllers.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udd10 Controllers",sidebar_position:2,description:"LUKSO Support: Universal Profile Controllers"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/getting-started/Extension/introduction"},next:{title:"\u2699\ufe0f Common Errors",permalink:"/general/getting-started/Extension/common-errors"}},a={},c=[{value:"What are the controllers of the Universal Profile?",id:"what-are-the-controllers-of-the-universal-profile",level:2},{value:"What happens during imports and recovery?",id:"what-happens-during-imports-and-recovery",level:2},{value:"How can I add 2FA recovery to an existing Universal Profile?",id:"how-can-i-add-2fa-recovery-to-an-existing-universal-profile",level:2},{value:"Can I use a regular wallet to control my Universal Profile?",id:"can-i-use-a-regular-wallet-to-control-my-universal-profile",level:2},{value:"Can I use an existing EOA to control my Universal Profile?",id:"can-i-use-an-existing-eoa-to-control-my-universal-profile",level:2},{value:"What are the default permissions of the controllers?",id:"what-are-the-default-permissions-of-the-controllers",level:2},{value:"Can I add a Ledger account as a controller of my profile?",id:"can-i-add-a-ledger-account-as-a-controller-of-my-profile",level:2},{value:"How can I remove controllers and permissions?",id:"how-can-i-remove-controllers-and-permissions",level:2}];function d(e){const r={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components},{Details:s}=r;return s||function(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"controllers",children:"Controllers"}),"\n",(0,o.jsx)(r.h2,{id:"what-are-the-controllers-of-the-universal-profile",children:"What are the controllers of the Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["Each Universal Profile within an extension holds a separate private key to send transactions on behalf of the user, e.g., controlling it. Such controllers can be exported, added, or removed. The controllers can be found within the ",(0,o.jsx)(r.strong,{children:"Controllers"})," window of the extension:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"../../../../static/img/extension/controller-window.png",alt:"Controller Window",width:"400"})}),"\n",(0,o.jsx)(r.p,{children:"After the initial creation, there can be up to 3 controllers:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"The Universal Profile Browser Extension (used for profile interactions)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Receiver (used to write asset updates on the profile)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Profile Recovery (used as a backup for the profile)"}),"\n"]}),"\n",(0,o.jsxs)(r.admonition,{title:"Controller Names",type:"info",children:[(0,o.jsxs)(r.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,o.jsx)(r.strong,{children:"UP Extension"})," or have the ",(0,o.jsx)(r.strong,{children:"name of it's blockchain address"}),". The recovery controller can either be named ",(0,o.jsx)(r.strong,{children:"UP Recovery"}),", ",(0,o.jsx)(r.strong,{children:"Create and manage your UP"}),", or ",(0,o.jsx)(r.strong,{children:"recovery-up"}),". Every controller can be ",(0,o.jsx)(r.em,{children:"renamed locally"})," in your extension at any time."]}),(0,o.jsx)("img",{src:"../../../../static/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,o.jsx)(r.h2,{id:"what-happens-during-imports-and-recovery",children:"What happens during imports and recovery?"}),"\n",(0,o.jsxs)(r.p,{children:["If you ",(0,o.jsx)(r.strong,{children:"import or recover"})," your Universal Profile, it will result in the addition of another ",(0,o.jsx)(r.strong,{children:"UP Extension"})," controller. Each extension controller has ",(0,o.jsx)(r.strong,{children:"individual permissions"}),". Adding a new controller is done automatically using a transaction, either coming from the 2FA recovery service or sending a transaction from a previously added controller with sufficient permissions. If you never set up 2FA, please ensure that you reveal the private key of an original extension within the ",(0,o.jsx)(r.em,{children:"Settings"})," screen. This backup file will guarantee access to the profile later on."]}),"\n",(0,o.jsxs)(r.admonition,{type:"danger",children:[(0,o.jsxs)(r.p,{children:["Please do not ",(0,o.jsx)(r.strong,{children:"reinstall or reset"})," your extension if you do not have either of the following safeguards:"]}),(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/general/getting-started/Extension/guides/check-2fa-recovery",children:"2FA Recovery set up correctly"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/general/getting-started/Extension/guides/set-wallet-recovery",children:"Wallet Recovery"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/general/getting-started/Extension/guides/create-backup",children:"Revealed the private key using File Export"})}),"\n",(0,o.jsx)(r.li,{children:"Access to the profile within another extension"}),"\n"]}),(0,o.jsxs)(r.p,{children:["Otherwise, ",(0,o.jsx)(r.strong,{children:"you will not be able to access your profile, including LYX and assets"}),", as no new controller can be added without a transaction from one of the existing ones. Not having access to a working controller will cause endless import screens, waiting for a recovery transaction that can never be signed."]})]}),"\n",(0,o.jsx)(r.h2,{id:"how-can-i-add-2fa-recovery-to-an-existing-universal-profile",children:"How can I add 2FA recovery to an existing Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["To check the 2FA recovery status and add 2FA, please visit the dashboard on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". The Universal Profile card will show the current ",(0,o.jsx)(r.strong,{children:"2FA recovery status"})," at the top right corner. If 2FA has not been added yet, continue by clicking the ",(0,o.jsx)(r.strong,{children:"Add Recovery"})," button."]}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"2FA Recovery Dashboard",src:n(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,o.jsxs)(r.admonition,{type:"warning",children:[(0,o.jsx)(r.p,{children:"Each extension has its own controller, and each controller has its own private key. Any controller is sufficient for recovering your Universal Profile as long as it has the right permissions."}),(0,o.jsxs)(r.p,{children:["After the recovery process, you will see in the extension the private key corresponsing to the ",(0,o.jsx)(r.strong,{children:"current"})," controller. The initial controller which was in your first browser extension is not carried over during the recovery process. Therefore, ",(0,o.jsx)(r.strong,{children:"before performing recovery please make sure to back up your private key, otherwise any funds associated with the initial controller will be lost"}),"."]})]}),"\n",(0,o.jsx)(r.admonition,{type:"info",children:(0,o.jsxs)(r.p,{children:["The 2FA recovery feature is only available for Universal Profiles directly created on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"universalprofile.cloud"})," and that can still be accessed within a Universal Profile Browser Extension. If you lost access before adding 2FA recovery, you can only recover the Universal Profile by using ",(0,o.jsx)(r.strong,{children:"File Backup"}),"."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Dashboard Refresh",type:"note",children:(0,o.jsxs)(r.p,{children:["If the dashboard is not showing the ",(0,o.jsx)(r.em,{children:"recovery indicators"})," or ",(0,o.jsx)(r.em,{children:"Add Recovery"})," button, please ",(0,o.jsx)(r.strong,{children:"refresh or disconnect"})," and log-in again using your Universal Profile Browser Extension."]})}),"\n",(0,o.jsx)(r.h2,{id:"can-i-use-a-regular-wallet-to-control-my-universal-profile",children:"Can I use a regular wallet to control my Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["As a developer, you can connect a regular wallet to the network where the Universal Profile was deployed and ",(0,o.jsx)(r.strong,{children:"manually add its EOA"})," as a controller. You will then have to send all transactions through the ",(0,o.jsx)(r.a,{href:"https://docs.lukso.tech/standards/universal-profile/lsp6-key-manager../../standards/universal-profile/lsp6-key-manager",children:"Key Manager"})," of the Universal Profile to execute them as your persona. However, we recommend directly using the ",(0,o.jsx)(r.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profile Extension"})," to interact with dApps on LUKSO."]}),"\n",(0,o.jsx)(r.h2,{id:"can-i-use-an-existing-eoa-to-control-my-universal-profile",children:"Can I use an existing EOA to control my Universal Profile?"}),"\n",(0,o.jsx)(r.p,{children:"You can add any new or existing Externally Owned Account as a controller to your deployed Universal Profile of a specific chain. This also includes already existing keys from wallets. However, please remember that your previous assets and token remain on the EOA address."}),"\n",(0,o.jsx)(r.h2,{id:"what-are-the-default-permissions-of-the-controllers",children:"What are the default permissions of the controllers?"}),"\n",(0,o.jsx)(r.p,{children:"If you want to reset the controller permissions to their initial state, you can set the permissions to the default values described in the following pictures:"}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Profile Extension"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Profile Extension",src:n(1262).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Receiver"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Receiver",src:n(7642).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Profile Recovery"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Profile Recovery",src:n(7376).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsx)(r.h2,{id:"can-i-add-a-ledger-account-as-a-controller-of-my-profile",children:"Can I add a Ledger account as a controller of my profile?"}),"\n",(0,o.jsxs)(r.p,{children:["Yes, you can add blockchain accounts or hardware wallets (like Ledger or Trezor) for recovery using the ",(0,o.jsx)(r.a,{href:"/general/getting-started/Extension/guides/set-wallet-recovery",children:"Wallet Recovery Setup"}),"."]}),"\n",(0,o.jsx)(r.h2,{id:"how-can-i-remove-controllers-and-permissions",children:"How can I remove controllers and permissions?"}),"\n",(0,o.jsxs)(r.p,{children:["To remove permissions, use the extension to view all controllers with permissions on the profile. You can toggle off permissions individually. Controllers can not be removed completely via the extension. Controllers without permissions will continue to show but with a ",(0,o.jsx)(r.code,{children:"No control"})," label."]}),"\n",(0,o.jsx)(r.admonition,{title:"Upcoming Feature",type:"success",children:(0,o.jsxs)(r.p,{children:["The team is currently working on a feature request to ",(0,o.jsx)(r.em,{children:"completely remove old controllers"}),", not only their individual permissions."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Changing Permissions",type:"caution",children:(0,o.jsxs)(r.p,{children:["Be cautious when modifying permissions, as this might restrict access for recovery methods or extensions. For reference, you can look at the ",(0,o.jsx)(r.a,{href:"#what-are-the-default-permissions-of-the-controllers",children:"default permissions"})," of all the different controllers."]})})]})}function h(e={}){const{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},7642:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-universal-receiver-a17919d15b4554985e2614a3436123f6.png"},1262:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-up-extension-5a7476939cd67496b96c261ad1c48cc7.png"},7376:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-up-recovery-7f90bfbb19d64151adb857c94d92662f.png"},2724:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},8453:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>l});var o=n(6540);const t={},s=o.createContext(t);function i(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80047513.f84a30d4.js b/assets/js/80047513.f84a30d4.js deleted file mode 100644 index b88ca167..00000000 --- a/assets/js/80047513.f84a30d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[271],{8268:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=r(4848),n=r(8453);const o={sidebar_label:"\u26d3\ufe0f L14 Network",sidebar_position:6,description:"Support Page for L14 Network"},l="L14 Network",s={id:"general/l14-and-lyxe/l14-network",title:"L14 Network",description:"Support Page for L14 Network",source:"@site/docs/general/l14-and-lyxe/l14-network.md",sourceDirName:"general/l14-and-lyxe",slug:"/general/l14-and-lyxe/l14-network",permalink:"/general/l14-and-lyxe/l14-network",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/l14-network.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:6,frontMatter:{sidebar_label:"\u26d3\ufe0f L14 Network",sidebar_position:6,description:"Support Page for L14 Network"},sidebar:"generalSidebar",previous:{title:"January 2024",permalink:"/general/l14-and-lyxe/migration/incidents/january"},next:{title:"\ud83d\udd12 Security",permalink:"/general/security"}},a={},d=[{value:"How to access my Universal Profile on L14?",id:"how-to-access-my-universal-profile-on-l14",level:2},{value:"Can I import my L14 Universal Profile to the Universal Profile Browser Extension?",id:"can-i-import-my-l14-universal-profile-to-the-universal-profile-browser-extension",level:2},{value:"Will Universal Profiles on L14 be migrated to Mainnet?",id:"will-universal-profiles-on-l14-be-migrated-to-mainnet",level:2},{value:"Will previously acquired NFTs be migrated to Mainnet?",id:"will-previously-acquired-nfts-be-migrated-to-mainnet",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"l14-network",children:"L14 Network"}),"\n",(0,i.jsx)(t.h2,{id:"how-to-access-my-universal-profile-on-l14",children:"How to access my Universal Profile on L14?"}),"\n",(0,i.jsxs)(t.p,{children:["If you created a Universal Profile using the ",(0,i.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"Universal Profile Explorer"})," or ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised Marketplace"})," on the L14 Testnet, the wallet is stored within your browser's local storage. You will receive a login link containing an encrypted private key via mail."]}),"\n",(0,i.jsx)(t.admonition,{title:"Ongoing Migration",type:"caution",children:(0,i.jsxs)(t.p,{children:["Due to the ongoing migration of the L14 network, the reissuing of login links has stopped. If you lost access to your old login link, please reach out to ",(0,i.jsx)(t.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})}),"\n",(0,i.jsx)(t.h2,{id:"can-i-import-my-l14-universal-profile-to-the-universal-profile-browser-extension",children:"Can I import my L14 Universal Profile to the Universal Profile Browser Extension?"}),"\n",(0,i.jsx)(t.p,{children:"The Universal Profile Browser Extension is only compatible with Testnet and Mainnet networks. L14 Universal Profiles cannot be added to the Universal Profile Browser Extension, they first need to be migrated to Mainnet to be compatible."}),"\n",(0,i.jsx)(t.h2,{id:"will-universal-profiles-on-l14-be-migrated-to-mainnet",children:"Will Universal Profiles on L14 be migrated to Mainnet?"}),"\n",(0,i.jsxs)(t.p,{children:["LUKSO will migrate all Universal Profiles previously created on the L14 Testnet by ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised Marketplace"}),", the ",(0,i.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"Universal Profile Explorer"})," or official collaborations like ",(0,i.jsx)(t.a,{href:"https://outoftheether.net/",children:"Out Of the Ether"}),". If you deployed custom profiles on older testnets, you would be responsible for migrating them to the mainnet yourself."]}),"\n",(0,i.jsx)(t.h2,{id:"will-previously-acquired-nfts-be-migrated-to-mainnet",children:"Will previously acquired NFTs be migrated to Mainnet?"}),"\n",(0,i.jsxs)(t.p,{children:["LUKSO will migrate all previously issued NFTs by the ",(0,i.jsx)(t.a,{href:"https://lukso.network/",children:"LUKSO"})," and ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised"})," brands, as well as official LUKSO collaborations. If you deployed custom assets and services on older testnets, you would be responsible for migrating them to the mainnet."]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>l,x:()=>s});var i=r(6540);const n={},o=i.createContext(n);function l(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/808d3943.2497061f.js b/assets/js/808d3943.2497061f.js deleted file mode 100644 index e0297326..00000000 --- a/assets/js/808d3943.2497061f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[528],{463:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var t=r(4848),i=r(8453);const a={sidebar_label:"February 2024",sidebar_position:2,description:"LUKSO Support: Migration Delay February 2024"},s="February 2024",o={id:"general/l14-and-lyxe/migration/incidents/february",title:"February 2024",description:"LUKSO Support: Migration Delay February 2024",source:"@site/docs/general/l14-and-lyxe/migration/incidents/february.md",sourceDirName:"general/l14-and-lyxe/migration/incidents",slug:"/general/l14-and-lyxe/migration/incidents/february",permalink:"/general/l14-and-lyxe/migration/incidents/february",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/incidents/february.md",tags:[],version:"current",lastUpdatedAt:1716806692e3,sidebarPosition:2,frontMatter:{sidebar_label:"February 2024",sidebar_position:2,description:"LUKSO Support: Migration Delay February 2024"},sidebar:"generalSidebar",previous:{title:"\ud83c\udfe6 Migration on Exchanges",permalink:"/general/l14-and-lyxe/migration/migration-on-exchanges"},next:{title:"January 2024",permalink:"/general/l14-and-lyxe/migration/incidents/january"}},l={},c=[];function d(e){const n={admonition:"admonition",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"february-2024",children:"February 2024"}),"\n",(0,t.jsx)(n.admonition,{title:"Resolved",type:"success",children:(0,t.jsx)(n.p,{children:"This incident has been resolved on the 6th of February 2024 at 1:30pm UTC"})}),"\n",(0,t.jsx)(n.p,{children:"On the 4th of February 2024, issues with our blockchain RPC provider (TIMEOUT) was causing increasing delays in synchronising with source and target chains."}),"\n",(0,t.jsx)(n.p,{children:"We have fixed the issue by improving the cloud provider NAT settings."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.strong,{children:"Feb 6th, 1:30pm UTC: all systems are operational again \u2705"})}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(6540);const i={},a=t.createContext(i);function s(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83b65a36.8b0decd3.js b/assets/js/83b65a36.8b0decd3.js new file mode 100644 index 00000000..45640bb6 --- /dev/null +++ b/assets/js/83b65a36.8b0decd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[425],{3737:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=t(4848),s=t(8453);const o={sidebar_label:" \ud83d\udcb8 Where can I buy LYX",sidebar_position:3,description:"Support Page for using exchanges on the LUKSO network"},a="Using Exchanges",i={id:"general/getting-started/using-exchanges",title:"Using Exchanges",description:"Support Page for using exchanges on the LUKSO network",source:"@site/docs/general/getting-started/using-exchanges.md",sourceDirName:"general/getting-started",slug:"/general/getting-started/using-exchanges",permalink:"/general/getting-started/using-exchanges",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/using-exchanges.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:" \ud83d\udcb8 Where can I buy LYX",sidebar_position:3,description:"Support Page for using exchanges on the LUKSO network"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/introduction"},next:{title:"\ud83e\udd16 Popular Dapps",permalink:"/general/getting-started/popular-dapps"}},c={},l=[{value:"How can I send LYX from my profile to an exchange?",id:"how-can-i-send-lyx-from-my-profile-to-an-exchange",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"using-exchanges",children:"Using Exchanges"}),"\n",(0,r.jsx)(n.h2,{id:"how-can-i-send-lyx-from-my-profile-to-an-exchange",children:"How can I send LYX from my profile to an exchange?"}),"\n",(0,r.jsx)(n.admonition,{title:"Smart Contract Transactions",type:"danger",children:(0,r.jsx)(n.p,{children:"Never send LYX directly from your Universal Profile to an Exchange. This might result in your funds being locked."})}),"\n",(0,r.jsx)(n.p,{children:"Most exchanges do not support transactions from smart contracts, including Universal Profiles. To deposit funds into an exchange:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["send the LYX to a ",(0,r.jsx)(n.a,{href:"/general/supported-wallets/wallet-support",children:"supported browser-based or hardware wallet"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/general/supported-wallets/wallet-support",children:"Add LUKSO as custom network"})," using the ",(0,r.jsx)(n.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"Official Parameters"})]}),"\n",(0,r.jsx)(n.li,{children:"Transfer the LYX from the wallet to the exchange."}),"\n"]})]})}function g(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var r=t(6540);const s={},o=r.createContext(s);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/83b65a36.e0444468.js b/assets/js/83b65a36.e0444468.js deleted file mode 100644 index ba036ced..00000000 --- a/assets/js/83b65a36.e0444468.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[425],{3737:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=t(4848),s=t(8453);const o={sidebar_label:" \ud83d\udcb8 Where can I buy LYX",sidebar_position:3,description:"Support Page for using exchanges on the LUKSO network"},a="Using Exchanges",i={id:"general/getting-started/using-exchanges",title:"Using Exchanges",description:"Support Page for using exchanges on the LUKSO network",source:"@site/docs/general/getting-started/using-exchanges.md",sourceDirName:"general/getting-started",slug:"/general/getting-started/using-exchanges",permalink:"/general/getting-started/using-exchanges",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/using-exchanges.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:3,frontMatter:{sidebar_label:" \ud83d\udcb8 Where can I buy LYX",sidebar_position:3,description:"Support Page for using exchanges on the LUKSO network"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd11 Controller Recovery Incident",permalink:"/general/getting-started/Extension/incidents/controller-recovery"},next:{title:"\ud83e\udd16 Popular Dapps",permalink:"/general/getting-started/popular-dapps"}},c={},l=[{value:"How can I send LYX from my profile to an exchange?",id:"how-can-i-send-lyx-from-my-profile-to-an-exchange",level:2}];function d(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"using-exchanges",children:"Using Exchanges"}),"\n",(0,r.jsx)(n.h2,{id:"how-can-i-send-lyx-from-my-profile-to-an-exchange",children:"How can I send LYX from my profile to an exchange?"}),"\n",(0,r.jsx)(n.admonition,{title:"Smart Contract Transactions",type:"danger",children:(0,r.jsx)(n.p,{children:"Never send LYX directly from your Universal Profile to an Exchange. This might result in your funds being locked."})}),"\n",(0,r.jsx)(n.p,{children:"Most exchanges do not support transactions from smart contracts, including Universal Profiles. To deposit funds into an exchange:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["send the LYX to a ",(0,r.jsx)(n.a,{href:"/general/supported-wallets/wallet-support",children:"supported browser-based or hardware wallet"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/general/supported-wallets/wallet-support",children:"Add LUKSO as custom network"})," using the ",(0,r.jsx)(n.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"Official Parameters"})]}),"\n",(0,r.jsx)(n.li,{children:"Transfer the LYX from the wallet to the exchange."}),"\n"]})]})}function g(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var r=t(6540);const s={},o=r.createContext(s);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cad5446.7669c322.js b/assets/js/9cad5446.7669c322.js new file mode 100644 index 00000000..486ad9c9 --- /dev/null +++ b/assets/js/9cad5446.7669c322.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[393],{5936:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=t(4848),a=t(8453);const r={sidebar_label:"\ud83c\udfe6 Migration on Exchanges",sidebar_position:4,description:"LYXe Migration and Exchanges"},o="Migration on Exchanges",s={id:"migration/migration-on-exchanges",title:"Migration on Exchanges",description:"LYXe Migration and Exchanges",source:"@site/docs/migration/migration-on-exchanges.md",sourceDirName:"migration",slug:"/migration/migration-on-exchanges",permalink:"/migration/migration-on-exchanges",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/migration-on-exchanges.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:4,frontMatter:{sidebar_label:"\ud83c\udfe6 Migration on Exchanges",sidebar_position:4,description:"LYXe Migration and Exchanges"},sidebar:"migrationSidebar",previous:{title:"\ud83d\udd04 Transaction Process",permalink:"/migration/transaction-process"},next:{title:"February 2024",permalink:"/migration/incidents/february"}},l={},c=[{value:"Will LYXe be migrated automatically?",id:"will-lyxe-be-migrated-automatically",level:2},{value:"Where can LYX be traded?",id:"where-can-lyx-be-traded",level:2}];function h(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"migration-on-exchanges",children:"Migration on Exchanges"}),"\n",(0,i.jsx)(n.h2,{id:"will-lyxe-be-migrated-automatically",children:"Will LYXe be migrated automatically?"}),"\n",(0,i.jsx)(n.p,{children:"If you are holding LYXe within your own wallet, it will not be migrated automatically. You have to instantiate the migration process manually. There is likely an amount of LYXe that will never migrate due to lost wallets. Some people might even keep some LYXe for sentimental reasons."}),"\n",(0,i.jsx)(n.p,{children:"Exchanges holding LYXe might migrate the asset for their customers. However, this is not a process controlled by LUKSO directly. The following exchanges have performed an migration already:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.kucoin.com/announcement/en-kucoin-has-completed-the-token-swap-of-lyxe-to-lyx-20230721",children:"KuCoin LYX Migration Announcement"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.gate.io/article/33153",children:"Gate.io LYX Migration Announcement"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For further announcements, please follow the exchange's official announcement channels."}),"\n",(0,i.jsx)(n.h2,{id:"where-can-lyx-be-traded",children:"Where can LYX be traded?"}),"\n",(0,i.jsx)(n.p,{children:"You can trade or swap LYX using the following platforms:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.kucoin.com/announcement/en-kucoin-has-completed-the-token-swap-of-lyxe-to-lyx-20230721",children:"KuCoin Exchange"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"https://www.gate.io/article/33153",children:"Gate.io Exchange"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://support.ledger.com/hc/en-us/articles/15847276545053-Lukso-LYX-?docs=true",children:"Ledger Live Onramp"}),"."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"3rd-party services might also create decentralized marketplaces later on."}),"\n",(0,i.jsx)(n.admonition,{title:"Smart Contract Transactions",type:"danger",children:(0,i.jsxs)(n.p,{children:["Never send LYX directly from your Universal Profile to an Exchange. This might result in your funds being locked. Please check out the ",(0,i.jsx)(n.a,{href:"/general/getting-started/using-exchanges",children:"Exchange Guide"})," in case you want to send your migrated LYX back to the exchange."]})})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>s});var i=t(6540);const a={},r=i.createContext(a);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dfa3a48.f2728730.js b/assets/js/9dfa3a48.f2728730.js new file mode 100644 index 00000000..1fb240e1 --- /dev/null +++ b/assets/js/9dfa3a48.f2728730.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[611],{4446:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=t(4848),r=t(8453);const s={sidebar_label:"\ud83d\udcb8 Fund Controller",sidebar_position:3,description:"Extension Support: Fund Controller"},i="Fund Controller",l={id:"Extension/guides/fund-controller",title:"Fund Controller",description:"Extension Support: Fund Controller",source:"@site/docs/Extension/guides/fund-controller.md",sourceDirName:"Extension/guides",slug:"/Extension/guides/fund-controller",permalink:"/Extension/guides/fund-controller",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/guides/fund-controller.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udcb8 Fund Controller",sidebar_position:3,description:"Extension Support: Fund Controller"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udce5 Create Backup",permalink:"/Extension/guides/create-backup"},next:{title:"\ud83d\udcb0 Get Controller Funds",permalink:"/Extension/guides/get-controller-funds"}},a={},c=[];function d(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"fund-controller",children:"Fund Controller"}),"\n",(0,o.jsx)(n.p,{children:"To use your funds to send transactions from your Universal Profile, you must send LYX or LYXt to the extension's controller. Sending it to the controller will ensure the transaction's gas costs are funded."}),"\n",(0,o.jsx)(n.p,{children:"You can find the address of the extension's controller within the permission section:"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/controller-window.png",alt:"Controller Window",width:"400"})}),"\n",(0,o.jsxs)(n.admonition,{title:"Controller Names",type:"info",children:[(0,o.jsxs)(n.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,o.jsx)(n.strong,{children:"UP Extension"})," or have the ",(0,o.jsx)(n.strong,{children:"name of it's blockchain address"}),". The controller can be ",(0,o.jsx)(n.em,{children:"renamed locally"})," in your extension at any time."]}),(0,o.jsx)("img",{src:"/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,o.jsx)(n.p,{children:"If you click on the controller, it will show the name, permissions, and blockchain address. Copy the blockchain address from the top of the screen, as shown in the following picture:"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/controller-address.png",alt:"Controller Address",width:"400"})}),"\n",(0,o.jsxs)(n.p,{children:["If you are using a regular wallet, ",(0,o.jsx)(n.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"add LUKSO"})," as custom network and send LYX to the address of your controller. In case you use the Universal Profile Browser Extension, visit your Universal Profile page on ",(0,o.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/",children:"wallet.universalprofile.cloud"}),". On your profile page, click the send button of the LYX token and enter the address of your controller as recipient:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/general/asset-transfer.png",alt:"Asset Transfer",width:"800"})}),"\n",(0,o.jsx)(n.admonition,{title:"Importance of Backups",type:"danger",children:(0,o.jsxs)(n.p,{children:["We highly recommend to only send small amounts of LYX to the controller of your extension and ensure to ",(0,o.jsx)(n.strong,{children:"save their private keys"}),". You can display and copy them by ",(0,o.jsx)(n.em,{children:"revealing the private key"})," within the ",(0,o.jsx)(n.em,{children:"Settings"})," screen. This backup is essential as every extension has an individual controller. If you import or recover the profile without saving the previous private key, you cannot ",(0,o.jsx)(n.a,{href:"/Extension/guides/get-controller-funds",children:"get back your controller funds"})," after."]})}),"\n",(0,o.jsx)(n.p,{children:"Once the extension's controller is funded with LYX, you can select it within the transaction screen of the Universal Profile Extension:"}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/transaction-controller-setting.png",alt:"Transaction Controller Setting",width:"400"})}),"\n",(0,o.jsx)(n.admonition,{title:"Default Payment",type:"success",children:(0,o.jsx)(n.p,{children:"Once your funded controller is selected in the extension, it will stay as default payment option for transactions until its changed back to the Transaction Relay Service."})})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var o=t(6540);const r={},s=o.createContext(r);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a533eefb.7dc9ef7c.js b/assets/js/a533eefb.7dc9ef7c.js new file mode 100644 index 00000000..1d64534a --- /dev/null +++ b/assets/js/a533eefb.7dc9ef7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[541],{5396:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>n,metadata:()=>i,toc:()=>d});var r=a(4848),o=a(8453);const n={sidebar_label:"\ud83d\udc5d Supported Wallets",sidebar_position:2,description:"LUKSO Migration: Supported Wallets"},s="Supported Wallets",i={id:"migration/supported-wallets",title:"Supported Wallets",description:"LUKSO Migration: Supported Wallets",source:"@site/docs/migration/supported-wallets.md",sourceDirName:"migration",slug:"/migration/supported-wallets",permalink:"/migration/supported-wallets",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/supported-wallets.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udc5d Supported Wallets",sidebar_position:2,description:"LUKSO Migration: Supported Wallets"},sidebar:"migrationSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/migration/introduction"},next:{title:"\ud83d\udd04 Transaction Process",permalink:"/migration/transaction-process"}},l={},d=[{value:"Which wallets can be used to migrate LYXe?",id:"which-wallets-can-be-used-to-migrate-lyxe",level:2},{value:"What if I don't have a browser-based wallet?",id:"what-if-i-dont-have-a-browser-based-wallet",level:2},{value:"How do I migrate if I have a hardware wallet?",id:"how-do-i-migrate-if-i-have-a-hardware-wallet",level:2},{value:"How to store LYX?",id:"how-to-store-lyx",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"supported-wallets",children:"Supported Wallets"}),"\n",(0,r.jsx)(t.h2,{id:"which-wallets-can-be-used-to-migrate-lyxe",children:"Which wallets can be used to migrate LYXe?"}),"\n",(0,r.jsx)(t.p,{children:"Only regular EVM-compatible browser-based wallets (Externally Owned Accounts) are supported for the migration. Universal Profiles are disabled, so your funds are kept anonymous and not directly linked to any public persona."}),"\n",(0,r.jsx)(t.h2,{id:"what-if-i-dont-have-a-browser-based-wallet",children:"What if I don't have a browser-based wallet?"}),"\n",(0,r.jsxs)(t.p,{children:["If you migrate yourself but don't have a browser-based wallet, e.g., holding your LYXe on a Ledger or Trezor, we recommend installing an EVM-compatible browser-based wallet. After generating a new blockchain address on the installed wallet, you can send the LYXe to your new wallet and begin migrating from the browser. One of the most commonly used browser-based wallets is ",(0,r.jsx)(t.a,{href:"https://metamask.io/download/",children:"MetaMask"}),", which can be installed and added to your browser within a few steps. MetaMask also supports wallet imports for both Ledger and Trezor hardware wallets."]}),"\n",(0,r.jsx)(t.h2,{id:"how-do-i-migrate-if-i-have-a-hardware-wallet",children:"How do I migrate if I have a hardware wallet?"}),"\n",(0,r.jsx)(t.p,{children:"If you have LYXe on a hardware wallet like Ledger or Trezor, you can send them to a supported crypto exchange or migrate independently by connecting your hardware wallet to a browser-based wallet. Make sure your hardware wallet supports external connections to browser-based wallets."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["You can also check our ",(0,r.jsx)(t.a,{href:"/general/supported-wallets/hardware-wallets",children:"Hardware Wallet"})," page for related information."]})}),"\n",(0,r.jsx)(t.h2,{id:"how-to-store-lyx",children:"How to store LYX?"}),"\n",(0,r.jsxs)(t.p,{children:["You can store LYX using the ",(0,r.jsx)(t.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profile Browser Extension"})," or any Ethereum-compatible wallet or hardware wallet."]}),"\n",(0,r.jsx)(t.admonition,{title:"Custom Network",type:"caution",children:(0,r.jsx)(t.p,{children:"Please ensure you can set custom blockchain networks within your blockchain wallet. Otherwise, you might not be able to see or send LYX within your wallet."})})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,a)=>{a.d(t,{R:()=>s,x:()=>i});var r=a(6540);const o={},n=r.createContext(o);function s(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/abc2adad.b1c594c6.js b/assets/js/abc2adad.b1c594c6.js deleted file mode 100644 index ba7a545e..00000000 --- a/assets/js/abc2adad.b1c594c6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[217],{4102:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var i=s(4848),r=s(8453);s(6540);function t(e){let{src:n}=e;return(0,i.jsx)("div",{style:{position:"relative",paddingBottom:"56.25%",height:0},children:(0,i.jsx)("iframe",{src:n,frameBorder:"0",allowFullScreen:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"}})})}const o={sidebar_label:"\ud83c\udd99 Universal Profiles",sidebar_position:1,description:"Support Page for Universal Profiles"},a="Universal Profiles",l={id:"general/getting-started/universal-profiles",title:"Universal Profiles",description:"Support Page for Universal Profiles",source:"@site/docs/general/getting-started/universal-profiles.md",sourceDirName:"general/getting-started",slug:"/general/getting-started/universal-profiles",permalink:"/general/getting-started/universal-profiles",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/universal-profiles.md",tags:[],version:"current",lastUpdatedAt:1720086907e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83c\udd99 Universal Profiles",sidebar_position:1,description:"Support Page for Universal Profiles"},sidebar:"generalSidebar",previous:{title:"\ud83d\ude80 Getting Started",permalink:"/general/getting-started/"},next:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/general/getting-started/Extension/introduction"}},d={},c=[{value:"Where can I see my Universal Profile ?",id:"where-can-i-see-my-universal-profile-",level:2},{value:"How can I send assets from my Universal Profile?",id:"how-can-i-send-assets-from-my-universal-profile",level:2},{value:"Where can I manage my Universal Profile?",id:"where-can-i-manage-my-universal-profile",level:2},{value:"Is my Universal Profile name unique?",id:"is-my-universal-profile-name-unique",level:2},{value:"Can I send Ether and Token from Ethereum to my Universal Profile?",id:"can-i-send-ether-and-token-from-ethereum-to-my-universal-profile",level:2},{value:"Which tokens and coins can my Universal Profile hold?",id:"which-tokens-and-coins-can-my-universal-profile-hold",level:2},{value:"Can I control assets using Universal Profiles on any blockchain?",id:"can-i-control-assets-using-universal-profiles-on-any-blockchain",level:2},{value:"Why do Universal Profile transactions show up as internal transactions?",id:"why-do-universal-profile-transactions-show-up-as-internal-transactions",level:2},{value:"Is it possible to create a profile with the same address as my wallet?",id:"is-it-possible-to-create-a-profile-with-the-same-address-as-my-wallet",level:2},{value:"How can I delete profiles on the explorer?",id:"how-can-i-delete-profiles-on-the-explorer",level:2},{value:"My Tokens or NFTs are missing from universalprofile.cloud, how do I add them?",id:"my-tokens-or-nfts-are-missing-from-universalprofilecloud-how-do-i-add-them",level:2}];function h(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"universal-profiles",children:"Universal Profiles"}),"\n",(0,i.jsx)(n.h2,{id:"where-can-i-see-my-universal-profile-",children:"Where can I see my Universal Profile ?"}),"\n",(0,i.jsxs)(n.p,{children:["You can find your Universal Profile on the Universal Profile Explorer at ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"}),". Just select the correct network on the bottom left corner and use the global search bar to search for your name."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Universal Profile Explorer",src:s(3497).A+"",width:"1379",height:"840"})}),"\n",(0,i.jsx)(n.h2,{id:"how-can-i-send-assets-from-my-universal-profile",children:"How can I send assets from my Universal Profile?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile Extension ",(0,i.jsx)(n.strong,{children:"does not directly manage token information"}),". Instead, it is designed to work with various decentralized applications (dApps) that can seamlessly integrate with your Universal Profile and interact with its information and controllers. You can connect your Universal Profile to ",(0,i.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/",children:"wallet.universalprofile.cloud"})," to send token transactions."]}),"\n",(0,i.jsx)(t,{src:"https://www.loom.com/embed/47b4f4e671b248219cac48726358a791?sid=a88bd596-8860-4677-83c9-33384ccfdcb1"}),"\n",(0,i.jsx)(n.h2,{id:"where-can-i-manage-my-universal-profile",children:"Where can I manage my Universal Profile?"}),"\n",(0,i.jsxs)(n.p,{children:["You can connect your Universal Profile to ",(0,i.jsx)(n.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," to check and add 2FA recovery or create new profiles."]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Universal Profile Management",src:s(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,i.jsx)(n.h2,{id:"is-my-universal-profile-name-unique",children:"Is my Universal Profile name unique?"}),"\n",(0,i.jsx)(n.p,{children:"The profile name displayed on platforms and services is retrieved from the metadata linked to the smart contract. Such metadata, images, or descriptions can be individually set when creating or updating the Universal Profile. Therefore, multiple users can choose similar names or pictures."}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("img",{src:"/img/general/profile-name.png",alt:"Universal Profile Name",width:"200"})}),"\n",(0,i.jsx)(n.p,{children:"What is unique about a Universal Profile are its address and the identicon. The address is indicated with the first four characters behind the profile name. In case the first characters of the address should be similar or identical, the identicon further helps to distinguish them. The combination of attributes was done to allow complete customization without lacking authentication."}),"\n",(0,i.jsx)(n.h2,{id:"can-i-send-ether-and-token-from-ethereum-to-my-universal-profile",children:"Can I send Ether and Token from Ethereum to my Universal Profile?"}),"\n",(0,i.jsx)(n.p,{children:"You can't send any assets to the address if you do not deploy the Universal Profile on Ethereum. Users will lose their assets if they send them to other networks without having access to the controller key."}),"\n",(0,i.jsxs)(n.admonition,{title:"LYXe vs LYX Transactions",type:"danger",children:[(0,i.jsxs)(n.p,{children:["\u203c\ufe0f\u26a0\ufe0f If you hold LYXe, ",(0,i.jsx)(n.strong,{children:"do not send them to your Universal Profile's address!"})]}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"LYXe is the token deployed on Ethereum."}),"\n",(0,i.jsx)(n.li,{children:"LYX is the native currency of the LUKSO Network"}),"\n"]}),(0,i.jsx)(n.p,{children:"Therefore, you cannot send LYXe to your Universal Profile's address, as your Universal Profile is deployed and only exists on the LUKSO network."}),(0,i.jsxs)(n.p,{children:["To transfer your LYXe to your UP, ",(0,i.jsxs)(n.strong,{children:["you must first, migrate your LYXe to LYX the ",(0,i.jsx)(n.a,{href:"https://migrate.lukso.network/",children:"LUKSO Migration Service"})]}),"."]}),(0,i.jsxs)(n.p,{children:["For further details, please visit the ",(0,i.jsx)(n.a,{href:"/general/l14-and-lyxe/migration/introduction",children:"Migration Support"})," page."]})]}),"\n",(0,i.jsx)(n.h2,{id:"which-tokens-and-coins-can-my-universal-profile-hold",children:"Which tokens and coins can my Universal Profile hold?"}),"\n",(0,i.jsx)(n.p,{children:"A Universal Profile can hold any asset on the same network it's deployed on. On LUKSO, the native coin is LYX. While native coins from other networks can't be held directly in Universal Profiles deployed on LUKSO, external services might also create token bridges for external assets."}),"\n",(0,i.jsx)(n.h2,{id:"can-i-control-assets-using-universal-profiles-on-any-blockchain",children:"Can I control assets using Universal Profiles on any blockchain?"}),"\n",(0,i.jsx)(n.p,{children:"You can manage your assets through a Universal Profile on any blockchain the contract is deployed on. This would also include cases where the standardization was rewritten in a different language. If a service or project would allow you to create Universal Profiles on Ethereum, you could manage your assets through it."}),"\n",(0,i.jsx)(n.h2,{id:"why-do-universal-profile-transactions-show-up-as-internal-transactions",children:"Why do Universal Profile transactions show up as internal transactions?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile is a ",(0,i.jsx)(n.strong,{children:"smart contract"}),". Unlike a regular wallet, where ",(0,i.jsx)(n.em,{children:"transactions are made directly by the address owning the funds"}),", the transactions on the Universal Profile are ",(0,i.jsx)(n.strong,{children:"executed by one of it's controllers"}),". This division of execution and ownership of assets requires the execution of custom logic of the smart contract. The key manager has to check the permissions of the controller, before any on-chain action is made. This additional logic, established using ",(0,i.jsx)(n.a,{href:"https://docs.lukso.tech/standards/introduction",children:"LSP smart contracts"})," is the reason for transactions appearing as internal."]}),"\n",(0,i.jsx)(n.h2,{id:"is-it-possible-to-create-a-profile-with-the-same-address-as-my-wallet",children:"Is it possible to create a profile with the same address as my wallet?"}),"\n",(0,i.jsxs)(n.p,{children:["The Universal Profile is a smart contract account deployed using a regular wallet key (EOA). Hence it ",(0,i.jsx)(n.em,{children:"cannot overwrite or have the same address as an existing browser- or hardware wallet"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"how-can-i-delete-profiles-on-the-explorer",children:"How can I delete profiles on the explorer?"}),"\n",(0,i.jsxs)(n.p,{children:["Currently, there's no way to delete profiles showing up on ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," if you lost access or the deployment was not completed. To delete a profile that you can still access within the Universal Profile Browser Extension, please edit the metadata and remove all the contents like pictures and names."]}),"\n",(0,i.jsx)(n.admonition,{title:"Upcoming Feature",type:"success",children:(0,i.jsxs)(n.p,{children:["Removing profiles is planned for upcoming releases of the ",(0,i.jsx)(n.em,{children:"Universal Profile Browser Extension"})," and ",(0,i.jsx)(n.a,{href:"https://universalprofile.cloud",children:"universalprofile.cloud"}),"."]})}),"\n",(0,i.jsx)(n.h2,{id:"my-tokens-or-nfts-are-missing-from-universalprofilecloud-how-do-i-add-them",children:"My Tokens or NFTs are missing from universalprofile.cloud, how do I add them?"}),"\n",(0,i.jsx)(n.p,{children:"If your assets are not getting added to your Universal Profile, it is likely that the Universal Receiver is not able to edit the storage elements of your Universal Profile."}),"\n",(0,i.jsxs)(n.p,{children:["To solve this issue, ",(0,i.jsx)(n.a,{href:"https://www.loom.com/share/ff12158265e6482d837d5f9d420b87dd",children:"watch this video"})," or follow the steps below:"]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"First, \ud83c\udd99 extension:"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:'Open the Universal Profile Browser Extension and click the "controllers" tab'}),"\n",(0,i.jsx)(n.li,{children:'Find your "UP Receiver"'}),"\n",(0,i.jsx)(n.li,{children:'Enable the "Profile data" as well as "Re-entrancy" permissions'}),"\n"]}),"\n",(0,i.jsxs)(n.ol,{start:"2",children:["\n",(0,i.jsx)(n.li,{children:"Then, wallet:"}),"\n"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["After that, go to our ",(0,i.jsx)(n.a,{href:"https://wallet.universalprofile.cloud/settings/missing-assets",children:"Missing Assets"})," page"]}),"\n",(0,i.jsx)(n.li,{children:"Connect your profile"}),"\n",(0,i.jsx)(n.li,{children:'Add the token or NFT contract address and click "continue"'}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},2724:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},3497:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/images/up-cloud-548cee5bfa9f47b5ff101a802e70750f.png"},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(6540);const r={},t=i.createContext(r);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ad94cb4b.89232497.js b/assets/js/ad94cb4b.89232497.js new file mode 100644 index 00000000..88c46e9d --- /dev/null +++ b/assets/js/ad94cb4b.89232497.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[166],{6126:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>h});var t=n(4848),o=n(8453);const r={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for Universal Profiles browser extension"},i="Support for Universal Profiles browser extension",l={id:"Extension/introduction",title:"Support for Universal Profiles browser extension",description:"Support for Universal Profiles browser extension",source:"@site/docs/Extension/introduction.md",sourceDirName:"Extension",slug:"/Extension/introduction",permalink:"/Extension/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/introduction.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for Universal Profiles browser extension"},sidebar:"ExtensionSidebar",next:{title:"\ud83d\udd10 Controllers",permalink:"/Extension/controllers"}},a={},h=[{value:"Where can I download the Universal Profiles browser extension?",id:"where-can-i-download-the-universal-profiles-browser-extension",level:2},{value:"Which browsers does the extension support?",id:"which-browsers-does-the-extension-support",level:2},{value:"Whats the best way to use LUKSO?",id:"whats-the-best-way-to-use-lukso",level:2},{value:"Is the Universal Profiles browser extension a wallet?",id:"is-the-universal-profiles-browser-extension-a-wallet",level:2},{value:"Will the extension affect other wallets in the browser?",id:"will-the-extension-affect-other-wallets-in-the-browser",level:2},{value:"How does the extension store and verify the password?",id:"how-does-the-extension-store-and-verify-the-password",level:2}];function d(e){const s={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h1,{id:"support-for-universal-profiles-browser-extension",children:"Support for Universal Profiles browser extension"}),"\n",(0,t.jsx)(s.h2,{id:"where-can-i-download-the-universal-profiles-browser-extension",children:"Where can I download the Universal Profiles browser extension?"}),"\n",(0,t.jsxs)(s.p,{children:["You can download the Universal Profiles Extension from the ",(0,t.jsx)(s.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?pli=1",children:"Chrome Store"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"which-browsers-does-the-extension-support",children:"Which browsers does the extension support?"}),"\n",(0,t.jsxs)(s.p,{children:["Currently, the Universal Profiles browser extension only supports ",(0,t.jsx)(s.a,{href:"https://www.google.com/intl/en/chrome",children:"Chrome"})," and ",(0,t.jsx)(s.a,{href:"https://brave.com/",children:"Brave"}),"."]}),"\n",(0,t.jsx)(s.admonition,{title:"Using Unsupported Browsers",type:"caution",children:(0,t.jsx)(s.p,{children:"Using unsupported browsers might result in broken interfaces or the extension not being recognized by dApps. We highly recommend to wait until official support is extended."})}),"\n",(0,t.jsx)(s.h2,{id:"whats-the-best-way-to-use-lukso",children:"Whats the best way to use LUKSO?"}),"\n",(0,t.jsxs)(s.p,{children:["It's suggested to use the ",(0,t.jsx)(s.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profiles browser extension"})," while interacting with apps and services on LUKSO. The extension offers you a much more user-friendly and feature-rich experience than you would get using regular wallets."]}),"\n",(0,t.jsx)(s.h2,{id:"is-the-universal-profiles-browser-extension-a-wallet",children:"Is the Universal Profiles browser extension a wallet?"}),"\n",(0,t.jsxs)(s.p,{children:["The Universal Profiles browser extension should ",(0,t.jsx)(s.em,{children:"not be classified as a wallet"}),". While connected Universal Profiles can store assets, the extension serves as a comprehensive center for your blockchain interactions and reflects your on-chain persona with much more capabilities than just holding assets. Each Universal Profile within an extension holds a separate private key that can be exported into any regular Ethereum wallet."]}),"\n",(0,t.jsx)(s.admonition,{title:"Wallet dApp",type:"info",children:(0,t.jsxs)(s.p,{children:["If you use the Universal Profiles browser extension to store assets and token, please connect to ",(0,t.jsx)(s.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"})," and visit your profile page to see your portfolio and send funds."]})}),"\n",(0,t.jsx)(s.h2,{id:"will-the-extension-affect-other-wallets-in-the-browser",children:"Will the extension affect other wallets in the browser?"}),"\n",(0,t.jsxs)(s.p,{children:["The extension injects into the blockchain provider, which may occasionally result in the ",(0,t.jsx)(s.em,{children:"Universal Profiles browser extension"})," appearing instead of other wallets. If this is not wanted, users can manually disable the extension within the ",(0,t.jsx)(s.a,{href:"https://support.google.com/chrome_webstore/answer/2664769?hl=en",children:"extension settings"})," of the browser. However, the extension ",(0,t.jsx)(s.strong,{children:"does not affect or modify the functionality of other wallets"}),"."]}),"\n",(0,t.jsx)(s.h2,{id:"how-does-the-extension-store-and-verify-the-password",children:"How does the extension store and verify the password?"}),"\n",(0,t.jsx)(s.p,{children:"The password of the Universal Profile Extension is used to encrypt the private keys of your controllers. These encrypted private keys are stored in your local browser. The password is only temporarily stored in memory when the keys are encrypted during login. If the wrong password is entered, the decryption will fail, indicating an incorrect password."})]})}function c(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>i,x:()=>l});var t=n(6540);const o={},r=t.createContext(o);function i(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b1b2d530.b3085d3a.js b/assets/js/b1b2d530.b3085d3a.js deleted file mode 100644 index 08983b1b..00000000 --- a/assets/js/b1b2d530.b3085d3a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[488],{285:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=n(4848),i=n(8453);const r={sidebar_label:"#\ufe0f\u20e3 Check Extension Version",sidebar_position:5,description:"LUKSO Support: Check Extension Version"},o="Check Extension Version",c={id:"general/getting-started/Extension/guides/check-extension-version",title:"Check Extension Version",description:"LUKSO Support: Check Extension Version",source:"@site/docs/general/getting-started/Extension/guides/check-extension-version.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/check-extension-version",permalink:"/general/getting-started/Extension/guides/check-extension-version",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/check-extension-version.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:5,frontMatter:{sidebar_label:"#\ufe0f\u20e3 Check Extension Version",sidebar_position:5,description:"LUKSO Support: Check Extension Version"},sidebar:"generalSidebar",previous:{title:"\ud83d\udcb0 Get Controller Funds",permalink:"/general/getting-started/Extension/guides/get-controller-funds"},next:{title:"\ud83d\udc5b Set Wallet Recovery",permalink:"/general/getting-started/Extension/guides/set-wallet-recovery"}},a={},d=[];function l(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"check-extension-version",children:"Check Extension Version"}),"\n",(0,s.jsx)(t.p,{children:"To check your extension version, open the settings of the extension at the upper right corner. Then scroll all the way down to retreive the current version of your browser extension, as described in the picture:"}),"\n",(0,s.jsx)("div",{style:{textAlign:"center"},children:(0,s.jsx)("img",{src:"/img/extension/extension-version.png",alt:"Extension Version",width:"500"})})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var s=n(6540);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b739f50d.5f1a24a9.js b/assets/js/b739f50d.5f1a24a9.js new file mode 100644 index 00000000..914e108e --- /dev/null +++ b/assets/js/b739f50d.5f1a24a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[741],{9013:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>t,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(4848),i=n(8453);const s={sidebar_label:"\ud83d\udd10 Controllers",sidebar_position:2,description:"LUKSO Support: Universal Profile Controllers"},t="Controllers",l={id:"Extension/controllers",title:"Controllers",description:"LUKSO Support: Universal Profile Controllers",source:"@site/docs/Extension/controllers.md",sourceDirName:"Extension",slug:"/Extension/controllers",permalink:"/Extension/controllers",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/controllers.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udd10 Controllers",sidebar_position:2,description:"LUKSO Support: Universal Profile Controllers"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udc49\ud83c\udffb Introduction",permalink:"/Extension/introduction"},next:{title:"\u2699\ufe0f Common Errors",permalink:"/Extension/common-errors"}},a={},c=[{value:"What are the controllers of the Universal Profile?",id:"what-are-the-controllers-of-the-universal-profile",level:2},{value:"What happens during imports and recovery?",id:"what-happens-during-imports-and-recovery",level:2},{value:"How can I add 2FA recovery to an existing Universal Profile?",id:"how-can-i-add-2fa-recovery-to-an-existing-universal-profile",level:2},{value:"Can I use a regular wallet to control my Universal Profile?",id:"can-i-use-a-regular-wallet-to-control-my-universal-profile",level:2},{value:"Can I use an existing EOA to control my Universal Profile?",id:"can-i-use-an-existing-eoa-to-control-my-universal-profile",level:2},{value:"What are the default permissions of the controllers?",id:"what-are-the-default-permissions-of-the-controllers",level:2},{value:"Can I add a Ledger account as a controller of my profile?",id:"can-i-add-a-ledger-account-as-a-controller-of-my-profile",level:2},{value:"How can I remove controllers and permissions?",id:"how-can-i-remove-controllers-and-permissions",level:2}];function d(e){const r={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components},{Details:s}=r;return s||function(e,r){throw new Error("Expected "+(r?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"controllers",children:"Controllers"}),"\n",(0,o.jsx)(r.h2,{id:"what-are-the-controllers-of-the-universal-profile",children:"What are the controllers of the Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["Each Universal Profile within an extension holds a separate private key to send transactions on behalf of the user, e.g., controlling it. Such controllers can be exported, added, or removed. The controllers can be found within the ",(0,o.jsx)(r.strong,{children:"Controllers"})," window of the extension:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"../../../../static/img/extension/controller-window.png",alt:"Controller Window",width:"400"})}),"\n",(0,o.jsx)(r.p,{children:"After the initial creation, there can be up to 3 controllers:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"The Universal Profile Browser Extension (used for profile interactions)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Receiver (used to write asset updates on the profile)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Profile Recovery (used as a backup for the profile)"}),"\n"]}),"\n",(0,o.jsxs)(r.admonition,{title:"Controller Names",type:"info",children:[(0,o.jsxs)(r.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,o.jsx)(r.strong,{children:"UP Extension"})," or have the ",(0,o.jsx)(r.strong,{children:"name of it's blockchain address"}),". The recovery controller can either be named ",(0,o.jsx)(r.strong,{children:"UP Recovery"}),", ",(0,o.jsx)(r.strong,{children:"Create and manage your UP"}),", or ",(0,o.jsx)(r.strong,{children:"recovery-up"}),". Every controller can be ",(0,o.jsx)(r.em,{children:"renamed locally"})," in your extension at any time."]}),(0,o.jsx)("img",{src:"../../../../static/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,o.jsx)(r.h2,{id:"what-happens-during-imports-and-recovery",children:"What happens during imports and recovery?"}),"\n",(0,o.jsxs)(r.p,{children:["If you ",(0,o.jsx)(r.strong,{children:"import or recover"})," your Universal Profile, it will result in the addition of another ",(0,o.jsx)(r.strong,{children:"UP Extension"})," controller. Each extension controller has ",(0,o.jsx)(r.strong,{children:"individual permissions"}),". Adding a new controller is done automatically using a transaction, either coming from the 2FA recovery service or sending a transaction from a previously added controller with sufficient permissions. If you never set up 2FA, please ensure that you reveal the private key of an original extension within the ",(0,o.jsx)(r.em,{children:"Settings"})," screen. This backup file will guarantee access to the profile later on."]}),"\n",(0,o.jsxs)(r.admonition,{type:"danger",children:[(0,o.jsxs)(r.p,{children:["Please do not ",(0,o.jsx)(r.strong,{children:"reinstall or reset"})," your extension if you do not have either of the following safeguards:"]}),(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/Extension/guides/check-2fa-recovery",children:"2FA Recovery set up correctly"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/set-wallet-recovery",children:"Wallet Recovery"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"/Extension/guides/create-backup",children:"Revealed the private key using File Export"})}),"\n",(0,o.jsx)(r.li,{children:"Access to the profile within another extension"}),"\n"]}),(0,o.jsxs)(r.p,{children:["Otherwise, ",(0,o.jsx)(r.strong,{children:"you will not be able to access your profile, including LYX and assets"}),", as no new controller can be added without a transaction from one of the existing ones. Not having access to a working controller will cause endless import screens, waiting for a recovery transaction that can never be signed."]})]}),"\n",(0,o.jsx)(r.h2,{id:"how-can-i-add-2fa-recovery-to-an-existing-universal-profile",children:"How can I add 2FA recovery to an existing Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["To check the 2FA recovery status and add 2FA, please visit the dashboard on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". The Universal Profile card will show the current ",(0,o.jsx)(r.strong,{children:"2FA recovery status"})," at the top right corner. If 2FA has not been added yet, continue by clicking the ",(0,o.jsx)(r.strong,{children:"Add Recovery"})," button."]}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"2FA Recovery Dashboard",src:n(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,o.jsxs)(r.admonition,{type:"warning",children:[(0,o.jsx)(r.p,{children:"Each extension has its own controller, and each controller has its own private key. Any controller is sufficient for recovering your Universal Profile as long as it has the right permissions."}),(0,o.jsxs)(r.p,{children:["After the recovery process, you will see in the extension the private key corresponsing to the ",(0,o.jsx)(r.strong,{children:"current"})," controller. The initial controller which was in your first browser extension is not carried over during the recovery process. Therefore, ",(0,o.jsx)(r.strong,{children:"before performing recovery please make sure to back up your private key, otherwise any funds associated with the initial controller will be lost"}),"."]})]}),"\n",(0,o.jsx)(r.admonition,{type:"info",children:(0,o.jsxs)(r.p,{children:["The 2FA recovery feature is only available for Universal Profiles directly created on ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"universalprofile.cloud"})," and that can still be accessed within a Universal Profile Browser Extension. If you lost access before adding 2FA recovery, you can only recover the Universal Profile by using ",(0,o.jsx)(r.strong,{children:"File Backup"}),"."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Dashboard Refresh",type:"note",children:(0,o.jsxs)(r.p,{children:["If the dashboard is not showing the ",(0,o.jsx)(r.em,{children:"recovery indicators"})," or ",(0,o.jsx)(r.em,{children:"Add Recovery"})," button, please ",(0,o.jsx)(r.strong,{children:"refresh or disconnect"})," and log-in again using your Universal Profile Browser Extension."]})}),"\n",(0,o.jsx)(r.h2,{id:"can-i-use-a-regular-wallet-to-control-my-universal-profile",children:"Can I use a regular wallet to control my Universal Profile?"}),"\n",(0,o.jsxs)(r.p,{children:["As a developer, you can connect a regular wallet to the network where the Universal Profile was deployed and ",(0,o.jsx)(r.strong,{children:"manually add its EOA"})," as a controller. You will then have to send all transactions through the ",(0,o.jsx)(r.a,{href:"https://docs.lukso.tech/standards/universal-profile/lsp6-key-manager",children:"Key Manager"})," of the Universal Profile to execute them as your persona. However, we recommend directly using the ",(0,o.jsx)(r.a,{href:"https://docs.lukso.tech/install-up-browser-extension",children:"Universal Profile Extension"})," to interact with dApps on LUKSO."]}),"\n",(0,o.jsx)(r.h2,{id:"can-i-use-an-existing-eoa-to-control-my-universal-profile",children:"Can I use an existing EOA to control my Universal Profile?"}),"\n",(0,o.jsx)(r.p,{children:"You can add any new or existing Externally Owned Account as a controller to your deployed Universal Profile of a specific chain. This also includes already existing keys from wallets. However, please remember that your previous assets and token remain on the EOA address."}),"\n",(0,o.jsx)(r.h2,{id:"what-are-the-default-permissions-of-the-controllers",children:"What are the default permissions of the controllers?"}),"\n",(0,o.jsx)(r.p,{children:"If you want to reset the controller permissions to their initial state, you can set the permissions to the default values described in the following pictures:"}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Profile Extension"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Profile Extension",src:n(1262).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Receiver"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Receiver",src:n(7642).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Show default permissions of the Universal Profile Recovery"}),(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Default Permissions of the Universal Profile Recovery",src:n(7376).A+"",width:"1128",height:"814"})})]}),"\n",(0,o.jsx)(r.h2,{id:"can-i-add-a-ledger-account-as-a-controller-of-my-profile",children:"Can I add a Ledger account as a controller of my profile?"}),"\n",(0,o.jsxs)(r.p,{children:["Yes, you can add blockchain accounts or hardware wallets (like Ledger or Trezor) for recovery using the ",(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/set-wallet-recovery",children:"Wallet Recovery Setup"}),"."]}),"\n",(0,o.jsx)(r.h2,{id:"how-can-i-remove-controllers-and-permissions",children:"How can I remove controllers and permissions?"}),"\n",(0,o.jsxs)(r.p,{children:["To remove permissions, use the extension to view all controllers with permissions on the profile. You can toggle off permissions individually. Controllers can not be removed completely via the extension. Controllers without permissions will continue to show but with a ",(0,o.jsx)(r.code,{children:"No control"})," label."]}),"\n",(0,o.jsx)(r.admonition,{title:"Upcoming Feature",type:"success",children:(0,o.jsxs)(r.p,{children:["The team is currently working on a feature request to ",(0,o.jsx)(r.em,{children:"completely remove old controllers"}),", not only their individual permissions."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Changing Permissions",type:"caution",children:(0,o.jsxs)(r.p,{children:["Be cautious when modifying permissions, as this might restrict access for recovery methods or extensions. For reference, you can look at the ",(0,o.jsx)(r.a,{href:"#what-are-the-default-permissions-of-the-controllers",children:"default permissions"})," of all the different controllers."]})})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},7642:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-universal-receiver-a17919d15b4554985e2614a3436123f6.png"},1262:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-up-extension-5a7476939cd67496b96c261ad1c48cc7.png"},7376:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/default-permission-up-recovery-7f90bfbb19d64151adb857c94d92662f.png"},2724:(e,r,n)=>{n.d(r,{A:()=>o});const o=n.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},8453:(e,r,n)=>{n.d(r,{R:()=>t,x:()=>l});var o=n(6540);const i={},s=o.createContext(i);function t(e){const r=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),o.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b91ed688.73903718.js b/assets/js/b91ed688.73903718.js new file mode 100644 index 00000000..8145371b --- /dev/null +++ b/assets/js/b91ed688.73903718.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[640],{6196:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(4848),r=n(8453);const s={sidebar_label:"\ud83d\udcb0 Get Controller Funds",sidebar_position:4,description:"Extension Support: Get Controller Funds"},i="Get Controller Funds",l={id:"Extension/guides/get-controller-funds",title:"Get Controller Funds",description:"Extension Support: Get Controller Funds",source:"@site/docs/Extension/guides/get-controller-funds.md",sourceDirName:"Extension/guides",slug:"/Extension/guides/get-controller-funds",permalink:"/Extension/guides/get-controller-funds",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/guides/get-controller-funds.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:4,frontMatter:{sidebar_label:"\ud83d\udcb0 Get Controller Funds",sidebar_position:4,description:"Extension Support: Get Controller Funds"},sidebar:"ExtensionSidebar",previous:{title:"\ud83d\udcb8 Fund Controller",permalink:"/Extension/guides/fund-controller"},next:{title:"#\ufe0f\u20e3 Check Extension Version",permalink:"/Extension/guides/check-extension-version"}},a={},c=[];function d(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"get-controller-funds",children:"Get Controller Funds"}),"\n",(0,o.jsxs)(t.p,{children:["There is currently no way to get back funds from the controller directly within the extension. If you want to pay for your transactions instead of using any Relay Service, we recommend only sending minimal LYX, e.g., ",(0,o.jsx)(t.code,{children:"0.1 LYX"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["However, as the controllers of your Universal Profile are regular wallet accounts, these can be imported into any other Ethereum wallet with custom network support. To get back funds from a controller, please open the ",(0,o.jsx)(t.em,{children:"Settings"})," on the top right and reveal your private keys of your extension controllers:"]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/reveal-private-key.png",alt:"Reveal Private Keys",width:"400"})})}),"\n",(0,o.jsx)(t.admonition,{title:"Controller Export",type:"caution",children:(0,o.jsxs)(t.p,{children:["Every profile within the Universal Profile Extension has separate controllers. If you manage multiple Universal Profiles within the extension, make sure to select the correct controller's private key. ",(0,o.jsx)(t.strong,{children:"Never share the revealed private keys with anyone"}),"."]})}),"\n",(0,o.jsxs)(t.p,{children:["After you receive your private key, import this account to an Ethereum wallet with custom network support (e.g., MetaMask). Within the wallet, ",(0,o.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add the LUKSO network"})," using the official network parameters. You will see the controller's funds after the network is added and selected. You can continue copying your Universal Profile's address and sending the LYX back. The imported account can be removed from the wallet after completing this process."]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var o=n(6540);const r={},s=o.createContext(r);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/be8fc596.be87bd6e.js b/assets/js/be8fc596.be87bd6e.js deleted file mode 100644 index 5f0d6445..00000000 --- a/assets/js/be8fc596.be87bd6e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[479],{9177:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=n(4848),o=n(8453);const s={sidebar_label:"\ud83d\udd04 Transaction Process",sidebar_position:3,description:"LUKSO Migration: Transaction Process"},i="Migration Process",r={id:"general/l14-and-lyxe/migration/transaction-process",title:"Migration Process",description:"LUKSO Migration: Transaction Process",source:"@site/docs/general/l14-and-lyxe/migration/transaction-process.md",sourceDirName:"general/l14-and-lyxe/migration",slug:"/general/l14-and-lyxe/migration/transaction-process",permalink:"/general/l14-and-lyxe/migration/transaction-process",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-and-lyxe/migration/transaction-process.md",tags:[],version:"current",lastUpdatedAt:1717079656e3,sidebarPosition:3,frontMatter:{sidebar_label:"\ud83d\udd04 Transaction Process",sidebar_position:3,description:"LUKSO Migration: Transaction Process"},sidebar:"generalSidebar",previous:{title:"\ud83d\udc5d Supported Wallets",permalink:"/general/l14-and-lyxe/migration/supported-wallets"},next:{title:"\ud83c\udfe6 Migration on Exchanges",permalink:"/general/l14-and-lyxe/migration/migration-on-exchanges"}},l={},c=[{value:"Will it be possible to migrate LYX back to LYXe?",id:"will-it-be-possible-to-migrate-lyx-back-to-lyxe",level:2},{value:"How long does it take to migrate my LYXe?",id:"how-long-does-it-take-to-migrate-my-lyxe",level:2},{value:"What happens with LYXe sent to the LYXe contract?",id:"what-happens-with-lyxe-sent-to-the-lyxe-contract",level:2},{value:"How can I make sure that the migration was successful?",id:"how-can-i-make-sure-that-the-migration-was-successful",level:2},{value:"I cannot see the LYX in my wallet after the migration",id:"i-cannot-see-the-lyx-in-my-wallet-after-the-migration",level:2},{value:"What can I do when my transaction status stalls?",id:"what-can-i-do-when-my-transaction-status-stalls",level:2}];function h(e){const t={a:"a",h1:"h1",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"migration-process",children:"Migration Process"}),"\n",(0,a.jsx)(t.h2,{id:"will-it-be-possible-to-migrate-lyx-back-to-lyxe",children:"Will it be possible to migrate LYX back to LYXe?"}),"\n",(0,a.jsxs)(t.p,{children:["No, the official ",(0,a.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"LUKSO Migration Bridge"})," acts as a 1-Way-Bridge to migrate LYXe to LYX. A single locking transaction on the Ethereum blockchain automatically triggers the transfer of an equal amount of LYX on the LUKSO blockchain."]}),"\n",(0,a.jsx)(t.h2,{id:"how-long-does-it-take-to-migrate-my-lyxe",children:"How long does it take to migrate my LYXe?"}),"\n",(0,a.jsx)(t.p,{children:"The token migration usually takes about 10-15min for the transaction to be finalized and the LYX sent to the wallet on the LUKSO mainnet. This time is needed to ensure security throughout every step."}),"\n",(0,a.jsx)(t.h2,{id:"what-happens-with-lyxe-sent-to-the-lyxe-contract",children:"What happens with LYXe sent to the LYXe contract?"}),"\n",(0,a.jsxs)(t.p,{children:["Any account that accidentally sent LYXe to the ",(0,a.jsx)(t.a,{href:"https://etherscan.io/token/0xA8b919680258d369114910511cc87595aec0be6D",children:"LYXe Token address"})," on Ethereum will ",(0,a.jsx)(t.a,{href:"https://medium.com/lukso/the-lyxe-migration-process-374053e5ddf5",children:"receive the equal amount of LYX"})," on the LUKSO Blockchain."]}),"\n",(0,a.jsx)(t.h2,{id:"how-can-i-make-sure-that-the-migration-was-successful",children:"How can I make sure that the migration was successful?"}),"\n",(0,a.jsxs)(t.p,{children:["You can check your LYX balance using the ",(0,a.jsx)(t.a,{href:"https://explorer.execution.testnet.lukso.network/",children:"LUKSO Mainnet Block Explorer"}),", searching for your address."]}),"\n",(0,a.jsx)(t.h2,{id:"i-cannot-see-the-lyx-in-my-wallet-after-the-migration",children:"I cannot see the LYX in my wallet after the migration"}),"\n",(0,a.jsxs)(t.p,{children:["If you want to see the LYX balance displayed in your wallet, you can add LUKSO to your wallet as a custom network using the details from ",(0,a.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters",children:"Network Properties"}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"what-can-i-do-when-my-transaction-status-stalls",children:"What can I do when my transaction status stalls?"}),"\n",(0,a.jsxs)(t.p,{children:["The migration transaction might be correctly executed on Ethereum and LUKSO, but the status is not updated on the ",(0,a.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"migration application"})," in the browser. If you want to send a new transaction and already verified that the transaction has been executed, please reset ",(0,a.jsx)(t.a,{href:"https://support.google.com/accounts/answer/32050?hl=en&co=GENIE.Platform%3DDesktop",children:"your browser history"})," and re-open the page. You will be brought to the home screen again without any pending state."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>r});var a=n(6540);const o={},s=a.createContext(o);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.576dd473.js b/assets/js/c4f5d8e4.576dd473.js deleted file mode 100644 index 3b023b52..00000000 --- a/assets/js/c4f5d8e4.576dd473.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[634],{5140:(e,n,t)=>{t.r(n),t.d(n,{default:()=>p});t(6540);var i=t(9201);const s="container_mm4O",r="cardContainer_psBL";var a=t(8774);const c={card:"card_bqAC",img:"img_sOM0"};var l=t(4848);function o(e){let{icon:n,link:t,title:i,content:s,className:r}=e;return(0,l.jsx)(a.A,{style:{textDecoration:"none",textAlign:"center"},to:t,children:(0,l.jsxs)("div",{className:`${c.card} ${r}`,children:[(0,l.jsx)("div",{className:`${c.img} img`,style:{backgroundImage:"url("+n+")"}}),(0,l.jsx)("h3",{children:i}),(0,l.jsx)("p",{children:s})]})})}const d={headline:"headline__mor"};function h(){return(0,l.jsxs)("div",{className:`${d.headline} headline`,children:[(0,l.jsx)("h1",{style:{fontWeight:"normal",lineHeight:"1.1rem"},children:"Welcome to the"}),(0,l.jsx)("h1",{style:{fontWeight:"bold"},children:"LUKSO Support Center"})]})}const g=t.p+"assets/images/icon-general-gradient-6b61b19c6b0319ff990058d96dbdf08b.png",m=t.p+"assets/images/icon-migration-gradient-333f6c002d8842bedd779a50aec0d883.png";const p=function(){return(0,l.jsx)(i.A,{description:"LUKSO Support Center",children:(0,l.jsxs)("div",{className:s,children:[(0,l.jsx)(h,{}),(0,l.jsxs)("div",{className:r,children:[(0,l.jsx)(o,{icon:g,link:"./general/introduction",title:"General",className:"general",content:"Get help related to wallet support and network interactions"}),(0,l.jsx)(o,{icon:m,link:"./general/l14-and-lyxe/migration/introduction",title:"LYXe Migration",className:"migration",content:"Get help on the LYXe migration service"})]})]})})}}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.78b698b9.js b/assets/js/c4f5d8e4.78b698b9.js new file mode 100644 index 00000000..529cbc6c --- /dev/null +++ b/assets/js/c4f5d8e4.78b698b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[634],{4792:(e,n,t)=>{t.r(n),t.d(n,{default:()=>x});t(6540);var i=t(9201);const s="container_mm4O",r="cardContainer_psBL";var a=t(8774);const c={card:"card_bqAC",img:"img_sOM0"};var o=t(4848);function l(e){let{icon:n,link:t,title:i,content:s,className:r}=e;return(0,o.jsx)(a.A,{style:{textDecoration:"none",textAlign:"center"},to:t,children:(0,o.jsxs)("div",{className:`${c.card} ${r}`,children:[(0,o.jsx)("div",{className:`${c.img} img`,style:{backgroundImage:"url("+n+")"}}),(0,o.jsx)("h3",{children:i}),(0,o.jsx)("p",{children:s})]})})}const d={headline:"headline__mor"};function h(){return(0,o.jsxs)("div",{className:`${d.headline} headline`,children:[(0,o.jsx)("h1",{style:{fontWeight:"normal",lineHeight:"1.1rem"},children:"Welcome to the"}),(0,o.jsx)("h1",{style:{fontWeight:"bold"},children:"LUKSO Support Center"})]})}const g=t.p+"assets/images/icon-general-gradient-6b61b19c6b0319ff990058d96dbdf08b.png",m=t.p+"assets/images/icon-extension-gradient-ebea61552ac7ca45dc72d85427186617.png",p=t.p+"assets/images/icon-migration-gradient-333f6c002d8842bedd779a50aec0d883.png";const x=function(){return(0,o.jsx)(i.A,{description:"LUKSO Support Center",children:(0,o.jsxs)("div",{className:s,children:[(0,o.jsx)(h,{}),(0,o.jsxs)("div",{className:r,children:[(0,o.jsx)(l,{icon:g,link:"./general/introduction",title:"General",className:"general",content:"Get help related to wallet support and network interactions"}),(0,o.jsx)(l,{icon:m,link:"./Extension/introduction",title:"Extension",className:"Extension",content:"Get help related to Universal Profiles browser extension"}),(0,o.jsx)(l,{icon:p,link:"./migration/introduction",title:"LYXe Migration",className:"migration",content:"Get help on the LYXe migration service"})]})]})})}}}]); \ No newline at end of file diff --git a/assets/js/cdba9936.015fb88c.js b/assets/js/cdba9936.015fb88c.js new file mode 100644 index 00000000..6109e6a5 --- /dev/null +++ b/assets/js/cdba9936.015fb88c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[172],{7531:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>u});var i=t(4848),r=t(8453);const s={sidebar_label:"February 2024",sidebar_position:2,description:"LUKSO Support: Migration Delay February 2024"},o="February 2024",a={id:"migration/incidents/february",title:"February 2024",description:"LUKSO Support: Migration Delay February 2024",source:"@site/docs/migration/incidents/february.md",sourceDirName:"migration/incidents",slug:"/migration/incidents/february",permalink:"/migration/incidents/february",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/incidents/february.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:2,frontMatter:{sidebar_label:"February 2024",sidebar_position:2,description:"LUKSO Support: Migration Delay February 2024"},sidebar:"migrationSidebar",previous:{title:"\ud83c\udfe6 Migration on Exchanges",permalink:"/migration/migration-on-exchanges"},next:{title:"January 2024",permalink:"/migration/incidents/january"}},c={},u=[];function d(e){const n={admonition:"admonition",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"february-2024",children:"February 2024"}),"\n",(0,i.jsx)(n.admonition,{title:"Resolved",type:"success",children:(0,i.jsx)(n.p,{children:"This incident has been resolved on the 6th of February 2024 at 1:30pm UTC"})}),"\n",(0,i.jsx)(n.p,{children:"On the 4th of February 2024, issues with our blockchain RPC provider (TIMEOUT) was causing increasing delays in synchronising with source and target chains."}),"\n",(0,i.jsx)(n.p,{children:"We have fixed the issue by improving the cloud provider NAT settings."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Feb 6th, 1:30pm UTC: all systems are operational again \u2705"})}),"\n"]})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d680fe7e.1a7f2e30.js b/assets/js/d680fe7e.1a7f2e30.js new file mode 100644 index 00000000..d84a050e --- /dev/null +++ b/assets/js/d680fe7e.1a7f2e30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[610],{2332:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>a});var r=o(4848),t=o(8453);const i={sidebar_label:"\ud83d\udd11 Controller Recovery Incident",sidebar_position:1,description:"LUKSO Support: Controller Recovery Incident Jan 2024"},s="Controller Recovery Incident",l={id:"Extension/incidents/controller-recovery",title:"Controller Recovery Incident",description:"LUKSO Support: Controller Recovery Incident Jan 2024",source:"@site/docs/Extension/incidents/controller-recovery.md",sourceDirName:"Extension/incidents",slug:"/Extension/incidents/controller-recovery",permalink:"/Extension/incidents/controller-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/Extension/incidents/controller-recovery.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udd11 Controller Recovery Incident",sidebar_position:1,description:"LUKSO Support: Controller Recovery Incident Jan 2024"},sidebar:"ExtensionSidebar",previous:{title:"#\ufe0f\u20e3 Check Extension Version",permalink:"/Extension/guides/check-extension-version"}},c={},a=[{value:"Actions taken",id:"actions-taken",level:2},{value:"Upcoming actions",id:"upcoming-actions",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"controller-recovery-incident",children:"Controller Recovery Incident"}),"\n",(0,r.jsxs)(n.p,{children:["Following up to the enormous increase in downloads and extension users bedinning of 2024, the team discovered a controller malfunction on the 11th of January 2024. This resulted in controllers of the extensions not properly being added to the Universal Profile on ",(0,r.jsx)(n.strong,{children:"recovery"})," or ",(0,r.jsx)(n.strong,{children:"import"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"If you experienced issues with the extension after recovery or import, we highly recommend:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"revealing the private keys of all your extensions and keeping them in a safe place as a personal backup"}),"\n",(0,r.jsx)(n.li,{children:"check if you set up 2FA correctly using our 2FA Controller Guide"}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"danger",children:(0,r.jsx)(n.p,{children:"If you have issues with the Universal Profile Browser Extension or Relay Services, please do not delete or reinstall the extension. Doing so could risk the recovery of your profile, as it will clear all private keys that might still be accessable."})}),"\n",(0,r.jsx)(n.h2,{id:"actions-taken",children:"Actions taken"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Jan 12th, 2pm UTC: recovery and import functionality have been disabled (version ",(0,r.jsx)(n.code,{children:"3.0.0-beta.6"}),")."]}),"\n",(0,r.jsxs)(n.li,{children:["Jan 13th, 4pm UTC: released a ",(0,r.jsx)(n.strong,{children:"bugfix"})," for the Universal Profile Browser Extension (version ",(0,r.jsx)(n.code,{children:"3.0.0-beta.7"}),")"]}),"\n",(0,r.jsx)(n.li,{children:"Jan 16th, 6pm UTC: a video guide has been released on how to recover a Universal Profile"}),"\n"]}),"\n",(0,r.jsx)("div",{class:"video-container",children:(0,r.jsx)("iframe",{src:"https://www.youtube.com/embed/rbIqA7N6Fn4?si=2mfC8_0AG6JD-7e3",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,r.jsx)(n.admonition,{type:"caution",children:(0,r.jsxs)(n.p,{children:["This bugfix only works for new recoveries using version ",(0,r.jsx)(n.code,{children:"3.0.0-beta.7"})," and above. If you have already attempted a recovery and have a non-working profile in your extension, please wait. We are working on additional updates and tools, allowing you to be able to re-gain access errors in some other cases."]})}),"\n",(0,r.jsx)(n.h2,{id:"upcoming-actions",children:"Upcoming actions"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Our team is actively working on a tool to manually manage and add controllers to the Universal Profile."}),"\n",(0,r.jsx)(n.li,{children:"Our team is actively working on a file import feature, allowing to recover from the revealed private keys."}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsxs)(n.p,{children:["For personal support, please get in touch with us via ",(0,r.jsx)(n.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})]})})]})}function u(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>l});var r=o(6540);const t={},i=r.createContext(t);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d81817d1.92ccb2c4.js b/assets/js/d81817d1.92ccb2c4.js new file mode 100644 index 00000000..312b9e80 --- /dev/null +++ b/assets/js/d81817d1.92ccb2c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[289],{8858:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var t=n(4848),s=n(8453);const r={sidebar_label:"\u2753 FAQ",sidebar_position:6,description:"Frequently asked questions"},l="FAQ",i={id:"general/faq/faq",title:"FAQ",description:"Frequently asked questions",source:"@site/docs/general/faq/faq.md",sourceDirName:"general/faq",slug:"/general/faq/",permalink:"/general/faq/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/faq/faq.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:6,frontMatter:{sidebar_label:"\u2753 FAQ",sidebar_position:6,description:"Frequently asked questions"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd12 Security",permalink:"/general/security"},next:{title:"\u26d3\ufe0f L14 Network",permalink:"/general/l14-network"}},a={},d=[{value:"Does LUKSO have a grants program?",id:"does-lukso-have-a-grants-program",level:2},{value:"Why can't I delete my old private keys?",id:"why-cant-i-delete-my-old-private-keys",level:2},{value:"Why I can't I see all my controllers?",id:"why-i-cant-i-see-all-my-controllers",level:2},{value:"Why can't I delete profiles from the extension?",id:"why-cant-i-delete-profiles-from-the-extension",level:2},{value:"Why does my NFT not show up on UniversalProfile.cloud?",id:"why-does-my-nft-not-show-up-on-universalprofilecloud",level:2},{value:"Why does my profile show as anonymous?",id:"why-does-my-profile-show-as-anonymous",level:2}];function c(e){const o={a:"a",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"faq",children:"FAQ"}),"\n",(0,t.jsx)(o.h2,{id:"does-lukso-have-a-grants-program",children:"Does LUKSO have a grants program?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, absolutely! Please go to our main ",(0,t.jsx)(o.a,{href:"https://lukso.network/grants",children:"grants program page"})," for more information and to apply!"]}),"\n",(0,t.jsx)(o.h2,{id:"why-cant-i-delete-my-old-private-keys",children:"Why can't I delete my old private keys?"}),"\n",(0,t.jsxs)(o.p,{children:["At the moment, the Universal Profile Browser Extension only allows to disable permissions of old controller keys. If you want to improve security, please disable all permissions of an old controller. You can learn more within the ",(0,t.jsx)(o.a,{href:"/Extension/controllers",children:"Controllers"})," page. Soon, there will be a feature to manually remove controllers completely."]}),"\n",(0,t.jsx)(o.h2,{id:"why-i-cant-i-see-all-my-controllers",children:"Why I can't I see all my controllers?"}),"\n",(0,t.jsx)(o.p,{children:"If you remove all permissions of a controller, it will be automatically hidden within the extension. If you want to temporarily disable some permissions of a controller, please leave one minor permission set for now. This behavior will be changed within the future."}),"\n",(0,t.jsx)(o.h2,{id:"why-cant-i-delete-profiles-from-the-extension",children:"Why can't I delete profiles from the extension?"}),"\n",(0,t.jsxs)(o.p,{children:["Right now, you can not remove profiles from the dashboard on ",(0,t.jsx)(o.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," or the Universal Profile Extension. Soon, there will be a feature to clean old profiles."]}),"\n",(0,t.jsx)(o.h2,{id:"why-does-my-nft-not-show-up-on-universalprofilecloud",children:"Why does my NFT not show up on UniversalProfile.cloud?"}),"\n",(0,t.jsxs)(o.p,{children:["If your deployed assets do not appear on your profile on ",(0,t.jsx)(o.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"}),", they may be using outdated InterfaceIDs from deprecated LSP versions. Ensure you are using up-to-date ",(0,t.jsx)(o.a,{href:"https://docs.lukso.tech/contracts/interface-ids",children:"LSP Interface IDs"})," as defined in the ",(0,t.jsx)(o.a,{href:"https://www.npmjs.com/package/@lukso/lsp-smart-contracts",children:"lsp-smart-contracts"})," library."]}),"\n",(0,t.jsx)(o.h2,{id:"why-does-my-profile-show-as-anonymous",children:"Why does my profile show as anonymous?"}),"\n",(0,t.jsxs)(o.p,{children:["Due to some changes in how data is added to the Universal Profile in the early days, it might happen that your profile does not have a name to it or shows completely anonymous on ",(0,t.jsx)(o.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," without any pictures. If you experience such an issue, please ",(0,t.jsx)(o.strong,{children:"edit and deploy your profile metadata"})," again within the Universal Profile Browser Extension as shown in the following picture:"]}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Edit Universal Profile",src:n(1102).A+"",width:"1244",height:"572"})})]})}function h(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1102:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/edit-profile-cedcf58c0ae778d7ca0745cc4678b181.png"},8453:(e,o,n)=>{n.d(o,{R:()=>l,x:()=>i});var t=n(6540);const s={},r=t.createContext(s);function l(e){const o=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d81817d1.e00116dc.js b/assets/js/d81817d1.e00116dc.js deleted file mode 100644 index b5e3cc18..00000000 --- a/assets/js/d81817d1.e00116dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[289],{8858:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var t=n(4848),s=n(8453);const r={sidebar_label:"\u2753 FAQ",sidebar_position:6,description:"Frequently asked questions"},l="FAQ",i={id:"general/faq/faq",title:"FAQ",description:"Frequently asked questions",source:"@site/docs/general/faq/faq.md",sourceDirName:"general/faq",slug:"/general/faq/",permalink:"/general/faq/",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/faq/faq.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:6,frontMatter:{sidebar_label:"\u2753 FAQ",sidebar_position:6,description:"Frequently asked questions"},sidebar:"generalSidebar",previous:{title:"\ud83d\udd12 Security",permalink:"/general/security"},next:{title:"\ud83d\udc6f\u200d\u2642\ufe0f Community",permalink:"/general/community/"}},a={},d=[{value:"Does LUKSO have a grants program?",id:"does-lukso-have-a-grants-program",level:2},{value:"Why can't I delete my old private keys?",id:"why-cant-i-delete-my-old-private-keys",level:2},{value:"Why I can't I see all my controllers?",id:"why-i-cant-i-see-all-my-controllers",level:2},{value:"Why can't I delete profiles from the extension?",id:"why-cant-i-delete-profiles-from-the-extension",level:2},{value:"Why does my NFT not show up on UniversalProfile.cloud?",id:"why-does-my-nft-not-show-up-on-universalprofilecloud",level:2},{value:"Why does my profile show as anonymous?",id:"why-does-my-profile-show-as-anonymous",level:2}];function c(e){const o={a:"a",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"faq",children:"FAQ"}),"\n",(0,t.jsx)(o.h2,{id:"does-lukso-have-a-grants-program",children:"Does LUKSO have a grants program?"}),"\n",(0,t.jsxs)(o.p,{children:["Yes, absolutely! Please go to our main ",(0,t.jsx)(o.a,{href:"https://lukso.network/grants",children:"grants program page"})," for more information and to apply!"]}),"\n",(0,t.jsx)(o.h2,{id:"why-cant-i-delete-my-old-private-keys",children:"Why can't I delete my old private keys?"}),"\n",(0,t.jsxs)(o.p,{children:["At the moment, the Universal Profile Browser Extension only allows to disable permissions of old controller keys. If you want to improve security, please disable all permissions of an old controller. You can learn more within the ",(0,t.jsx)(o.a,{href:"/general/getting-started/Extension/controllers",children:"Controllers"})," page. Soon, there will be a feature to manually remove controllers completely."]}),"\n",(0,t.jsx)(o.h2,{id:"why-i-cant-i-see-all-my-controllers",children:"Why I can't I see all my controllers?"}),"\n",(0,t.jsx)(o.p,{children:"If you remove all permissions of a controller, it will be automatically hidden within the extension. If you want to temporarily disable some permissions of a controller, please leave one minor permission set for now. This behavior will be changed within the future."}),"\n",(0,t.jsx)(o.h2,{id:"why-cant-i-delete-profiles-from-the-extension",children:"Why can't I delete profiles from the extension?"}),"\n",(0,t.jsxs)(o.p,{children:["Right now, you can not remove profiles from the dashboard on ",(0,t.jsx)(o.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," or the Universal Profile Extension. Soon, there will be a feature to clean old profiles."]}),"\n",(0,t.jsx)(o.h2,{id:"why-does-my-nft-not-show-up-on-universalprofilecloud",children:"Why does my NFT not show up on UniversalProfile.cloud?"}),"\n",(0,t.jsxs)(o.p,{children:["If your deployed assets do not appear on your profile on ",(0,t.jsx)(o.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"}),", they may be using outdated InterfaceIDs from deprecated LSP versions. Ensure you are using up-to-date ",(0,t.jsx)(o.a,{href:"https://docs.lukso.tech/contracts/interface-ids",children:"LSP Interface IDs"})," as defined in the ",(0,t.jsx)(o.a,{href:"https://www.npmjs.com/package/@lukso/lsp-smart-contracts",children:"lsp-smart-contracts"})," library."]}),"\n",(0,t.jsx)(o.h2,{id:"why-does-my-profile-show-as-anonymous",children:"Why does my profile show as anonymous?"}),"\n",(0,t.jsxs)(o.p,{children:["Due to some changes in how data is added to the Universal Profile in the early days, it might happen that your profile does not have a name to it or shows completely anonymous on ",(0,t.jsx)(o.a,{href:"https://universalprofile.cloud/",children:"universalprofile.cloud"})," without any pictures. If you experience such an issue, please ",(0,t.jsx)(o.strong,{children:"edit and deploy your profile metadata"})," again within the Universal Profile Browser Extension as shown in the following picture:"]}),"\n",(0,t.jsx)(o.p,{children:(0,t.jsx)(o.img,{alt:"Edit Universal Profile",src:n(1102).A+"",width:"1244",height:"572"})})]})}function h(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1102:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/edit-profile-cedcf58c0ae778d7ca0745cc4678b181.png"},8453:(e,o,n)=>{n.d(o,{R:()=>l,x:()=>i});var t=n(6540);const s={},r=t.createContext(s);function l(e){const o=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dd6295c6.e2a6fad3.js b/assets/js/dd6295c6.e2a6fad3.js new file mode 100644 index 00000000..e0a7843c --- /dev/null +++ b/assets/js/dd6295c6.e2a6fad3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[50],{1813:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>h});var o=n(4848),i=n(8453);const r={sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO LYXe Migration"},a="Support for LYXe Migration",s={id:"migration/introduction",title:"Support for LYXe Migration",description:"Support for LUKSO LYXe Migration",source:"@site/docs/migration/introduction.md",sourceDirName:"migration",slug:"/migration/introduction",permalink:"/migration/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/migration/introduction.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udc49\ud83c\udffb Introduction",sidebar_position:1,description:"Support for LUKSO LYXe Migration"},sidebar:"migrationSidebar",next:{title:"\ud83d\udc5d Supported Wallets",permalink:"/migration/supported-wallets"}},l={},h=[{value:"How can I migrate LYXe to LYX?",id:"how-can-i-migrate-lyxe-to-lyx",level:2},{value:"What is the minimal amount that can be bridged?",id:"what-is-the-minimal-amount-that-can-be-bridged",level:2},{value:"How much will it cost to migrate the LYXe?",id:"how-much-will-it-cost-to-migrate-the-lyxe",level:2},{value:"What can be done about high gas fees on MetaMask?",id:"what-can-be-done-about-high-gas-fees-on-metamask",level:3},{value:"What can I do if my wallet is not showing up?",id:"what-can-i-do-if-my-wallet-is-not-showing-up",level:2},{value:"Where will the LYX be migrated to?",id:"where-will-the-lyx-be-migrated-to",level:2},{value:"How long will the LYXe migration be open for?",id:"how-long-will-the-lyxe-migration-be-open-for",level:2},{value:"Will LYXe be deprecated when migration closes?",id:"will-lyxe-be-deprecated-when-migration-closes",level:2}];function c(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"support-for-lyxe-migration",children:"Support for LYXe Migration"}),"\n",(0,o.jsx)(t.h2,{id:"how-can-i-migrate-lyxe-to-lyx",children:"How can I migrate LYXe to LYX?"}),"\n",(0,o.jsxs)(t.p,{children:["You can migrate LYXe to LYX using the official ",(0,o.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"Migration Bridge"}),". Please check the ",(0,o.jsx)(t.code,{children:"lukso.network"})," domain in order to guarantee that you are on the official app, before connecting your wallet."]}),"\n",(0,o.jsx)(t.h2,{id:"what-is-the-minimal-amount-that-can-be-bridged",children:"What is the minimal amount that can be bridged?"}),"\n",(0,o.jsx)(t.p,{children:"You need at least 1 LYXe within your connected wallet to start the migration. You can send any decimal values."}),"\n",(0,o.jsx)(t.h2,{id:"how-much-will-it-cost-to-migrate-the-lyxe",children:"How much will it cost to migrate the LYXe?"}),"\n",(0,o.jsxs)(t.p,{children:["Since LYXe is managed on Ethereum, you will need some ETH to cover the Gas costs of the transaction when using the migration dApp. The transfer will cost less than 200k Gas, corresponding to ",(0,o.jsx)(t.a,{href:"https://etherscan.io/gastracker",children:"an average"})," of 0,004 ETH. Remember that these prices can fluctuate if the network is at capacity."]}),"\n",(0,o.jsx)(t.h3,{id:"what-can-be-done-about-high-gas-fees-on-metamask",children:"What can be done about high gas fees on MetaMask?"}),"\n",(0,o.jsx)(t.p,{children:'There used to be a frontend glitch which would not round the LYXe amount properly when using the "max button". This would cause the system to try to send slightly more LYXe than the balance of your wallet further causing extremely high gas fees because of an obviously wrong transaction. This issue is now solved and there is no need to round down the value anymore.'}),"\n",(0,o.jsx)(t.p,{children:"If you encounter high gas fees when migrating LYXe to LYX, there could be several reasons for this:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Nonce-related"}),": Please re-try to migrate your LYXe using your browser wallet after ",(0,o.jsx)(t.strong,{children:"resetting your wallet activity"}),". Transaction problems might be related to the nonce not being updated correctly, letting the transaction fail, or raising its gas. Here you can find an example guide: ",(0,o.jsx)(t.a,{href:"https://support.metamask.io/hc/en-us/articles/360015488891-How-to-clear-your-account-activity-reset-account",children:"How to reset the activity on MetaMask"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Gas-related"}),": If you only have a small amount of Ether to pay for the migration on Ethereum, MetaMask may estimate the gas a bit higher than your balance, causing very high gas fees of more than 0.5 ETH, instead of the regular 0.01 ETH. To solve the issue, please ",(0,o.jsx)(t.strong,{children:"make sure your wallet has enough Ether to pay for the transaction"})," at the current ",(0,o.jsx)(t.a,{href:"https://etherscan.io/gastracker",children:"transaction prices"}),". You can also adjust the transaction speed to be on the lower end. You can see ",(0,o.jsx)(t.a,{href:"https://etherscan.io/address/0xdE000042830A211533662637fE66760f1F2cD717#tokentxns",children:"previous deposit transactions"})," to get an overview of fees paid by other users."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"what-can-i-do-if-my-wallet-is-not-showing-up",children:"What can I do if my wallet is not showing up?"}),"\n",(0,o.jsxs)(t.p,{children:["The migration page supports ",(0,o.jsx)(t.a,{href:"/general/supported-wallets/wallet-support",children:"multiple wallets"}),". If you have various wallet extensions installed within your browser, it might happen that instead of MetaMask, other wallets will open up when connecting to ",(0,o.jsx)(t.a,{href:"https://migrate.lukso.network/",children:"migrate.lukso.network"}),". To ",(0,o.jsx)(t.strong,{children:"solve this issue"}),", please temporarily turn off your other wallet extensions within your browser."]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Open the Extension Menu of your browser"}),": Usually, you will be able to access the extension menu by clicking the 3-Dot-Menu on\nthe top right corner, and selecting ",(0,o.jsx)(t.em,{children:"Extensions"})," or ",(0,o.jsx)(t.em,{children:"Manage Extensions"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Temporary toggle off unused wallets"}),": You can disable other wallets, only keeping the one you would like to use for migration"]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"After the migration is successful, you can enable other wallets again."}),"\n",(0,o.jsx)(t.h2,{id:"where-will-the-lyx-be-migrated-to",children:"Where will the LYX be migrated to?"}),"\n",(0,o.jsx)(t.p,{children:"The LYX will be sent to the same blockchain address (account/wallet) used during the migration. Within supported exchanges, the accounts will automatically be updated from LYXe to LYX if they have not been manually transferred to external wallets."}),"\n",(0,o.jsx)(t.h2,{id:"how-long-will-the-lyxe-migration-be-open-for",children:"How long will the LYXe migration be open for?"}),"\n",(0,o.jsxs)(t.p,{children:["The migration process started on the 4th of July, 2023. As stated in the ",(0,o.jsx)(t.a,{href:"https://medium.com/lukso/the-lyxe-migration-process-374053e5ddf5",children:"Migration Article"})," the bridge is planned to stay open up to 4 years until July 2027, allowing anyone to migrate. The Foundation for the New Creative Economies can pause the migration bridge. Please refer to the official announcements from the ",(0,o.jsx)(t.a,{href:"https://twitter.com/lukso_io",children:"LUKSO Twitter Account"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"will-lyxe-be-deprecated-when-migration-closes",children:"Will LYXe be deprecated when migration closes?"}),"\n",(0,o.jsxs)(t.p,{children:["Since LYXe is the official representation of LYX on Ethereum that was used to power off the ",(0,o.jsx)(t.a,{href:"https://medium.com/lukso/re-launching-the-reversible-ico-5289989ce7ed",children:"rICO"}),", the token itself will exist forever. However, we can not guarantee any price differences from LYXe to LYX after they can not be migrated anymore."]})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>s});var o=n(6540);const i={},r=o.createContext(i);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e25ea6ac.83ad568f.js b/assets/js/e25ea6ac.83ad568f.js deleted file mode 100644 index 8027bf57..00000000 --- a/assets/js/e25ea6ac.83ad568f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[445],{9467:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=s(4848),n=s(8453);const i={sidebar_label:"\ud83d\udd12 Security",sidebar_position:5,description:"Support for Universal Profile Security"},o="Security",a={id:"general/security",title:"Security",description:"Support for Universal Profile Security",source:"@site/docs/general/security.md",sourceDirName:"general",slug:"/general/security",permalink:"/general/security",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/security.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:5,frontMatter:{sidebar_label:"\ud83d\udd12 Security",sidebar_position:5,description:"Support for Universal Profile Security"},sidebar:"generalSidebar",previous:{title:"\u26d3\ufe0f L14 Network",permalink:"/general/l14-and-lyxe/l14-network"},next:{title:"\u2753 FAQ",permalink:"/general/faq/"}},l={},c=[{value:"How safe are assets stored within a Universal Profile?",id:"how-safe-are-assets-stored-within-a-universal-profile",level:2},{value:"Why should I use the Universal Profile Extension?",id:"why-should-i-use-the-universal-profile-extension",level:2},{value:"How can I access my Universal Profile if I lost my 2FA code?",id:"how-can-i-access-my-universal-profile-if-i-lost-my-2fa-code",level:2}];function d(e){const t={h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"security",children:"Security"}),"\n",(0,r.jsx)(t.h2,{id:"how-safe-are-assets-stored-within-a-universal-profile",children:"How safe are assets stored within a Universal Profile?"}),"\n",(0,r.jsxs)(t.p,{children:["The safety of a Universal Profile ",(0,r.jsx)(t.strong,{children:"depends on the security steps taken by its owner"}),". If only one EOA controller owns the profile, the security level is equivalent to regular EOA wallets. If a more secure access control system is built and multiple controllers are added with different permissions, the security level of the Universal Profile would be ",(0,r.jsx)(t.strong,{children:"as robust as a multi-signature wallet"}),". Also, custom ownership contracts can be added as controllers. In essence, the security of a UP directly corresponds to the security measures put in place by the owner."]}),"\n",(0,r.jsx)(t.h2,{id:"why-should-i-use-the-universal-profile-extension",children:"Why should I use the Universal Profile Extension?"}),"\n",(0,r.jsxs)(t.p,{children:["The Universal Profile Extension offers several advantages over traditional wallet services like MetaMask or Rainbow. Regular wallets only manage the cryptographic key-pair, the blockchain account. The account is only secured by a static private seed phrase that can't ",(0,r.jsx)(t.strong,{children:"be changed or exposed"}),". If the phrase is leaked or lost, all your digital assets and reputation associated with the account ",(0,r.jsx)(t.strong,{children:"would be lost with it"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"In addition, regular accounts lack some of the the functionality of UPs such as the ability to attach additional information to your profile, react on transfers, social recovery and transaction relay services."}),"\n",(0,r.jsxs)(t.p,{children:["Universal Profiles help bring ",(0,r.jsx)(t.strong,{children:"convenience"})," and ",(0,r.jsx)(t.strong,{children:"user-friendliness"})," into the blockchain space. They are ",(0,r.jsx)(t.strong,{children:"robust and flexible"})," smart contract-based accounts that support features like social recovery, relay transactions, rights management, upgradeable security, and attachable data right out of the box. Since they consist of programmable and modular smart contracts, they even allow upgrading these accounts with enhanced functionalities."]}),"\n",(0,r.jsxs)(t.p,{children:["In essence, using UniversalProfile provides a ",(0,r.jsx)(t.strong,{children:"safer environment for managing your digital assets"})," and offers an array of features that make your day-to-day interactions with blockchains easier."]}),"\n",(0,r.jsx)(t.h2,{id:"how-can-i-access-my-universal-profile-if-i-lost-my-2fa-code",children:"How can I access my Universal Profile if I lost my 2FA code?"}),"\n",(0,r.jsxs)(t.p,{children:["Unfortunately, LUKSO does not offer a method to regenerate, reset, or add new authentication codes for 2FA recovery of the Transaction Relay Service if you lost access to your phone. The security depends on the ",(0,r.jsx)(t.strong,{children:"2FA app and service"})," you are using. Most 2FA apps have their own backup or synchronization mechanisms, used to create additional layers of protection."]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>a});var r=s(6540);const n={},i=r.createContext(n);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e25ea6ac.fbb5785a.js b/assets/js/e25ea6ac.fbb5785a.js new file mode 100644 index 00000000..934c6b0e --- /dev/null +++ b/assets/js/e25ea6ac.fbb5785a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[445],{9467:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=s(4848),n=s(8453);const a={sidebar_label:"\ud83d\udd12 Security",sidebar_position:5,description:"Support for Universal Profile Security"},i="Security",o={id:"general/security",title:"Security",description:"Support for Universal Profile Security",source:"@site/docs/general/security.md",sourceDirName:"general",slug:"/general/security",permalink:"/general/security",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/security.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:5,frontMatter:{sidebar_label:"\ud83d\udd12 Security",sidebar_position:5,description:"Support for Universal Profile Security"},sidebar:"generalSidebar",previous:{title:"\ud83d\udee1\ufe0f Hardware Wallets",permalink:"/general/supported-wallets/hardware-wallets"},next:{title:"\u2753 FAQ",permalink:"/general/faq/"}},l={},c=[{value:"How safe are assets stored within a Universal Profile?",id:"how-safe-are-assets-stored-within-a-universal-profile",level:2},{value:"Why should I use the Universal Profile Extension?",id:"why-should-i-use-the-universal-profile-extension",level:2},{value:"How can I access my Universal Profile if I lost my 2FA code?",id:"how-can-i-access-my-universal-profile-if-i-lost-my-2fa-code",level:2}];function d(e){const t={h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"security",children:"Security"}),"\n",(0,r.jsx)(t.h2,{id:"how-safe-are-assets-stored-within-a-universal-profile",children:"How safe are assets stored within a Universal Profile?"}),"\n",(0,r.jsxs)(t.p,{children:["The safety of a Universal Profile ",(0,r.jsx)(t.strong,{children:"depends on the security steps taken by its owner"}),". If only one EOA controller owns the profile, the security level is equivalent to regular EOA wallets. If a more secure access control system is built and multiple controllers are added with different permissions, the security level of the Universal Profile would be ",(0,r.jsx)(t.strong,{children:"as robust as a multi-signature wallet"}),". Also, custom ownership contracts can be added as controllers. In essence, the security of a UP directly corresponds to the security measures put in place by the owner."]}),"\n",(0,r.jsx)(t.h2,{id:"why-should-i-use-the-universal-profile-extension",children:"Why should I use the Universal Profile Extension?"}),"\n",(0,r.jsxs)(t.p,{children:["The Universal Profile Extension offers several advantages over traditional wallet services like MetaMask or Rainbow. Regular wallets only manage the cryptographic key-pair, the blockchain account. The account is only secured by a static private seed phrase that can't ",(0,r.jsx)(t.strong,{children:"be changed or exposed"}),". If the phrase is leaked or lost, all your digital assets and reputation associated with the account ",(0,r.jsx)(t.strong,{children:"would be lost with it"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"In addition, regular accounts lack some of the the functionality of UPs such as the ability to attach additional information to your profile, react on transfers, social recovery and transaction relay services."}),"\n",(0,r.jsxs)(t.p,{children:["Universal Profiles help bring ",(0,r.jsx)(t.strong,{children:"convenience"})," and ",(0,r.jsx)(t.strong,{children:"user-friendliness"})," into the blockchain space. They are ",(0,r.jsx)(t.strong,{children:"robust and flexible"})," smart contract-based accounts that support features like social recovery, relay transactions, rights management, upgradeable security, and attachable data right out of the box. Since they consist of programmable and modular smart contracts, they even allow upgrading these accounts with enhanced functionalities."]}),"\n",(0,r.jsxs)(t.p,{children:["In essence, using UniversalProfile provides a ",(0,r.jsx)(t.strong,{children:"safer environment for managing your digital assets"})," and offers an array of features that make your day-to-day interactions with blockchains easier."]}),"\n",(0,r.jsx)(t.h2,{id:"how-can-i-access-my-universal-profile-if-i-lost-my-2fa-code",children:"How can I access my Universal Profile if I lost my 2FA code?"}),"\n",(0,r.jsxs)(t.p,{children:["Unfortunately, LUKSO does not offer a method to regenerate, reset, or add new authentication codes for 2FA recovery of the Transaction Relay Service if you lost access to your phone. The security depends on the ",(0,r.jsx)(t.strong,{children:"2FA app and service"})," you are using. Most 2FA apps have their own backup or synchronization mechanisms, used to create additional layers of protection."]})]})}function u(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>o});var r=s(6540);const n={},a=r.createContext(n);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2bbcf84.811b2e7f.js b/assets/js/e2bbcf84.811b2e7f.js deleted file mode 100644 index 683aa7e2..00000000 --- a/assets/js/e2bbcf84.811b2e7f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[465],{5212:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=n(4848),o=n(8453);const s={sidebar_label:"\ud83d\udcb0 Get Controller Funds",sidebar_position:4,description:"Extension Support: Get Controller Funds"},i="Get Controller Funds",l={id:"general/getting-started/Extension/guides/get-controller-funds",title:"Get Controller Funds",description:"Extension Support: Get Controller Funds",source:"@site/docs/general/getting-started/Extension/guides/get-controller-funds.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/get-controller-funds",permalink:"/general/getting-started/Extension/guides/get-controller-funds",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/get-controller-funds.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:4,frontMatter:{sidebar_label:"\ud83d\udcb0 Get Controller Funds",sidebar_position:4,description:"Extension Support: Get Controller Funds"},sidebar:"generalSidebar",previous:{title:"\ud83d\udcb8 Fund Controller",permalink:"/general/getting-started/Extension/guides/fund-controller"},next:{title:"#\ufe0f\u20e3 Check Extension Version",permalink:"/general/getting-started/Extension/guides/check-extension-version"}},a={},d=[];function c(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"get-controller-funds",children:"Get Controller Funds"}),"\n",(0,r.jsxs)(t.p,{children:["There is currently no way to get back funds from the controller directly within the extension. If you want to pay for your transactions instead of using any Relay Service, we recommend only sending minimal LYX, e.g., ",(0,r.jsx)(t.code,{children:"0.1 LYX"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["However, as the controllers of your Universal Profile are regular wallet accounts, these can be imported into any other Ethereum wallet with custom network support. To get back funds from a controller, please open the ",(0,r.jsx)(t.em,{children:"Settings"})," on the top right and reveal your private keys of your extension controllers:"]}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("img",{src:"/img/extension/reveal-private-key.png",alt:"Reveal Private Keys",width:"400"})})}),"\n",(0,r.jsx)(t.admonition,{title:"Controller Export",type:"caution",children:(0,r.jsxs)(t.p,{children:["Every profile within the Universal Profile Extension has separate controllers. If you manage multiple Universal Profiles within the extension, make sure to select the correct controller's private key. ",(0,r.jsx)(t.strong,{children:"Never share the revealed private keys with anyone"}),"."]})}),"\n",(0,r.jsxs)(t.p,{children:["After you receive your private key, import this account to an Ethereum wallet with custom network support (e.g., MetaMask). Within the wallet, ",(0,r.jsx)(t.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add the LUKSO network"})," using the official network parameters. You will see the controller's funds after the network is added and selected. You can continue copying your Universal Profile's address and sending the LYX back. The imported account can be removed from the wallet after completing this process."]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6fcb59d.ecd11b82.js b/assets/js/e6fcb59d.ecd11b82.js deleted file mode 100644 index bbcb71e6..00000000 --- a/assets/js/e6fcb59d.ecd11b82.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[223],{3968:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>a});var o=t(4848),n=t(8453);const i={sidebar_label:"\ud83d\udedf Check 2FA Recovery",sidebar_position:1,description:"LUKSO Support: How to check 2FA Recovery"},s="Check 2FA Recovery",c={id:"general/getting-started/Extension/guides/check-2fa-recovery",title:"Check 2FA Recovery",description:"LUKSO Support: How to check 2FA Recovery",source:"@site/docs/general/getting-started/Extension/guides/check-2fa-recovery.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/check-2fa-recovery",permalink:"/general/getting-started/Extension/guides/check-2fa-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/check-2fa-recovery.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:1,frontMatter:{sidebar_label:"\ud83d\udedf Check 2FA Recovery",sidebar_position:1,description:"LUKSO Support: How to check 2FA Recovery"},sidebar:"generalSidebar",previous:{title:"\u2699\ufe0f Common Errors",permalink:"/general/getting-started/Extension/common-errors"},next:{title:"\ud83d\udce5 Create Backup",permalink:"/general/getting-started/Extension/guides/create-backup"}},l={},a=[{value:"Verify the recovery controller on the dashboard",id:"verify-the-recovery-controller-on-the-dashboard",level:2}];function d(e){const r={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"check-2fa-recovery",children:"Check 2FA Recovery"}),"\n",(0,o.jsx)(r.p,{children:"If you ever want to recover your profile, a new controller will be added to this Universal Profile from a new extension setup. You must verify multiple steps to check if this new controller can be added to your Universal Profile by the recovery service:"}),"\n",(0,o.jsx)(r.h1,{id:"verify-the-recovery-controller-in-your-extension",children:"Verify the recovery controller in your extension"}),"\n",(0,o.jsx)(r.p,{children:"If you visit the controller menu in the Universal Profile Browser Extension, there need to be at least three controllers:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"The Universal Profile Browser Extension (used for profile interactions)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Receiver (used to write asset updates on the profile)"}),"\n",(0,o.jsx)(r.li,{children:"The Universal Profile Recovery (used as a backup for the profile)"}),"\n"]}),"\n",(0,o.jsxs)(r.p,{children:["To confirm that the permissions of the recovery controller were ",(0,o.jsx)(r.a,{href:"/general/getting-started/Extension/controllers#what-are-the-default-permissions-of-the-controllers",children:"adequately set up"}),", click on the controller of the Universal Profile Recovery and verify that the ",(0,o.jsx)(r.strong,{children:"Add Controller"})," permission is enabled."]}),"\n",(0,o.jsx)("div",{style:{textAlign:"center"},children:(0,o.jsx)("img",{src:"/img/extension/2fa-controller.png",alt:"2FA Controller",width:"800"})}),"\n",(0,o.jsxs)(r.admonition,{title:"Controller Names",type:"info",children:[(0,o.jsxs)(r.p,{children:["The names of the controllers can vary, depending on the time of your Universal Profile setup. The controller of the extension will either be named ",(0,o.jsx)(r.strong,{children:"UP Extension"})," or have the ",(0,o.jsx)(r.strong,{children:"name of it's blockchain address"}),". The recovery controller can either be named ",(0,o.jsx)(r.strong,{children:"UP Recovery"}),", ",(0,o.jsx)(r.strong,{children:"Create and manage your UP"}),", or ",(0,o.jsx)(r.strong,{children:"recovery-up"}),". Every controller can be ",(0,o.jsx)(r.em,{children:"renamed locally"})," in your extension at any time."]}),(0,o.jsx)("img",{src:"/img/extension/controller-name.png",alt:"Controller Name Change",width:"600"})]}),"\n",(0,o.jsx)(r.h2,{id:"verify-the-recovery-controller-on-the-dashboard",children:"Verify the recovery controller on the dashboard"}),"\n",(0,o.jsxs)(r.p,{children:["Next, please check if the recovery was successfully added via the LUKSO Relay Service by logging into the dashboard of ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". If 2FA was successfully added, the profile card will show a green checkmark at the top right corner:"]}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"2FA Recovery Dashboard",src:t(2724).A+"",width:"2112",height:"1515"})}),"\n",(0,o.jsx)(r.admonition,{type:"caution",children:(0,o.jsxs)(r.p,{children:["If your Universal Profile Recovery controller is not showing up on ",(0,o.jsx)(r.a,{href:"https://universalprofile.cloud/?network=mainnet",children:"UniversalProfile.cloud"}),", please check if you selected the correct network in the bottom left corner of the page."]})}),"\n",(0,o.jsx)(r.h1,{id:"verify-the-authentication-code-and-email",children:"Verify the authentication code and email"}),"\n",(0,o.jsxs)(r.p,{children:["During the 2FA setup, you will be asked to provide an ",(0,o.jsx)(r.strong,{children:"email or web account"})," associated with the recovery process. Verify if you ",(0,o.jsx)(r.strong,{children:"received the recovery email"})," and ",(0,o.jsx)(r.strong,{children:"set up an authenticator code"})," using one of the supported apps. Additionally, ensure that the 2FA code for the Universal Profile Recovery ",(0,o.jsx)(r.strong,{children:"can be accessed"})," on your authenticator app of choice."]}),"\n",(0,o.jsx)(r.admonition,{type:"danger",children:(0,o.jsxs)(r.p,{children:["If you've set up 2FA but one of the verification steps cannot be fulfilled, please reach out within the ",(0,o.jsx)(r.strong,{children:"SUPPORT & BUGS"})," category on our Discord server or contact our support at ",(0,o.jsx)(r.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})})]})}function h(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},2724:(e,r,t)=>{t.d(r,{A:()=>o});const o=t.p+"assets/images/recovery-dashboard-214891b26c02d11fb5ec8eadd98193e3.png"},8453:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>c});var o=t(6540);const n={},i=o.createContext(n);function s(e){const r=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),o.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ef62d8b3.e55ac4ef.js b/assets/js/ef62d8b3.e55ac4ef.js new file mode 100644 index 00000000..aee15577 --- /dev/null +++ b/assets/js/ef62d8b3.e55ac4ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[119],{7719:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>a,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=t(4848),n=t(8453);const i={sidebar_label:"\ud83d\udd10 Recover from Wallet",sidebar_position:7,description:"How to recover a Universal Profile using your private key or 3rd-party wallet"},l="Recover from Wallet",s={id:"universalprofilecloud/Recovery/wallet-recovery",title:"Recover from Wallet",description:"How to recover a Universal Profile using your private key or 3rd-party wallet",source:"@site/docs/universalprofilecloud/Recovery/wallet-recovery.md",sourceDirName:"universalprofilecloud/Recovery",slug:"/universalprofilecloud/Recovery/wallet-recovery",permalink:"/universalprofilecloud/Recovery/wallet-recovery",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/universalprofilecloud/Recovery/wallet-recovery.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:7,frontMatter:{sidebar_label:"\ud83d\udd10 Recover from Wallet",sidebar_position:7,description:"How to recover a Universal Profile using your private key or 3rd-party wallet"},sidebar:"universalprofilecloudSidebar",previous:{title:"\ud83d\udc5b Set Wallet Recovery",permalink:"/universalprofilecloud/Recovery/set-wallet-recovery"}},a={},c=[{value:"Preparation",id:"preparation",level:2},{value:"Connect and Import",id:"connect-and-import",level:2},{value:"Set the Controller",id:"set-the-controller",level:2}];function h(e){const r={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{id:"recover-from-wallet",children:"Recover from Wallet"}),"\n",(0,o.jsxs)(r.p,{children:["If you've set a ",(0,o.jsx)(r.strong,{children:"recovery controller"})," using the ",(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/set-wallet-recovery",children:"Wallet Recovery Setup"})," or have an ",(0,o.jsx)(r.strong,{children:"existing private key"}),", you can use these controllers to restore your Universal Profile."]}),"\n",(0,o.jsx)(r.h2,{id:"preparation",children:"Preparation"}),"\n",(0,o.jsxs)(r.p,{children:["In order to recover your Universal Profile, you will need the ",(0,o.jsx)(r.a,{href:"https://chromewebstore.google.com/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn",children:"Universal Profile Browser Extension"})," and an ",(0,o.jsx)(r.a,{href:"/general/supported-wallets/wallet-support",children:"Ethereum wallet with custom network support"})," installed ",(0,o.jsxs)(r.strong,{children:["in the same ",(0,o.jsx)(r.a,{href:"/Extension/introduction#which-browsers-does-the-extension-support",children:"supported browser"})]}),"."]}),"\n",(0,o.jsx)(r.admonition,{title:"Wallet Support",type:"tip",children:(0,o.jsxs)(r.p,{children:["The ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/3rd-party/add-recovery",children:"Wallet Recovery Setup"})," officially supports ",(0,o.jsx)(r.strong,{children:"MetaMask"})," as the wallet. If you experience issues with other wallets, please try again using MetaMask."]})}),"\n",(0,o.jsx)(r.p,{children:"Before you can recover your Universal Profile, ensure that:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"The recovery controller or private key was added to the third-party wallet"}),": If the connected account that was ",(0,o.jsx)(r.a,{href:"/universalprofilecloud/Recovery/wallet-recovery#preparation",children:"set up in the wallet"})," does not match one of the controllers of the Universal Profile, you won't be able to continue the recovery."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"The recovery controller has enough LYX/LYXt to execute the recovery"}),": During the recovery process, the Universal Profile Extension will generate a new controller key that will be added to the wallet's recovery account. To set the controller and permissions, you will have to execute a transaction costing approximately ",(0,o.jsx)(r.code,{children:"0.01"})," LYX/LYXt. The amount can vary based on network usage. Please fund your controller address from an existing and working wallet or Universal Profile."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"The extension and wallet are set to the same LUKSO network"}),": Within your wallet, please ",(0,o.jsx)(r.a,{href:"https://docs.lukso.tech/networks/mainnet/parameters#add-lukso-to-wallets",children:"add and switch to the LUKSO network"}),". The network must match that of the Universal Profile Browser Extension in order to call and verify the Universal Profile controllers."]}),"\n",(0,o.jsxs)(r.li,{children:[(0,o.jsx)(r.strong,{children:"The Universal Profile has not been imported into the extension"}),": You can only recover the Universal Profile if it has not been imported into the Universal Profile Extension already. If the profile already exists, please use a different browser or carefully check if the extension can be reinstalled without losing access to other profiles. You should only delete the extension if you don't have any other profiles, backed up all private keys from the settings screen, or have 2FA or wallet recovery set on all the other profiles."]}),"\n"]}),"\n",(0,o.jsx)(r.admonition,{title:"Using Hardware Wallets",type:"info",children:(0,o.jsxs)(r.p,{children:["If you are using a hardware wallet to recover your Universal Profile, please ensure that the correct security settings are enabled. For Ledger, you must allow ",(0,o.jsx)(r.strong,{children:"blind signing"})," within the Ethereum app on the device to execute smart contract transactions like the recovery. If you are using Trezor, you will have to adjust the ",(0,o.jsx)(r.a,{href:"/general/supported-wallets/hardware-wallets#how-to-send-transactions-using-trezor-wallet",children:"strict security rules"})," due to the network ID."]})}),"\n",(0,o.jsx)(r.admonition,{title:"Restarting the Recovery Process",type:"caution",children:(0,o.jsxs)(r.p,{children:["The recovery transaction will be sent ",(0,o.jsx)(r.strong,{children:"after the profile is imported"}),". As already existing profiles in the extension can not be recovered, this might cause problems if the process needs to be restarted from scratch. Therefore, please ensure that the controller address is funded with enough LYX/LYXt and can easily be retried. Otherwise, you might have to reinstall the extension. After recovering a profile, the remaining funds can be ",(0,o.jsx)(r.a,{href:"/Extension/guides/get-controller-funds",children:"sent back to one of your accounts"}),"."]})}),"\n",(0,o.jsx)(r.h2,{id:"connect-and-import",children:"Connect and Import"}),"\n",(0,o.jsxs)(r.p,{children:["After all requirements are met, head to the ",(0,o.jsx)(r.a,{href:"https://my.universalprofile.cloud/3rd-party/recover",children:"Wallet Recovery"})," and search for the Universal Profile you want to recover. Next, you will have to connect your wallet. The recovery service will then check if the connected account is permitted to recover the Universal Profile by adding a new controller. If so, you can import your profile. By starting the import, the extension will generate a new controller key, which must be granted permission afterward."]}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Connect the Extensions",src:t(9783).A+"",width:"2132",height:"759"})}),"\n",(0,o.jsx)(r.h2,{id:"set-the-controller",children:"Set the Controller"}),"\n",(0,o.jsx)(r.p,{children:"If the Universal Profile was imported into the extension, you will see that the extension is now awaiting a recovery transaction from one of the existing controllers. By continuing, the recovery service will generate this transaction and add the newly generated extension controller to your profile. After the transaction has been executed, you will have a working extension with access to your Universal Profile."}),"\n",(0,o.jsx)(r.p,{children:(0,o.jsx)(r.img,{alt:"Connect the Extensions",src:t(1676).A+"",width:"2132",height:"759"})})]})}function d(e={}){const{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},9783:(e,r,t)=>{t.d(r,{A:()=>o});const o=t.p+"assets/images/recover-up-1-3f969e6662b8bfd8a13b0ef88811492a.png"},1676:(e,r,t)=>{t.d(r,{A:()=>o});const o=t.p+"assets/images/recover-up-2-ac0b6253192a69df10e2e15210a72720.png"},8453:(e,r,t)=>{t.d(r,{R:()=>l,x:()=>s});var o=t(6540);const n={},i=o.createContext(n);function l(e){const r=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),o.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f101b456.1f553ffd.js b/assets/js/f101b456.1f553ffd.js deleted file mode 100644 index aad98114..00000000 --- a/assets/js/f101b456.1f553ffd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[910],{6741:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var n=t(4848),o=t(8453);const i={sidebar_label:"\ud83d\udce5 Create Backup",sidebar_position:2,description:"Extension Support: Create Backup"},s="Create Backup",a={id:"general/getting-started/Extension/guides/create-backup",title:"Create Backup",description:"Extension Support: Create Backup",source:"@site/docs/general/getting-started/Extension/guides/create-backup.md",sourceDirName:"general/getting-started/Extension/guides",slug:"/general/getting-started/Extension/guides/create-backup",permalink:"/general/getting-started/Extension/guides/create-backup",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/getting-started/Extension/guides/create-backup.md",tags:[],version:"current",lastUpdatedAt:1715593992e3,sidebarPosition:2,frontMatter:{sidebar_label:"\ud83d\udce5 Create Backup",sidebar_position:2,description:"Extension Support: Create Backup"},sidebar:"generalSidebar",previous:{title:"\ud83d\udedf Check 2FA Recovery",permalink:"/general/getting-started/Extension/guides/check-2fa-recovery"},next:{title:"\ud83d\udcb8 Fund Controller",permalink:"/general/getting-started/Extension/guides/fund-controller"}},l={},c=[{value:"2FA Recovery Walkthrough",id:"2fa-recovery-walkthrough",level:2},{value:"Frequently Asked Questions",id:"frequently-asked-questions",level:2},{value:"Are 2FA backups secured in a decentralized manner?",id:"are-2fa-backups-secured-in-a-decentralized-manner",level:3},{value:"Is there a fully decentralized backup method?",id:"is-there-a-fully-decentralized-backup-method",level:3}];function d(e){const r={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{id:"create-backup",children:"Create Backup"}),"\n",(0,n.jsx)(r.p,{children:"If you lost access to the Universal Profile Browser Extension, there are multiple ways to secure your Universal Profile :"}),"\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.strong,{children:"2FA Recovery"}),": You can set up 2FA for the Universal Profile on ",(0,n.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"}),". 2FA is the recommended way of backing up a Universal Profile and will add a new recovery controller to the profile, secured on LUKSO's end. The recovery controller has permissions to add additional controllers if access to an old extension is lost. For security reasons, users must provide an authentication code from a mobile device and approve via email before a new controller can be added using LUKSO's recovery service."]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.strong,{children:"3rd Party Wallet Recovery"}),": You can give recovery rights to an other blockchain account or controller on ",(0,n.jsx)(r.a,{href:"https://mw.universalprofile.cloud/",children:"my.universalProfile.cloud"}),". This blockchain account then gains permissions to add additional controllers if access to an old extension is lost. Wallet recovery can also be used if you want to regain access to your Universal Profile using the revealed private key of the profile's extension controller."]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.strong,{children:"QR Import"}),": You can import any Universal Profile address into your extension. The import process will create a new local controller. Before it can can be used, the new controller needs to added to the Universal Profile by one of your existing controllers with sufficient permissions. Within the new extension, you will receive a QR code of a transaction that can be scanned or copied. When this QR code is received and the related transaction executed by an existing extension, this new controller will gain permissions on the Universal Profile."]}),"\n",(0,n.jsxs)(r.li,{children:[(0,n.jsx)(r.strong,{children:"File Export"}),": You can export the private keys from the settings. Make sure to export the text into a file and store it safe. Those private keys will allow anyone to regain access to the profiles based on the controller's permissions."]}),"\n"]}),"\n",(0,n.jsx)(r.admonition,{title:"Individual 2FA Controllers",type:"info",children:(0,n.jsxs)(r.p,{children:["Please note that each Universal Profile has to add a ",(0,n.jsx)(r.strong,{children:"separate"})," ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/controllers",children:"UP Recovery controller"})," to ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/check-2fa-recovery",children:"complete the 2FA recovery setup"}),". If you created multiple Universal Profiles through ",(0,n.jsx)(r.a,{href:"https://universalprofile.cloud/",children:"UniversalProfile.cloud"}),", please ensure that you ",(0,n.jsx)(r.strong,{children:"add the 2FA Recovery"})," during ",(0,n.jsx)(r.strong,{children:"every single"})," deployment process. The connected account and authentication code will stay the same across all profiles of one network and is used to authenticate on the LUKSO Transaction Relay Service."]})}),"\n",(0,n.jsx)(r.admonition,{type:"tip",children:(0,n.jsxs)(r.p,{children:["To reduce risk of losing access, it is ",(0,n.jsx)(r.strong,{children:"recommended"})," to set up ",(0,n.jsx)(r.strong,{children:(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/controllers#how-can-i-add-2fa-recovery-to-an-existing-universal-profile",children:"2FA"})})," or ",(0,n.jsx)(r.strong,{children:(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/set-wallet-recovery",children:"Wallet Recovery"})}),"."]})}),"\n",(0,n.jsx)(r.admonition,{title:"Paused Import Functionality",type:"danger",children:(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.strong,{children:"QR Import"})," is currently disabled due to the recent ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/incidents/controller-recovery",children:"Controller Recovery Incident"})]})}),"\n",(0,n.jsx)(r.admonition,{title:"Securing Controllers",type:"danger",children:(0,n.jsxs)(r.p,{children:["Due to the nature of ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/controllers#what-happens-during-imports-and-recovery",children:"backups and recovery"}),", the ",(0,n.jsx)(r.strong,{children:"controllers of an extension will not be included within 2FA recovery"}),". If you ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/fund-controller",children:"fund the extension's controllers"})," to pay for your transactions, please ",(0,n.jsx)(r.strong,{children:"always backup the their related private key"})," in the settings screen. Otherwise, you won't be able to ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/get-controller-funds",children:"get your controller funds back"}),"."]})}),"\n",(0,n.jsx)(r.h2,{id:"2fa-recovery-walkthrough",children:"2FA Recovery Walkthrough"}),"\n",(0,n.jsx)("div",{class:"video-container",children:(0,n.jsx)("iframe",{src:"https://www.youtube.com/embed/rbIqA7N6Fn4?si=2mfC8_0AG6JD-7e3",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})}),"\n",(0,n.jsx)(r.h2,{id:"frequently-asked-questions",children:"Frequently Asked Questions"}),"\n",(0,n.jsx)(r.h3,{id:"are-2fa-backups-secured-in-a-decentralized-manner",children:"Are 2FA backups secured in a decentralized manner?"}),"\n",(0,n.jsxs)(r.p,{children:["The 2FA recovery system for Universal Profiles on ",(0,n.jsx)(r.a,{href:"https://my.universalprofile.cloud/",children:"my.universalprofile.cloud"})," is operated from LUKSO. It is not decentralized but is a mix of Web2 and Web3 security measures. Initially, a recovery controller is added to the smart contract of the Universal Profile, only ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/controllers",children:"having minimal permissions"})," to add a new controller address. This controller key is stored and secured by LUKSO. The UP Recovery service can only add new controllers to a Universal Profile if the user gives permissions using his authenticator code and email login. When the UP Recovery process is initiated, a new controller key is generated in the user's local browser extension. After receiving the approval from the linked 2FA, the UP Recovery service builds a transaction, adding the previously generated controller to the Universal Profile. This transaction is then executed from the recovery controller and sent to the LUKSO Transaction Relay Service, which automatically executes the transaction on behalf of the user."]}),"\n",(0,n.jsx)(r.h3,{id:"is-there-a-fully-decentralized-backup-method",children:"Is there a fully decentralized backup method?"}),"\n",(0,n.jsxs)(r.p,{children:["If you do not trust 2FA and want an personal backup solution, you can restore your Universal Profile by ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/wallet-recovery",children:"recovering from a private key"})," add by adding additional recovery controllers using the ",(0,n.jsx)(r.a,{href:"/general/getting-started/Extension/guides/set-wallet-recovery",children:"Wallet Recovery Setup"}),"."]})]})}function u(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>a});var n=t(6540);const o={},i=n.createContext(o);function s(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/faa4e54a.8ba8c0aa.js b/assets/js/faa4e54a.8ba8c0aa.js new file mode 100644 index 00000000..f0f87537 --- /dev/null +++ b/assets/js/faa4e54a.8ba8c0aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[368],{1895:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>n,metadata:()=>s,toc:()=>d});var i=r(4848),o=r(8453);const n={sidebar_label:"\u26d3\ufe0f L14 Network",sidebar_position:6,description:"Support Page for L14 Network"},l="L14 Network",s={id:"general/l14-network",title:"L14 Network",description:"Support Page for L14 Network",source:"@site/docs/general/l14-network.md",sourceDirName:"general",slug:"/general/l14-network",permalink:"/general/l14-network",draft:!1,unlisted:!1,editUrl:"https://github.com/lukso-network/website-support-center/tree/main/docs/general/l14-network.md",tags:[],version:"current",lastUpdatedAt:1725538874e3,sidebarPosition:6,frontMatter:{sidebar_label:"\u26d3\ufe0f L14 Network",sidebar_position:6,description:"Support Page for L14 Network"},sidebar:"generalSidebar",previous:{title:"\u2753 FAQ",permalink:"/general/faq/"},next:{title:"\ud83d\udc6f\u200d\u2642\ufe0f Community",permalink:"/general/community/"}},a={},d=[{value:"How to access my Universal Profile on L14?",id:"how-to-access-my-universal-profile-on-l14",level:2},{value:"Can I import my L14 Universal Profile to the Universal Profile Browser Extension?",id:"can-i-import-my-l14-universal-profile-to-the-universal-profile-browser-extension",level:2},{value:"Will Universal Profiles on L14 be migrated to Mainnet?",id:"will-universal-profiles-on-l14-be-migrated-to-mainnet",level:2},{value:"Will previously acquired NFTs be migrated to Mainnet?",id:"will-previously-acquired-nfts-be-migrated-to-mainnet",level:2}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"l14-network",children:"L14 Network"}),"\n",(0,i.jsx)(t.h2,{id:"how-to-access-my-universal-profile-on-l14",children:"How to access my Universal Profile on L14?"}),"\n",(0,i.jsxs)(t.p,{children:["If you created a Universal Profile using the ",(0,i.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"Universal Profile Explorer"})," or ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised Marketplace"})," on the L14 Testnet, the wallet is stored within your browser's local storage. You will receive a login link containing an encrypted private key via mail."]}),"\n",(0,i.jsx)(t.admonition,{title:"Ongoing Migration",type:"caution",children:(0,i.jsxs)(t.p,{children:["Due to the ongoing migration of the L14 network, the reissuing of login links has stopped. If you lost access to your old login link, please reach out to ",(0,i.jsx)(t.a,{href:"mailto:support@lukso.network",children:"support@lukso.network"})," directly."]})}),"\n",(0,i.jsx)(t.h2,{id:"can-i-import-my-l14-universal-profile-to-the-universal-profile-browser-extension",children:"Can I import my L14 Universal Profile to the Universal Profile Browser Extension?"}),"\n",(0,i.jsx)(t.p,{children:"The Universal Profile Browser Extension is only compatible with Testnet and Mainnet networks. L14 Universal Profiles cannot be added to the Universal Profile Browser Extension, they first need to be migrated to Mainnet to be compatible."}),"\n",(0,i.jsx)(t.h2,{id:"will-universal-profiles-on-l14-be-migrated-to-mainnet",children:"Will Universal Profiles on L14 be migrated to Mainnet?"}),"\n",(0,i.jsxs)(t.p,{children:["LUKSO will migrate all Universal Profiles previously created on the L14 Testnet by ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised Marketplace"}),", the ",(0,i.jsx)(t.a,{href:"https://universalprofile.cloud/",children:"Universal Profile Explorer"})," or official collaborations like ",(0,i.jsx)(t.a,{href:"https://outoftheether.net/",children:"Out Of the Ether"}),". If you deployed custom profiles on older testnets, you would be responsible for migrating them to the mainnet yourself."]}),"\n",(0,i.jsx)(t.h2,{id:"will-previously-acquired-nfts-be-migrated-to-mainnet",children:"Will previously acquired NFTs be migrated to Mainnet?"}),"\n",(0,i.jsxs)(t.p,{children:["LUKSO will migrate all previously issued NFTs by the ",(0,i.jsx)(t.a,{href:"https://lukso.network/",children:"LUKSO"})," and ",(0,i.jsx)(t.a,{href:"https://thedematerialised.com/",children:"The Dematerialised"})," brands, as well as official LUKSO collaborations. If you deployed custom assets and services on older testnets, you would be responsible for migrating them to the mainnet."]})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>l,x:()=>s});var i=r(6540);const o={},n=i.createContext(o);function l(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.2435baab.js b/assets/js/main.2435baab.js deleted file mode 100644 index 794337f3..00000000 --- a/assets/js/main.2435baab.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.2435baab.js.LICENSE.txt */ -(self.webpackChunkwebsite_support_center=self.webpackChunkwebsite_support_center||[]).push([[792],{9188:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(6540);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"02a3040b":[()=>n.e(783).then(n.bind(n,7226)),"@site/docs/general/getting-started/Extension/guides/set-wallet-recovery.md",7226],"0326daf8":[()=>n.e(415).then(n.bind(n,5076)),"@site/docs/general/supported-wallets/hardware-wallets.md",5076],"0ff602bb":[()=>Promise.all([n.e(869),n.e(539)]).then(n.bind(n,4567)),"@site/docs/general/supported-wallets/wallet-support.md",4567],17211258:[()=>n.e(786).then(n.bind(n,820)),"@site/docs/general/getting-started/Extension/incidents/controller-recovery.md",820],17896441:[()=>Promise.all([n.e(869),n.e(365),n.e(401)]).then(n.bind(n,2446)),"@theme/DocItem",2446],"1a4e3797":[()=>Promise.all([n.e(869),n.e(138)]).then(n.bind(n,2672)),"@theme/SearchPage",2672],"20717cf2":[()=>n.e(763).then(n.bind(n,7236)),"@site/docs/general/l14-and-lyxe/migration/migration-on-exchanges.md",7236],"23c927f7":[()=>n.e(330).then(n.bind(n,278)),"@site/docs/general/getting-started/Extension/introduction.md",278],"2a5de752":[()=>n.e(186).then(n.bind(n,7219)),"@site/docs/general/l14-and-lyxe/migration/incidents/january.md",7219],"37a57b1d":[()=>n.e(147).then(n.bind(n,3199)),"@site/docs/general/getting-started/Extension/guides/wallet-recovery.md",3199],"3d3d0882":[()=>n.e(733).then(n.bind(n,4762)),"@site/docs/general/getting-started/getting-started.md",4762],"45882c80":[()=>n.e(811).then(n.bind(n,7877)),"@site/docs/general/introduction.md",7877],"472b13cd":[()=>n.e(637).then(n.bind(n,9984)),"@site/docs/general/l14-and-lyxe/migration/supported-wallets.md",9984],"4f152c9b":[()=>n.e(51).then(n.bind(n,8241)),"@site/docs/general/l14-and-lyxe/migration/introduction.md",8241],"4fd97190":[()=>n.e(855).then(n.bind(n,435)),"@site/docs/general/getting-started/Extension/common-errors.md",435],"5d825f5a":[()=>n.e(114).then(n.bind(n,7418)),"@site/docs/general/community/community.md",7418],"5e95c892":[()=>n.e(647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"61d4f3a7":[()=>n.e(41).then(n.bind(n,4192)),"@site/docs/general/l14-and-lyxe/l14-and-lyxe.md",4192],"6629c45f":[()=>n.e(820).then(n.t.bind(n,72,19)),"@generated/docusaurus-plugin-content-docs/default/p/index.json",72],"6e47815e":[()=>n.e(448).then(n.bind(n,4838)),"@site/docs/general/getting-started/Extension/guides/fund-controller.md",4838],"7ed2d6d9":[()=>n.e(370).then(n.bind(n,8429)),"@site/docs/general/getting-started/Extension/controllers.md",8429],80047513:[()=>n.e(271).then(n.bind(n,8268)),"@site/docs/general/l14-and-lyxe/l14-network.md",8268],"808d3943":[()=>n.e(528).then(n.bind(n,463)),"@site/docs/general/l14-and-lyxe/migration/incidents/february.md",463],"83b65a36":[()=>n.e(425).then(n.bind(n,3737)),"@site/docs/general/getting-started/using-exchanges.md",3737],a3ccb551:[()=>n.e(252).then(n.bind(n,1925)),"@site/docs/contact-us/contact-us.md",1925],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],abc2adad:[()=>n.e(217).then(n.bind(n,4102)),"@site/docs/general/getting-started/universal-profiles.md",4102],b1b2d530:[()=>n.e(488).then(n.bind(n,285)),"@site/docs/general/getting-started/Extension/guides/check-extension-version.md",285],be8fc596:[()=>n.e(479).then(n.bind(n,9177)),"@site/docs/general/l14-and-lyxe/migration/transaction-process.md",9177],c141421f:[()=>n.e(957).then(n.t.bind(n,936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",936],c4f5d8e4:[()=>Promise.all([n.e(869),n.e(634)]).then(n.bind(n,5140)),"@site/src/pages/index.js",5140],d81817d1:[()=>n.e(289).then(n.bind(n,8858)),"@site/docs/general/faq/faq.md",8858],e25ea6ac:[()=>n.e(445).then(n.bind(n,9467)),"@site/docs/general/security.md",9467],e2bbcf84:[()=>n.e(465).then(n.bind(n,5212)),"@site/docs/general/getting-started/Extension/guides/get-controller-funds.md",5212],e43a0d11:[()=>n.e(282).then(n.bind(n,950)),"@site/docs/general/getting-started/popular-dapps.md",950],e6fcb59d:[()=>n.e(223).then(n.bind(n,3968)),"@site/docs/general/getting-started/Extension/guides/check-2fa-recovery.md",3968],f101b456:[()=>n.e(910).then(n.bind(n,6741)),"@site/docs/general/getting-started/Extension/guides/create-backup.md",6741]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(6921),c=n(3102);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,u.A)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const s=a.__props;return delete a.__props,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(o,{...a,...s,...n})})}})}const f=[{path:"/search",component:d("/search","5de"),exact:!0},{path:"/",component:d("/","2e1"),exact:!0},{path:"/",component:d("/","cfb"),routes:[{path:"/",component:d("/","025"),routes:[{path:"/",component:d("/","04f"),routes:[{path:"/contact-us/",component:d("/contact-us/","d76"),exact:!0},{path:"/general/community/",component:d("/general/community/","fbb"),exact:!0,sidebar:"generalSidebar"},{path:"/general/faq/",component:d("/general/faq/","e1a"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/",component:d("/general/getting-started/","125"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/common-errors",component:d("/general/getting-started/Extension/common-errors","3e4"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/controllers",component:d("/general/getting-started/Extension/controllers","ac8"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/check-2fa-recovery",component:d("/general/getting-started/Extension/guides/check-2fa-recovery","927"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/check-extension-version",component:d("/general/getting-started/Extension/guides/check-extension-version","09d"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/create-backup",component:d("/general/getting-started/Extension/guides/create-backup","b1f"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/fund-controller",component:d("/general/getting-started/Extension/guides/fund-controller","e8f"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/get-controller-funds",component:d("/general/getting-started/Extension/guides/get-controller-funds","815"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/set-wallet-recovery",component:d("/general/getting-started/Extension/guides/set-wallet-recovery","c69"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/guides/wallet-recovery",component:d("/general/getting-started/Extension/guides/wallet-recovery","bbd"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/incidents/controller-recovery",component:d("/general/getting-started/Extension/incidents/controller-recovery","a30"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/Extension/introduction",component:d("/general/getting-started/Extension/introduction","1b9"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/popular-dapps",component:d("/general/getting-started/popular-dapps","204"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/universal-profiles",component:d("/general/getting-started/universal-profiles","f39"),exact:!0,sidebar:"generalSidebar"},{path:"/general/getting-started/using-exchanges",component:d("/general/getting-started/using-exchanges","b79"),exact:!0,sidebar:"generalSidebar"},{path:"/general/introduction",component:d("/general/introduction","04f"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/",component:d("/general/l14-and-lyxe/","964"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/l14-network",component:d("/general/l14-and-lyxe/l14-network","6ad"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/incidents/february",component:d("/general/l14-and-lyxe/migration/incidents/february","d55"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/incidents/january",component:d("/general/l14-and-lyxe/migration/incidents/january","624"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/introduction",component:d("/general/l14-and-lyxe/migration/introduction","de2"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/migration-on-exchanges",component:d("/general/l14-and-lyxe/migration/migration-on-exchanges","157"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/supported-wallets",component:d("/general/l14-and-lyxe/migration/supported-wallets","0e7"),exact:!0,sidebar:"generalSidebar"},{path:"/general/l14-and-lyxe/migration/transaction-process",component:d("/general/l14-and-lyxe/migration/transaction-process","68e"),exact:!0,sidebar:"generalSidebar"},{path:"/general/security",component:d("/general/security","358"),exact:!0,sidebar:"generalSidebar"},{path:"/general/supported-wallets/hardware-wallets",component:d("/general/supported-wallets/hardware-wallets","6de"),exact:!0,sidebar:"generalSidebar"},{path:"/general/supported-wallets/wallet-support",component:d("/general/supported-wallets/wallet-support","dcf"),exact:!0,sidebar:"generalSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(4625),i=n(545),l=n(8193);const s=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),c=n(6347),d=n(2831),f=n(4848);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(5260),h=n(4586),m=n(6025),y=n(6342),b=n(9024),v=n(2131),w=n(4090),x=n(2967),k=n(440),S=n(1463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),r=(0,v.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(g.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:r}=(0,c.zy)();return e+(0,k.applyTrailingSlash)((0,m.A)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function _(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,y.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.w})]}),n&&(0,f.jsx)(b.be,{image:n}),(0,f.jsx)(C,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.A,{tag:x.Cy,locale:e}),(0,f.jsx)(g.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;var A=n(6125),j=n(6988),N=n(205);function L(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),L("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?L("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=L("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.qh,{location:t,render:()=>e})})}}const I=R,M="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",D="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,c.zy)());return(0,f.jsx)(I,{location:e,children:q})}function K(){return(0,f.jsx)(V.A,{children:(0,f.jsx)(j.l,{children:(0,f.jsxs)(A.x,{children:[(0,f.jsxs)(p,{children:[(0,f.jsx)(U,{}),(0,f.jsx)(_,{}),(0,f.jsx)($,{}),(0,f.jsx)(G,{})]}),(0,f.jsx)(W,{})]})})})}var Y=n(4054);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Z=n(6921);const X=new Set,J=new Set,ee=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,te={prefetch:e=>{if(!(e=>!ee()&&!J.has(e)&&!X.has(e))(e))return!1;X.add(e);const t=(0,d.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Z.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ee()&&!J.has(e))(e)&&(J.add(e),O(e))},ne=Object.freeze(te),re=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=ne;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.vd,{children:(0,f.jsx)(o.Kd,{children:(0,f.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(re)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};O(window.location.pathname).then((()=>{(0,r.startTransition)(l)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"general/introduction","docs":[{"id":"contact-us/contact-us","path":"/contact-us/"},{"id":"general/community/community","path":"/general/community/","sidebar":"generalSidebar"},{"id":"general/faq/faq","path":"/general/faq/","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/common-errors","path":"/general/getting-started/Extension/common-errors","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/controllers","path":"/general/getting-started/Extension/controllers","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/check-2fa-recovery","path":"/general/getting-started/Extension/guides/check-2fa-recovery","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/check-extension-version","path":"/general/getting-started/Extension/guides/check-extension-version","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/create-backup","path":"/general/getting-started/Extension/guides/create-backup","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/fund-controller","path":"/general/getting-started/Extension/guides/fund-controller","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/get-controller-funds","path":"/general/getting-started/Extension/guides/get-controller-funds","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/set-wallet-recovery","path":"/general/getting-started/Extension/guides/set-wallet-recovery","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/guides/wallet-recovery","path":"/general/getting-started/Extension/guides/wallet-recovery","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/incidents/controller-recovery","path":"/general/getting-started/Extension/incidents/controller-recovery","sidebar":"generalSidebar"},{"id":"general/getting-started/Extension/introduction","path":"/general/getting-started/Extension/introduction","sidebar":"generalSidebar"},{"id":"general/getting-started/getting-started","path":"/general/getting-started/","sidebar":"generalSidebar"},{"id":"general/getting-started/popular-dapps","path":"/general/getting-started/popular-dapps","sidebar":"generalSidebar"},{"id":"general/getting-started/universal-profiles","path":"/general/getting-started/universal-profiles","sidebar":"generalSidebar"},{"id":"general/getting-started/using-exchanges","path":"/general/getting-started/using-exchanges","sidebar":"generalSidebar"},{"id":"general/introduction","path":"/general/introduction","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/l14-and-lyxe","path":"/general/l14-and-lyxe/","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/l14-network","path":"/general/l14-and-lyxe/l14-network","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/incidents/february","path":"/general/l14-and-lyxe/migration/incidents/february","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/incidents/january","path":"/general/l14-and-lyxe/migration/incidents/january","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/introduction","path":"/general/l14-and-lyxe/migration/introduction","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/migration-on-exchanges","path":"/general/l14-and-lyxe/migration/migration-on-exchanges","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/supported-wallets","path":"/general/l14-and-lyxe/migration/supported-wallets","sidebar":"generalSidebar"},{"id":"general/l14-and-lyxe/migration/transaction-process","path":"/general/l14-and-lyxe/migration/transaction-process","sidebar":"generalSidebar"},{"id":"general/security","path":"/general/security","sidebar":"generalSidebar"},{"id":"general/supported-wallets/hardware-wallets","path":"/general/supported-wallets/hardware-wallets","sidebar":"generalSidebar"},{"id":"general/supported-wallets/wallet-support","path":"/general/supported-wallets/wallet-support","sidebar":"generalSidebar"}],"draftIds":[],"sidebars":{"generalSidebar":{"link":{"path":"/general/introduction","label":"\ud83d\udc49\ud83c\udffb Introduction"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.3.2","siteVersion":"0.1.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.3.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.3.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.3.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.3.2"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.3.2"},"docusaurus-plugin-sass":{"type":"package","name":"docusaurus-plugin-sass","version":"0.2.5"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.3.2"}}}');var u=n(4848);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6540),a=n(8193),o=n(5260),i=n(440),l=n(9201),s=n(3102),u=n(4848);function c(e){let{error:t,tryAgain:n}=e;return(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,u.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(f,{children:(0,u.jsxs)(h,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(l.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const g=e=>(0,u.jsx)(p,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),a=n(4625),o=n(440),i=n(4586),l=n(6654),s=n(8193),u=n(3427),c=n(6025),d=n(4848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.A)(),{withBaseUrl:x}=(0,c.h)(),k=(0,u.A)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=f||p;const C=(0,l.A)(E),_=E?.replace("pathname://","");let T=void 0!==_?(A=_,y&&(e=>e.startsWith("/"))(A)?x(A):A):void 0;var A;T&&C&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const j=(0,r.useRef)(!1),N=n?a.k2:a.N_,L=s.A.canUseIntersectionObserver,P=(0,r.useRef)(),O=()=>{j.current||null==T||(window.docusaurus.preload(T),j.current=!0)};(0,r.useEffect)((()=>(!L&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{L&&P.current&&P.current.disconnect()})),[P,T,L,C]);const R=T?.startsWith("#")??!1,I=!b.target||"_self"===b.target,M=!T||!C||!I||R;return m||!R&&M||k.collectLink(T),b.id&&k.collectAnchor(b.id),M?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(N,{...b,onMouseEnter:O,onTouchStart:O,innerRef:e=>{S.current=e,L&&e&&C&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:g}})}const p=r.forwardRef(f)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,h:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.z)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>y,vT:()=>p,gk:()=>g,Gy:()=>d,HW:()=>b,ht:()=>f,r7:()=>m,jh:()=>h});var r=n(6347),a=n(4586),o=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function u(e,t){const n=s(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},d=()=>i("docusaurus-plugin-content-docs")??c,f=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function g(e){void 0===e&&(e={});const t=p(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return f(e).versions}function m(e){const t=f(e);return l(t)}function y(e){const t=f(e),{pathname:n}=(0,r.zy)();return u(t,n)}function b(e){const t=f(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:u(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";n.r(t);var r=n(8181),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(2432)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8215),a=n(1312),o=n(6342),i=n(8774),l=n(3427);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:f}}=(0,o.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",f?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},9201:(e,t,n)=>{"use strict";n.d(t,{A:()=>Pt});var r=n(6540),a=n(8215),o=n(7489),i=n(9024),l=n(6347),s=n(1312),u=n(5062),c=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(7559),y=n(4090);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(h,{className:b.skipToContent})}var w=n(6342),x=n(5041);function k(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(k,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,x.Mj)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(_,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var j=n(2069),N=n(3104);var L=n(9532),P=n(5600);const O=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,P.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(O.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function M(){const e=(0,r.useContext)(O);if(!e)throw new L.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=M();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var D=n(5293),z=n(2303);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(V),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function q(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,D.G)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var G=n(3465);function K(){return(0,c.jsx)(G.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(k,{color:"var(--ifm-color-emphasis-600)"})})}function Q(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(K,{}),(0,c.jsx)(q,{className:"margin-right--md"}),(0,c.jsx)(Y,{})]})}var Z=n(8774),X=n(6025),J=n(6654),ee=n(1252),te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.A)(r),f=(0,X.A)(t),p=(0,X.A)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.A)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,g&&(0,c.jsx)(te.A,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(Z.A,{href:s?p:a,...u,...h}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(f)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),le=n(9169),se=n(4586);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.A)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(He,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),(0,c.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(He,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,c.jsx)(r,{...n})}var ge=n(2131);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var ye=n(961);function be(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ve=n(9188),we=["translations"];function xe(){return xe=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Ce="Ctrl";var _e=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,we),i=a.buttonText,l=void 0===i?"Search":i,s=a.buttonAriaLabel,u=void 0===s?"Search":s,c=ke((0,r.useState)(null),2),d=c[0],f=c[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Ce))}),[]),r.createElement("button",xe({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ve.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Ce?r.createElement(be,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Te=n(5260),Ae=n(4255),je=n(1062),Ne=n(2967);const Le={button:{buttonText:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,s.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,s.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,s.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,s.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,s.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,s.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,s.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,s.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Pe=null;function Oe(e){let{hit:t,children:n}=e;return(0,c.jsx)(Z.A,{to:t.url,children:n})}function Re(e){let{state:t,onClose:n}=e;const r=(0,Ae.w)();return(0,c.jsx)(Z.A,{to:r(t.query),onClick:n,children:(0,c.jsx)(s.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ie(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,se.A)(),s=(0,je.C)(),u=function(){const{locale:e,tags:t}=(0,Ne.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=o.searchParameters?.facetFilters??[],f=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(u,d):d,p={...o.searchParameters,facetFilters:f},g=(0,l.W6)(),h=(0,r.useRef)(null),m=(0,r.useRef)(null),[y,b]=(0,r.useState)(!1),[v,w]=(0,r.useState)(void 0),x=(0,r.useCallback)((()=>Pe?Promise.resolve():Promise.all([n.e(462).then(n.bind(n,9462)),Promise.all([n.e(869),n.e(913)]).then(n.bind(n,8913)),Promise.all([n.e(869),n.e(416)]).then(n.bind(n,416))]).then((e=>{let[{DocSearchModal:t}]=e;Pe=t}))),[]),k=(0,r.useCallback)((()=>{x().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),b(!0)}))}),[x,b]),S=(0,r.useCallback)((()=>{b(!1),h.current?.remove(),m.current?.focus()}),[b]),E=(0,r.useCallback)((e=>{x().then((()=>{b(!0),w(e.key)}))}),[x,b,w]),C=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(a,t)?window.location.href=t:g.push(t)}}).current,_=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:s(e.url)}))))).current,T=(0,r.useMemo)((()=>e=>(0,c.jsx)(Re,{...e,onClose:S})),[S]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;(27===e.keyCode&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:y,onOpen:k,onClose:S,onInput:E,searchButtonRef:m}),(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Te.A,{children:(0,c.jsx)("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,c.jsx)(_e,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:k,ref:m,translations:Le.button}),y&&Pe&&h.current&&(0,ye.createPortal)((0,c.jsx)(Pe,{onClose:S,initialScrollY:window.scrollY,initialQuery:v,navigator:C,transformItems:_,hitComponent:Oe,transformSearchClient:A,...o.searchPagePath&&{resultsFooterComponent:T},...o,searchParameters:p,placeholder:Le.placeholder,translations:Le.modal}),h.current)]})}function Me(){const{siteConfig:e}=(0,se.A)();return(0,c.jsx)(Ie,{...e.themeConfig.algolia})}const Fe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function De(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.A)(n,Fe.navbarSearchContainer),children:t})}var ze=n(4070),Be=n(1754);var $e=n(5597);const Ue=e=>e.docs.find((t=>t.id===e.mainDocId));const Ve={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.A)(),f=(0,ge.o)(),{search:p,hash:g}=(0,l.zy)(),h=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],m=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(pe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(De,{className:n,children:(0,c.jsx)(Me,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,ze.zK)(r),i=(0,Be.QB)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,ze.zK)(r),i=(0,Be.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,Be.Vd)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.zy)(),f=(0,ze.zK)(n),p=(0,ze.jh)(n),{savePreferredVersionName:g}=(0,$e.g1)(n),h=[...a,...p.map((e=>{const t=f.alternateDocVersions[e.name]??Ue(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...o],m=(0,Be.Vd)(n)[0],y=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&h.length>1?void 0:Ue(m).path;return h.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}};function He(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ve[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function We(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(He,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function qe(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ge(){const e=0===(0,w.p)().navbar.items.length,t=M();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(qe,{onClick:()=>t.hide()}),t.content]})}function Ke(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Q,{}),primaryMenu:(0,c.jsx)(We,{}),secondaryMenu:(0,c.jsx)(Ge,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Qe(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Ze(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!d&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Qe,{onClick:i.toggle}),(0,c.jsx)(Ke,{})]})}var Xe=n(440);const Je={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function et(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function tt(e){let{error:t}=e;const n=(0,Xe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Je.errorBoundaryError,children:n})}class nt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const rt="right";function at(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ot(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(at,{})})}const it={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(nt,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(He,{...e})},t)))})}function st(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ut(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??rt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(st,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(ot,{}),(0,c.jsx)(K,{}),(0,c.jsx)(lt,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(lt,{items:r}),(0,c.jsx)(q,{className:it.colorModeToggle}),!a&&(0,c.jsx)(De,{children:(0,c.jsx)(Me,{})})]})})}function ct(){return(0,c.jsx)(Ze,{children:(0,c.jsx)(ut,{})})}function dt(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.A)(n),s=(0,X.A)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function ft(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(dt,{item:t})},t.href??t.to)}function pt(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(ft,{item:e},t)))})]})}function gt(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(pt,{column:e},t)))})}function ht(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function mt(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(dt,{item:t})}function yt(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(mt,{item:e}),t.length!==n+1&&(0,c.jsx)(ht,{})]},n)))})})}function bt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(gt,{columns:t}):(0,c.jsx)(yt,{links:t})}var vt=n(1122);const wt={footerLogoLink:"footerLogoLink_BH7S"};function xt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.h)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(vt.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function kt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:wt.footerLogoLink,target:t.target,children:(0,c.jsx)(xt,{logo:t})}):(0,c.jsx)(xt,{logo:t})}function St(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Et(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function Ct(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(Et,{style:a,links:n&&n.length>0&&(0,c.jsx)(bt,{links:n}),logo:r&&(0,c.jsx)(kt,{logo:r}),copyright:t&&(0,c.jsx)(St,{copyright:t})})}const _t=r.memo(Ct),Tt=(0,L.fM)([D.a,x.oq,N.Tv,$e.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(P.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(R,{children:t})})})}]);function At(e){let{children:t}=e;return(0,c.jsx)(Tt,{children:t})}var jt=n(1107);function Nt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(jt.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(et,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(tt,{error:t})})]})})})}const Lt={mainWrapper:"mainWrapper_z2l0"};function Pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,c.jsxs)(At,{children:[(0,c.jsx)(i.be,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(A,{}),(0,c.jsx)(ct,{}),(0,c.jsx)("div",{id:d,className:(0,a.A)(m.G.wrapper.main,Lt.mainWrapper,r),children:(0,c.jsx)(o.A,{fallback:e=>(0,c.jsx)(Nt,{...e}),children:t})}),!n&&(0,c.jsx)(_t,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8774),a=n(6025),o=n(4586),i=n(6342),l=n(1122),s=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.A)(l?.href||"/"),g=n?"":t,h=l?.alt??g;return(0,s.jsxs)(r.A,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),a=n(5066),o=n(2303),i=n(5293);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(6540),a=n(8193),o=n(205),i=n(3109),l=n(4848);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.A.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:a})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?m:h;return(0,l.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>h,oq:()=>g});var r=n(6540),a=n(2303),o=n(9466),i=n(9532),l=n(6342),s=n(4848);const u=(0,o.Wf)("docusaurus.announcement.dismiss"),c=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&f(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>m});var r=n(6540),a=n(8193),o=n(9532),i=n(9466),l=n(6342),s=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[a,o]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,XK:()=>w,g1:()=>v});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),l=n(1754),s=n(9532),u=n(9466),c=n(4848);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=r.createContext(null);function h(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,c.jsx)(g.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.C5?(0,c.jsx)(m,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(g);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a.Gy)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(6540),a=n(9532),o=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(6540),a=n(5600),o=n(4581),i=n(7485),l=n(6342),s=n(9532),u=n(4848);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[s,u]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:s})),[e,n,c,s])}function f(e){let{children:t}=e;const n=d();return(0,u.jsx)(c.Provider,{value:n,children:t})}function p(){const e=r.useContext(c);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4255:(e,t,n)=>{"use strict";n.d(t,{b:()=>l,w:()=>s});var r=n(6540),a=n(4586),o=n(7485);const i="q";function l(){return(0,o.l)(i)}function s(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.A)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1754:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>p,w8:()=>m,C5:()=>f,B5:()=>E,Vd:()=>x,QB:()=>S,fW:()=>k,OF:()=>w,Y:()=>b});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),l=n(5597),s=n(2252),u=n(6588);function c(e){return Array.from(new Set(e))}var d=n(9169);const f=!!i.Gy;function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}const g=(e,t)=>void 0!==e&&(0,d.ys)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||h(e.items,t))}function y(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||m(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function k(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,s.r)(),i=t.routes,l=i.find((e=>(0,a.B6)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.v)(i),sidebarName:u,sidebarItems:c}}},481:(e,t,n)=>{"use strict";n.d(t,{s:()=>a});var r=n(4586);function a(e){const{siteConfig:t}=(0,r.A)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,l:()=>s});var r=n(6540),a=n(6347),o=n(9532);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function s(e){const t=function(e){return l((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}(e)??"",n=function(e){const t=(0,a.W6)();return(0,r.useCallback)(((n,r)=>{const a=new URLSearchParams(t.location.search);n?a.set(e,n):a.delete(e),(r?.push?t.push:t.replace)({search:a.toString()})}),[e,t])}(e);return[t,n]}},9024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>g});var r=n(6540),a=n(5066),o=n(5260),i=n(3102);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),u=n(481),c=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=(0,u.s)(t),{withBaseUrl:d}=(0,s.h)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,a.A)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function g(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,a.A)(r,o),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(6540),a=n(205),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},1252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>u,gk:()=>p});var r=n(6540),a=n(8193),o=n(2303),i=(n(205),n(9532)),l=n(4848);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>i,af:()=>s,tU:()=>l});var r=n(4070),a=n(4586),o=n(5597);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.A)(),t=(0,r.Gy)(),n=(0,r.gk)(),s=(0,o.XK)();const u=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=s[e],o=t[e].versions.find((e=>e.isLast));return l(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:u}}},9466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>s});n(6540);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),a=n(6347),o=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,a.zy)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},8126:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(4586);function a(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},1062:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(6540),a=n(1252),o=n(6025),i=n(8126);function l(){const{withBaseUrl:e}=(0,o.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.G)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(2566);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,n?a(s):o(s));var s;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return a.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return a.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return a.removeTrailingSlash}});var o=n(2566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return o.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return o.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return o.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return o.removePrefix}});var i=n(253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>_,yJ:()=>p,sC:()=>A,AO:()=>f});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},2514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),g=f.indexOf(p);if(g>-1){++a;var h=f.substring(0,g),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(g+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(m),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},3537:()=>{Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),Prism.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/}),Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),Prism.languages.sol=Prism.languages.solidity},2432:(e,t,n)=>{var r={"./prism-json":2514,"./prism-solidity":3537};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=2432},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n