diff --git a/docs/developers/tutorials/custom-wallet-connect.md b/docs/developers/tutorials/custom-wallet-connect.md deleted file mode 100644 index 7662ee3a4..000000000 --- a/docs/developers/tutorials/custom-wallet-connect.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -id: custom-wallet-connect -title: Custom Wallet Connect ---- - -[comment]: # (mx-abstract) - -## Custom Wallet Connect - -Our custom Wallet Connect is a platform that allows you to connect decentralized applications (dApps) to your wallet. The dApp can send transaction requests to your wallet once you have authorized a connection request from it through our custom Wallet Connect. - -In this guide, we will walk you through the process of connecting a dApp to our WalletConnect. This will provide users with the bridge that securely connects their MultiversX wallets to dApps. - -[comment]: # (mx-context-auto) - -## **Prerequisites** - -Before we begin, a few requirements are needed to get you running. - -- Set up a working dApp. - -We have created a tutorial on how to **[build a dApp](https://docs.multiversx.com/developers/tutorials/your-first-dapp/)** on the MultiversX blockchain in a few minutes. - -- Purchase a domain for your Wallet Connect server. - -To connect to our custom WalletConnect server, we need an HTTPS connection. This domain name will be used when configuring the Nginx host. - -All set? Let’s get started! πŸš€. - -[comment]: # (mx-context-auto) - -## Set up the custom Wallet Connect server - -With everything in place, let's set up the Wallet Connect application. To begin, launch a new instance on an [Ubuntu 18.04](https://ubuntu.com/) server and configure the Wallet Connect server. - -**Install Dependencies** - -Spin up your terminal and run this command to install the dependencies: - -```bash -sudo apt-get update && sudo apt-get install certbot python3-certbot-nginx docker.io docker-compose nginx -y -``` - -By default, _nginx_ configuration is saved to the directory. Remove the _nginx_ configuration from the default directory and create the required directories. - -```bash -sudo rm -f /etc/nginx/sites-enabled/default -mkdir -p /etc/nginx/sites-enabled -``` - -Navigate to your text editor and create a _walletconnect_ file in the `/etc/nginx/sites-enabled` location. Add these lines of code to the file: - -```bash -cat << EOF > /etc/nginx/sites-enabled/walletconnect - -server { - server_name mycustomwalletconnect.com.; - location / { - proxy_set_header Upgrade \$http_upgrade; - proxy_http_version 1.1; - proxy_set_header X-Forwarded-Host \$http_x_forwarded_for; - proxy_set_header X-Forwarded-Proto \$scheme; - proxy_set_header X-Forwarded-For \$remote_addr; - proxy_set_header Host \$host; - proxy_set_header Connection upgrade; - proxy_cache_bypass \$http_upgrade; - proxy_connect_timeout 5s; - proxy_send_timeout 300s; - proxy_read_timeout 300s; - proxy_buffering on; - proxy_buffer_size 32k; - proxy_buffers 8 32k; - proxy_pass http://127.0.0.1:5001; - } -} -EOF -``` - -Due to the significant configuration changes we have made, we need to fully restart _nginx_. Execute this command to restart and enable the server. - -```bash -systemctl restart nginx.service && systemctl enable nginx.service -``` - -Next, request your _certbot_ certificates. - -```bash -certbot --nginx -d1 mycustomwalletconnect.com -``` - -Run this command to download _Redis_ and its dependencies. Next check if _Redis_ is functioning properly using the `status` command. - -```bash -sudo apt-get install -y redis - -sudo systemctl status redis -``` - -We also need to install `nodejs` which will run in production. - -```bash -curl -sL https://deb.nodesource.com/setup_14.x -o /tmp/setup_14.sh && chmod +x /tmp/setup_14.sh - -sudo apt-get install -y nodejs -``` - -Lastly, we will set up a wallet connection bridge server for sending Wallet Connect connections. Run the commands below. - -```bash -mkdir ~/wallet-connect -cd ~/wallet-connect -git clone https://github.com/WalletConnect/node-walletconnect-bridge -cd ~/wallet-connect/node-walletconnect-bridge -npm install --no-optional -npm run build -nohup npm run start > wallet_connect_log 2>&1 & -``` - -**Great job!** Our server is running! - -The Wallet Connect essentially works as a "link", connecting users to dApps using their wallet. Therefore, in the next section of this guide, we configure our dApp to use the new custom wallet connect server. - -[comment]: # (mx-context-auto) - -## Configure the dApp to use the new custom Wallet Connect server - -In this section, we will use the sample dApp that we created earlier to configure an array of Wallet Connect addresses (we can have more than one Wallet Connect server). - -In your `config.tsx` file, add the following lines of code: - -```bash -export const walletConnectBridgeAddresses = ['https://mycustomwalletconnect.com:5000']; -``` - -Next, create an `app.tsx` file, where we will import the array into the application and submit the array as a _key/value_ pair for the `customNetworkConfig` parameter when the `DappProvider` component is launched. - -Add these codes to your `app.tsx` file, - -```jsx -import { walletConnectBridgeAddresses } from 'config'; - -``` - -Restart the application. - -**Congratulations!** Now, when a user connects to a dApp through wallet connect, they will be using our custom wallet connect server. πŸŽ‰ diff --git a/docs/developers/tutorials/wallet-connect-v2-migration.md b/docs/developers/tutorials/wallet-connect-v2-migration.md index 5e295c82c..808d6a19f 100644 --- a/docs/developers/tutorials/wallet-connect-v2-migration.md +++ b/docs/developers/tutorials/wallet-connect-v2-migration.md @@ -11,7 +11,7 @@ Using `@multiversx/sdk-dapp` >= `2.2.8` or `@elrondnetwork/dapp-core` >= `2.0.0` WalletConnect 2.0 is already integrated, only not enabled by default. -Follow [these steps](/sdk-and-tools/sdk-dapp/#walletconnect-20-setup) to generate and add a `walletConnectV2ProjectId` and set the `isWalletConnectV2` flag +Follow [these steps](/sdk-and-tools/sdk-dapp/#walletconnect-20-setup) to generate and add a `walletConnectV2ProjectId` -------------- diff --git a/docs/integrators/overview.md b/docs/integrators/overview.md index f86ae5d5d..e9e2ec04b 100644 --- a/docs/integrators/overview.md +++ b/docs/integrators/overview.md @@ -14,12 +14,13 @@ uses its own infrastructure, please choose a direction from the following table ## Table of contents -| Name | Description | -| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| [EGLD integration guide](/integrators/egld-integration-guide) | How to integrate MultiversX's native token EGLD. | -| [ESDT tokens integration guide](/integrators/esdt-tokens-integration-guide) | How to integrate MultiversX's ESDT tokens. | -| [Observing squad](/integrators/observing-squad) | How to run an infrastructure with a general view over all the shards. | -| [Deep-history squad](/integrators/deep-history-squad) | How to set up an Observing squad able to resolve historical state queries. | -| [Accounts management](/integrators/accounts-management) | How to create and manage EGLD accounts. | -| [Creating transactions](/integrators/creating-transactions) | How to create and sign transactions. | -| [Querying the blockchain](/integrators/querying-the-blockchain) | How to query the MultiversX Blockchain in order to watch desired addresses or events. | +| Name | Description | +| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| [EGLD integration guide](/integrators/egld-integration-guide) | How to integrate MultiversX's native token EGLD. | +| [ESDT tokens integration guide](/integrators/esdt-tokens-integration-guide) | How to integrate MultiversX's ESDT tokens. | +| [Observing squad](/integrators/observing-squad) | How to run an infrastructure with a general view over all the shards. | +| [Deep-history squad](/integrators/deep-history-squad) | How to set up an Observing squad able to resolve historical state queries. | +| [Accounts management](/integrators/accounts-management) | How to create and manage EGLD accounts. | +| [Creating transactions](/integrators/creating-transactions) | How to create and sign transactions. | +| [Querying the blockchain](/integrators/querying-the-blockchain) | How to query the MultiversX Blockchain in order to watch desired addresses or events. | +| [WalletConnect JSON-RPC Methods](/integrators/walletconnect-json-rpc-methods) | How to ensure the proper communication using WalletConnect between a wallet and a dapp. | diff --git a/docs/integrators/walletconnect-json-rpc-methods.md b/docs/integrators/walletconnect-json-rpc-methods.md new file mode 100644 index 000000000..acecd840a --- /dev/null +++ b/docs/integrators/walletconnect-json-rpc-methods.md @@ -0,0 +1,289 @@ +--- +id: walletconnect-json-rpc-methods +title: WalletConnect JSON-RPC Methods +--- + +[comment]: # (mx-abstract) + +The WalletConnect [Sign API](https://specs.walletconnect.com/2.0/specs/clients/sign) establishes a session between a dapp and a wallet in order to expose a set of blockchain accounts that can sign transactions and/or messages using a secure remote JSON-RPC transport with methods and events. +The following methods are already implemented in [xPortal](/wallet/xportal/) and in WalletConnect's [Web Examples](https://github.com/WalletConnect/web-examples). + +- [React Wallet (Sign v2)](https://github.com/WalletConnect/web-examples/tree/main/wallets/react-wallet-v2) ([Demo](https://react-wallet.walletconnect.com/)) +- [React dApp (with standalone client) - v2](https://github.com/WalletConnect/web-examples/tree/main/dapps/react-dapp-v2) ([Demo](https://react-app.walletconnect.com/)) + +The Transaction Object is the same for both the `mvx_signTransaction` and the `mvx_signTransactions` methods. +To get the transaction object into a ready-to-serialize, plain JavaScript object, one can use `.toPlainObject()` from `@multiversx/sdk-core` or [any other available SDKs](/sdk-and-tools/overview). + +[comment]: # (mx-context-auto) + +## mvx_signTransactions + +Sign a list of transactions. +This method returns a signature and any additional properties ( e.g. Guardian info ) that must be applied to each of the provided Transactions before broadcasting them on the network. + +### Parameters + + 1. `Object` - Signing parameters: + 1.1. `transactions` : `Array` - Array of Transactions + 1.1.1 `Object` - Transaction Object + 1.1.1.1 `nonce` : `String` - The Nonce of the Sender. + 1.1.1.2 `value` : `String` - The Value to transfer, as a string representation of a Big Integer (can be "0"). + 1.1.1.3 `receiver` : `String` - The Address (bech32) of the Receiver. + 1.1.1.4 `sender` : `String` - The Address (bech32) of the Sender. + 1.1.1.5 `gasPrice` : `Number` - The desired Gas Price (per Gas Unit). + 1.1.1.6 `gasLimit` : `Number` - The maximum amount of Gas Units to consume. + 1.1.1.7 `data` : `String | undefined` - The base64 string representation of the Transaction's message (data). + 1.1.1.8 `chainID` : `String` - The Chain identifier. ( `1` for Mainnet, `T` for Testnet, `D` for Devnet ) + 1.1.1.9 `version` : `String | undefined` - The Version of the Transaction (e.g. 1). + 1.1.1.10 `options` : `String | undefined` - The Options of the Transaction (e.g. 1). + 1.1.1.11 `guardian` : `String | undefined` - The Address (bech32) of the Guardian. + 1.1.1.12 `receiverUsername` : `String | undefined` - The base64 string representation of the Sender's username. + 1.1.1.10 `senderUsername` : `String | undefined` - The base64 string representation of the Receiver's username. + +### Returns + + 1. `Object` + 1.1. `signatures` : `Array` + 1.1.1 `Object` - corresponding signature and optional properties response for the provided transaction + 1.1.1.1 `signature` : The Signature (hex-encoded) of the Transaction. + 1.1.1.2 `guardian` : `String | undefined` - The Address (bech32) of the Guardian. + 1.1.1.3 `guardianSignature` : `String | undefined` - The Guardian's Signature (hex-encoded) of the Transaction. + 1.1.1.4 `options` : `Number | undefined` - The Version of the Transaction (e.g. 1). + 1.1.1.5 `version` : `Number | undefined` - The Options of the Transaction (e.g. 1). + +### Example + +```javascript +// Request +{ + "id": 1, + "jsonrpc": "2.0", + "method": "mvx_signTransactions", + "params": { + "transactions": [ + { + "nonce": 42, + "value": "100000000000000000", + "receiver": "erd1cux02zersde0l7hhklzhywcxk4u9n4py5tdxyx7vrvhnza2r4gmq4vw35r", + "sender": "erd1uapegx64zk6yxa9kxd2ujskkykdnvzlla47uawh7sh0rhwx6y60sv68me9", + "gasPrice": 1000000000, + "gasLimit": 70000, + "data": "Zm9vZCBmb3IgY2F0cw==", // base64 representation of "food for cats" + "chainID": "1", + "version": 1 + }, + { + "nonce": 43, + "value": "300000000000000000", + "receiver": "erd1ylzm22ngxl2tspgvwm0yth2myr6dx9avtx83zpxpu7rhxw4qltzs9tmjm9", + "sender": "erd1uapegx64zk6yxa9kxd2ujskkykdnvzlla47uawh7sh0rhwx6y60sv68me9", + "gasPrice": 1000000000, + "gasLimit": 70000, + "data": "Zm9vZCBmb3IgZG9ncw==", // base64 representation of "food for dogs" + "chainID": "1", + "version": 1 + } + ] + } +} + +// Result +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "signatures": [ + { + "signature": "1aa6cdd9f614e2a1cedcc207e6e7c574674c9b05e98f31035cac89fcca2673ca9273c48823418cf44696f64a2c535ab3784f680a0c6d6e84b960c33e586cb30b" + }, + { + "signature": "43127c0ac3d5b124ced9c15e884940fb3c1256c463a74db33c1842fa323971e1f43725eea62225c6b2f9b2634edf68ad2e315241df734d60c41b920dec85b60a" + } + ] + } +} +``` + +[comment]: # (mx-context-auto) + +## mvx_signTransaction + +This method returns a signature and any additional properties ( e.g. Guardian info ) that must be applied to the transaction before broadcasting it on the network. +Similar to `mvx_signTransactions`, but only one Transaction can be signed at a time instead of a list of transactions. +The same logic applies to the Transaction Object here too. + +### Parameters + + 1. `Object` - Signing parameters: + 1.1. `transaction` : `Object` - Transaction Object + 1.1.1 `nonce` : `String` - The Nonce of the Sender. + 1.1.2 `value` : `String` - The Value to transfer, as a string representation of a Big Integer (can be "0"). + 1.1.3 `receiver` : `String` - The Address (bech32) of the Receiver. + 1.1.4 `sender` : `String` - The Address (bech32) of the Sender. + 1.1.5 `gasPrice` : `Number` - The desired Gas Price (per Gas Unit). + 1.1.6 `gasLimit` : `Number` - The maximum amount of Gas Units to consume. + 1.1.7 `data` : `String | undefined` - The base64 string representation of the Transaction's message (data). + 1.1.8 `chainID` : `String` - The Chain identifier. ( `1` for Mainnet, `T` for Testnet, `D` for Devnet ) + 1.1.9 `version` : `String | undefined` - The Version of the Transaction (e.g. 1). + 1.1.10 `options` : `String | undefined` - The Options of the Transaction (e.g. 1). + 1.1.11 `guardian` : `String | undefined` - The Address (bech32) of the Guardian. + 1.1.12 `receiverUsername` : `String | undefined` - The base64 string representation of the Sender's username. + 1.1.10 `senderUsername` : `String | undefined` - The base64 string representation of the Receiver's username. + +### Returns + + 1. `Object` - corresponding signature and optional properties response for the provided transaction + 1.1 `signature` : The Signature (hex-encoded) of the Transaction. + 1.2 `guardian` : `String | undefined` - The Address (bech32) of the Guardian. + 1.3 `guardianSignature` : `String | undefined` - The Guardian's Signature (hex-encoded) of the Transaction. + 1.4 `options` : `Number | undefined` - The Version of the Transaction (e.g. 1). + 1.5 `version` : `Number | undefined` - The Options of the Transaction (e.g. 1). + +### Example + +```javascript +// Request +{ + "id": 1, + "jsonrpc": "2.0", + "method": "mvx_signTransaction", + "params": { + "transaction": { + "nonce": 42, + "value": "100000000000000000", + "receiver": "erd1cux02zersde0l7hhklzhywcxk4u9n4py5tdxyx7vrvhnza2r4gmq4vw35r", + "sender": "erd1ylzm22ngxl2tspgvwm0yth2myr6dx9avtx83zpxpu7rhxw4qltzs9tmjm9", + "gasPrice": 1000000000, + "gasLimit": 70000, + "data": "Zm9vZCBmb3IgY2F0cw==", // base64 representation of "food for cats" + "chainID": "1", + "version": 1 + } + } +} + +// Result +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "signature": "5845301de8ca3a8576166fb3b7dd25124868ce54b07eec7022ae3ffd8d4629540dbb7d0ceed9455a259695e2665db614828728d0f9b0fb1cc46c07dd669d2f0e" + } +} +``` + +[comment]: # (mx-context-auto) + +## mvx_signMessage + +This method returns a signature for the provided message from the requested signer address. + +### Parameters + + 1. `Object` - Signing parameters: + 1.1. `message` : `String` - the message to be signed + 1.2. `address` : `String` - bech32 formatted MultiversX address ( erd1... ) + +### Returns + + 1. `Object` + 1.1. `signature` : `String` - corresponding signature for the signed message + +### Example + +```javascript +// Request +{ + "id": 1, + "jsonrpc": "2.0", + "method": "mvx_signMessage", + "params": { + "message": "food for cats", + "address": "erd1uapegx64zk6yxa9kxd2ujskkykdnvzlla47uawh7sh0rhwx6y60sv68me9" + } +} + +// Result +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "signature": "513fb2fa5ac39282ffc3aa90a89024b77057ac4542199673b05601302668bdda36c1076952f4c7445f4c6487a4263d51f72dff325012ab3f236594546ef54408" + } +} +``` + +## mvx_signNativeAuthToken + +A dApp (and its backend) might want to reliably assign an off-chain user identity to a MultiversX address. On this purpose, the signing providers allow a login token to be used within the login flow - this token is signed using the wallet of the user. Afterwards, a backend application would normally [verify the signature](/sdk-and-tools/sdk-js/sdk-js-signing-providers/#verifying-the-signature-of-a-login-token) of the token. + +The functionality is mostly the same as `mvx_signMessage`, only in this case instead of signing the provided message, the wallet will sign a special format including the requested signer address and the provided login token in the form of `${address}${token}`. + +### Parameters + + 1. `Object` - Signing parameters: + 1.1. `token` : `String` - the loginToken to be signed + 1.2. `address` : `String` - bech32 formatted MultiversX address ( erd1... ) + +### Returns + + 1. `Object` + 1.1. `signature` : `String` - corresponding signature for the signed token + +### Example + +```javascript +// Request +{ + "id": 1, + "jsonrpc": "2.0", + "method": "mvx_signNativeAuthToken", + "params": { + "token": "aHR0cHM6Ly9kZXZuZXQueGV4Y2hhbmdlLmNvbQ.c6191feb77da75e1acb3c5c3e8d4053be370d925fe7a78c7958ff5edc63d0c8c.86400.eyJ0aW1lc3RhbXAiOjE2OTM3NjQ1ODh9", + "address": "erd1uapegx64zk6yxa9kxd2ujskkykdnvzlla47uawh7sh0rhwx6y60sv68me9" + } +} + +// Result +{ + "id": 1, + "jsonrpc": "2.0", + "result": { + "signature": "2789172fd8e0f3b81767392b4f3450807a5894e5c704073d18a0d5e4d0819cd8fac53ef8ba3e3b0430481d6e396f67ae484ae1f295befa766e49a3abfdf76e0a" + } +} +``` + +[comment]: # (mx-context-auto) + +## mvx_signLoginToken + +Exactly the same functionality as `mvx_signNativeAuthToken`, only the login token format differs. The Wallet can display a different UI based on the login token method request. + +## mvx_cancelAction + +Wallets can implement this method to improve the UX. It is used to transmit that the user wishes to renounce on a triggered action. Close a sign transaction modal or a sign message modal, etc. + +### Parameters + + 1. `Object` - Action parameters + 1.1. `action` : `String | undefined` - Current action to be cancelled ( for ex. `cancelSignTx` ) + + +### Returns + + void + +### Example + +```javascript +// Request +{ + "id": 1, + "jsonrpc": "2.0", + "method": "mvx_cancelAction", + "params": { + "action": "cancelSignTx" + } +} +``` diff --git a/docs/sdk-and-tools/sdk-dapp/sdk-dapp.md b/docs/sdk-and-tools/sdk-dapp/sdk-dapp.md index 2bac3ff97..286a0a11d 100644 --- a/docs/sdk-and-tools/sdk-dapp/sdk-dapp.md +++ b/docs/sdk-and-tools/sdk-dapp/sdk-dapp.md @@ -163,7 +163,6 @@ This allows using different APIs and different connection providers to configure digits?: string; gasPerDataByte?: string; walletConnectDeepLink?: string; // a string that will create a deeplink for an application that is used on a mobile phone, instead of generating the login QR code. - walletConnectBridgeAddresses?: string; // a string that is used to establish the connection to walletConnect library; walletConnectV2ProjectId?: string; // a unique ProjectID needed to access the WalletConnect 2.0 Relay Cloud walletAddress?: string; apiAddress?: string; @@ -330,7 +329,6 @@ you can easily import and use them. token={token} onLoginRedirect={onLoginRedirect} onClose={onClose} - isWalletConnectV2={true} // by default is false and will use WalletConnect version 1 /> ``` @@ -1040,13 +1038,13 @@ import { ExplorerLink } from "@multiversx/sdk-dapp/UI/ExplorerLink"; [comment]: # (mx-context-auto) -## WalletConnect 2.0 Setup +## WalletConnect Setup Starting with the 2.0 version of the dApp SDK ( previously `@elrondnetwork/dapp-core@2.0.0` ) and `@multiversx/sdk-dapp@2.2.8` [WalletConnect 2.0](https://docs.walletconnect.com/2.0/) is available as a login and signing provider, allowing users to login by scanning a QR code with the Mobile App -This is an implementation of the [sdk-wallet-connect-provider](https://github.com/multiversx/mx-sdk-js-wallet-connect-provider/tree/providerV2) ( [docs](https://docs.multiversx.com/sdk-and-tools/sdk-js/sdk-js-signing-providers/#the-wallet-connect-provider) ) signing provider +This is an implementation of the [sdk-wallet-connect-provider](https://github.com/multiversx/mx-sdk-js-wallet-connect-provider) ( [docs](https://docs.multiversx.com/sdk-and-tools/sdk-js/sdk-js-signing-providers/#the-wallet-connect-provider) ) signing provider -As WalletConnect 2.0 is not enabled by default there are a few steps needed to enable it: +A `Project ID` is required to enable the WalletConnect functionality. [comment]: # (mx-context-auto) @@ -1068,48 +1066,7 @@ The Project ID can be generated for free here: [https://cloud.walletconnect.com/ The WalletConnect Project ID grants you access to the [WalletConnect Cloud Relay](https://docs.walletconnect.com/2.0/cloud/relay) that securely manages communication between the device and the dApp. -[comment]: # (mx-context-auto) - -### Set the WalletConnect Flag - -Once the `walletConnectV2ProjectId` is set in the `DappProvider` global Context, the next step would be to activate the Walletconnect V2 functionality in the [Login UI](#loginui). - -That means setting the `isWalletConnectV2` flag to `true` in the `` component - -```jsx - -``` - -Or, if you want access to the container without the button set the `isWalletConnectV2` flag to `true` in the `` component. - -```jsx - -``` - -[comment]: # (mx-context-auto) - -#### That's it - -If the Project ID is valid and the `isWalletConnectV2` flag is `true` the new functionality will work out of the box with the [Transactions and Message signing](#transactions) flows. - -You can check out [this PR](https://github.com/multiversx/mx-template-dapp/commit/ca2826be499da892c1180d26f93e1497be77af09) on the [dApp Template](https://github.com/multiversx/mx-template-dapp) with the all the changes required to activate the updated functionality. +If the Project ID is valid, the new functionality will work out of the box with the [Transactions and Message signing](#transactions) flows. [comment]: # (mx-context-auto) diff --git a/docs/sdk-and-tools/sdk-js/sdk-js-signing-providers.md b/docs/sdk-and-tools/sdk-js/sdk-js-signing-providers.md index b2cd0919d..8b87433e4 100644 --- a/docs/sdk-and-tools/sdk-js/sdk-js-signing-providers.md +++ b/docs/sdk-and-tools/sdk-js/sdk-js-signing-providers.md @@ -19,7 +19,7 @@ The following signing providers are available: - Web Wallet Provider - Extension Provider (MultiversX DeFi Wallet) -- Wallet Connect Provider (xPortal App) +- WalletConnect Provider (xPortal App) - Hardware Wallet (Ledger) Provider [comment]: # (mx-context-auto) @@ -225,11 +225,11 @@ console.log(message.toJSON()); [comment]: # (mx-context-auto) -## The Wallet Connect provider +## The WalletConnect provider [`@multiversx/sdk-js-wallet-connect-provider`](https://github.com/multiversx/mx-sdk-js-wallet-connect-provider) allows the users of a dApp to login and sign transactions using [xPortal](https://xportal.com/) (the mobile application). -For this example we will use the WalletConnect 2.0 provider since 1.0 is no longer mantained and it will be [deprecated soon](https://medium.com/walletconnect/weve-reset-the-clock-on-the-walletconnect-v1-0-shutdown-now-scheduled-for-june-28-2023-ead2d953b595) +For this example we will use the WalletConnect 2.0 provider since 1.0 is no longer mantained and it is [deprecated](https://medium.com/walletconnect/weve-reset-the-clock-on-the-walletconnect-v1-0-shutdown-now-scheduled-for-june-28-2023-ead2d953b595) First, let's see a (simple) way to build a QR dialog using [`qrcode`](https://www.npmjs.com/package/qrcode) (and bootstrap): diff --git a/docs/sdk-and-tools/sdk-js/sdk-js.md b/docs/sdk-and-tools/sdk-js/sdk-js.md index e4d88fe95..e628ac0c2 100644 --- a/docs/sdk-and-tools/sdk-js/sdk-js.md +++ b/docs/sdk-and-tools/sdk-js/sdk-js.md @@ -29,7 +29,7 @@ Signing providers for dApps: | [sdk-dapp](https://www.npmjs.com/package/@multiversx/sdk-dapp) | [Github](https://github.com/multiversx/mx-sdk-dapp) | A library that holds the core functional & signing logic of a dapp on the MultiversX Network. | | [sdk-hw-provider](https://www.npmjs.com/package/@multiversx/sdk-hw-provider) | [Github](https://github.com/multiversx/mx-sdk-js-hw-provider) | Sign using the hardware wallet (Ledger). | | [sdk-web-wallet-provider](https://www.npmjs.com/package/@multiversx/sdk-web-wallet-provider) | [Github](https://github.com/multiversx/mx-sdk-js-web-wallet-provider) | Sign using the MultiversX web wallet. | -| [sdk-wallet-connect-provider](https://www.npmjs.com/package/@multiversx/sdk-wallet-connect-provider) | [Github](https://github.com/multiversx/mx-sdk-js-wallet-connect-provider) | Sign using Wallet Connect. | +| [sdk-wallet-connect-provider](https://www.npmjs.com/package/@multiversx/sdk-wallet-connect-provider) | [Github](https://github.com/multiversx/mx-sdk-js-wallet-connect-provider) | Sign using WalletConnect. | | [sdk-extension-provider](https://www.npmjs.com/package/@multiversx/sdk-extension-provider) | [Github](https://github.com/multiversx/mx-sdk-js-extension-provider) | Sign using the MultiversX DeFi Wallet (browser extension). | | [sdk-guardians-provider](https://www.npmjs.com/package/@multiversx/sdk-guardians-provider) | [Github](https://github.com/multiversx/mx-sdk-js-guardians-provider) | Helper library for integrating a co-signing provider (Guardian) into dApps. | diff --git a/sidebars.js b/sidebars.js index 55d7d69e3..bcd378da1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -392,6 +392,7 @@ const sidebars = { "integrators/querying-the-blockchain", ], }, + "integrators/walletconnect-json-rpc-methods", ], "Ad-Astra Bridge": [ "bridge/architecture",