From c918220ca6a58ea720efb95a277cce5ab7ac4113 Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 3 Nov 2021 11:36:15 +0100 Subject: [PATCH 01/12] Resurrect EIP-1328 --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 997f98e8c2852..63d61278f0faf 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -4,7 +4,7 @@ title: WalletConnect Standard URI Format author: ligi , Pedro Gomes type: Standards Track category: ERC -status: Stagnant +status: Draft created: 2018-08-15 discussions-to: https://ethereum-magicians.org/t/wallet-connect-eip/850 --- From 498904f28e8a1a394f375ab2966e995098d83912 Mon Sep 17 00:00:00 2001 From: ligi Date: Fri, 4 Feb 2022 22:07:54 +0100 Subject: [PATCH 02/12] Update to current EIP-1 --- EIPS/eip-1328.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 63d61278f0faf..009245c0e638e 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -1,18 +1,15 @@ --- eip: 1328 title: WalletConnect Standard URI Format -author: ligi , Pedro Gomes +author: ligi <@ligi>, Pedro Gomes <@pedrouid> type: Standards Track category: ERC status: Draft created: 2018-08-15 discussions-to: https://ethereum-magicians.org/t/wallet-connect-eip/850 +description: Standard for WalletConnect URIs --- -## Simple Summary - -A standard to create WalletConnect URIs to initiate connections between applications and wallets. - ## Abstract This standard defines how the data to connect some application and a wallet can be encoded with a URI. This URI can then be shown either as a QR code or for mobile to mobile as a link. @@ -45,10 +42,6 @@ wc:8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?bridge=https%3A%2F%2Fbridge.walletconn The need for this ERC stems from the discussion to move away from JSON format used in the alpha version of the WalletConnect protocol which makes for very inneficient parsing of the intent of the QR code, making it easier to create better QR code parsers APIs for Wallets to implement. Also by using a URI instead of a JSON inside the QR-Code the Android Intent system can be leveraged. -## References - -1. WalletConnect Technical Specification, https://docs.walletconnect.org/tech-spec - ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From a5e188cc8cc7a48856e1bc9ec30c456f64357618 Mon Sep 17 00:00:00 2001 From: ligi Date: Fri, 4 Feb 2022 22:38:18 +0100 Subject: [PATCH 03/12] Remove the specific use case can also be for desktop - maybe we should remove the whole part - because now there is also "copy" - no real value added anyway IMHO --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 009245c0e638e..6bf6e6e7ccfcf 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -12,7 +12,7 @@ description: Standard for WalletConnect URIs ## Abstract -This standard defines how the data to connect some application and a wallet can be encoded with a URI. This URI can then be shown either as a QR code or for mobile to mobile as a link. +This standard defines how the data to connect some application and a wallet can be encoded with a URI. This URI can then be shown either as a QR code or as a link. ## Specification From 458faf768038b791330897f177eacd575ea31593 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 9 Feb 2022 13:06:17 +0100 Subject: [PATCH 04/12] Update eip-1328.md --- EIPS/eip-1328.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 6bf6e6e7ccfcf..fe9b4171957d0 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -25,17 +25,30 @@ WalletConnect request URI with the following parameters: version = 1*DIGIT parameters = parameter *( "&" parameter ) parameter = key "=" value - key = "bridge" / "key" + key = STRING value = STRING ### Semantics -Required parameters are dependent on the Walletconnect protocol version which currently includes the `key`, hex string of symmetric key, and `bridge`, encoded url of the bridge used for establishing the connection. +Required parameters are dependent on the Walletconnect protocol version: + +For v1.0 protocol the required parameters are: +- `key` - symmetric key used for encryption +- `bridge` - url of the bridge server for relaying messages + +For v2.0 protocol the required parameters are: +- `publicKey` - public key used for DH key exchange +- `relay` - transport protocol data for relaying messages + ### Example ``` +# 1.0 wc:8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?bridge=https%3A%2F%2Fbridge.walletconnect.org&key=41791102999c339c844880b23950704cc43aa840f3739e365323cda4dfa89e7a + +# 2.0 +wc:7f6e504bfad60b485450578e05678ed3e8e8c4751d3c6160be17160d63ec90f9@2?publicKey=587d5484ce2a2a6ee3ba1962fdd7e8588e06200c46823bd18fbd67def96ad303&relay=%7B%22protocol%22%3A%22waku%22%7D ``` ## Rationale From 72e45a710f3aac47847ffc93bf302e78e49a1c9c Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 9 Feb 2022 13:12:11 +0100 Subject: [PATCH 05/12] Update eip-1328.md --- EIPS/eip-1328.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 6bf6e6e7ccfcf..30307fe10c1a4 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -42,6 +42,14 @@ wc:8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?bridge=https%3A%2F%2Fbridge.walletconn The need for this ERC stems from the discussion to move away from JSON format used in the alpha version of the WalletConnect protocol which makes for very inneficient parsing of the intent of the QR code, making it easier to create better QR code parsers APIs for Wallets to implement. Also by using a URI instead of a JSON inside the QR-Code the Android Intent system can be leveraged. +## Backwards Compatibility + +Versioning is required as part of the syntax for this URI specification to allow WalletConnect protocol to evolve and be backwards-compatible whenver a new version instroduced + +## Security Considerations + +URIs should be shared between user devices or applications and no sensitive data is shared within the URI that could compromise the communication or would allow control of the user's private keys + ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From b71e3514f9f2fea447cac86308eed66d1fd64895 Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 9 Feb 2022 14:35:29 +0100 Subject: [PATCH 06/12] Update EIPS/eip-1328.md --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index fe9b4171957d0..b9397e2a6eae5 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -32,7 +32,7 @@ WalletConnect request URI with the following parameters: Required parameters are dependent on the Walletconnect protocol version: -For v1.0 protocol the required parameters are: +For WalletConnect v1.0 protocol (`version`=`1`) the required parameters are: - `key` - symmetric key used for encryption - `bridge` - url of the bridge server for relaying messages From 6433ca045c16ceefa62c326728a013558bc03796 Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 9 Feb 2022 14:36:17 +0100 Subject: [PATCH 07/12] Update EIPS/eip-1328.md --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index b9397e2a6eae5..545d43f2710f9 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -36,7 +36,7 @@ For WalletConnect v1.0 protocol (`version`=`1`) the required parameters are: - `key` - symmetric key used for encryption - `bridge` - url of the bridge server for relaying messages -For v2.0 protocol the required parameters are: +For WalletConnect v2.0 protocol (`version`=`2`) the required parameters are: - `publicKey` - public key used for DH key exchange - `relay` - transport protocol data for relaying messages From 0bb6cf81dc6c6df06ce19cf37f8264eda43a036d Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 9 Feb 2022 14:47:55 +0100 Subject: [PATCH 08/12] Update EIPS/eip-1328.md --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 30307fe10c1a4..e154a35ad4923 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -44,7 +44,7 @@ The need for this ERC stems from the discussion to move away from JSON format us ## Backwards Compatibility -Versioning is required as part of the syntax for this URI specification to allow WalletConnect protocol to evolve and be backwards-compatible whenver a new version instroduced +Versioning is required as part of the syntax for this URI specification to allow the WalletConnect protocol to evolve and allow backwards-compatibility whenever a new version is introduced. ## Security Considerations From 109f8c496028dc6d7683c7b916640abb4c5f9fa1 Mon Sep 17 00:00:00 2001 From: ligi Date: Wed, 9 Feb 2022 14:48:10 +0100 Subject: [PATCH 09/12] Update EIPS/eip-1328.md --- EIPS/eip-1328.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index e154a35ad4923..62c4ca129bda1 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -48,7 +48,7 @@ Versioning is required as part of the syntax for this URI specification to allow ## Security Considerations -URIs should be shared between user devices or applications and no sensitive data is shared within the URI that could compromise the communication or would allow control of the user's private keys +URIs should be shared between user devices or applications and no sensitive data is shared within the URI that could compromise the communication or would allow control of the user's private keys. ## Copyright From 844fd5f1e1fd2af2024d18da8e7bfeb1ea839d55 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 7 Apr 2022 18:06:34 +0200 Subject: [PATCH 10/12] Update eip-1328.md --- EIPS/eip-1328.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index 1b6554163a4d0..c74d03bb65f24 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -32,13 +32,14 @@ WalletConnect request URI with the following parameters: Required parameters are dependent on the Walletconnect protocol version: -For WalletConnect v1.0 protocol (`version`=`1`) the required parameters are: +For WalletConnect v1.0 protocol (`version`=`1`) the parameters are: - `key` - symmetric key used for encryption - `bridge` - url of the bridge server for relaying messages -For WalletConnect v2.0 protocol (`version`=`2`) the required parameters are: -- `publicKey` - public key used for DH key exchange -- `relay` - transport protocol data for relaying messages +For WalletConnect v2.0 protocol (`version`=`2`) the parameters are: +- `symKey` - symmetric key used for encrypting messages over relay +- `relay-protocol` - transport protocol for relaying messages +- `relay-data` - (optional) transport data for relaying messages ### Example @@ -48,7 +49,7 @@ For WalletConnect v2.0 protocol (`version`=`2`) the required parameters are: wc:8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?bridge=https%3A%2F%2Fbridge.walletconnect.org&key=41791102999c339c844880b23950704cc43aa840f3739e365323cda4dfa89e7a # 2.0 -wc:7f6e504bfad60b485450578e05678ed3e8e8c4751d3c6160be17160d63ec90f9@2?publicKey=587d5484ce2a2a6ee3ba1962fdd7e8588e06200c46823bd18fbd67def96ad303&relay=%7B%22protocol%22%3A%22waku%22%7D +wc:c9e6d30fb34afe70a15c14e9337ba8e4d5a35dd695c39b94884b0ee60c69d168@2?relay-protocol=waku&symKey=7ff3e362f825ab868e20e767fe580d0311181632707e7c878cbeca0238d45b8b ``` ## Rationale From 0e728c31ac1060c75540171180dec213ee13d4ec Mon Sep 17 00:00:00 2001 From: ligi Date: Mon, 11 Apr 2022 11:05:57 +0200 Subject: [PATCH 11/12] Apply suggestions by @MicahZoltu --- EIPS/eip-1328.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index c74d03bb65f24..f3423c1a34d55 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -1,13 +1,13 @@ --- eip: 1328 title: WalletConnect Standard URI Format -author: ligi <@ligi>, Pedro Gomes <@pedrouid> +description: Standard for WalletConnect URIs +author: ligi (@ligi), Pedro Gomes (@pedrouid) +discussions-to: https://ethereum-magicians.org/t/wallet-connect-eip/850 +status: Draft type: Standards Track category: ERC -status: Draft created: 2018-08-15 -discussions-to: https://ethereum-magicians.org/t/wallet-connect-eip/850 -description: Standard for WalletConnect URIs --- ## Abstract From 79805020404ee4c95aaffa4a686afa6106f1e91b Mon Sep 17 00:00:00 2001 From: Sam Wilson Date: Mon, 18 Jul 2022 01:21:02 -0400 Subject: [PATCH 12/12] Apply my suggestions to the PR --- EIPS/eip-1328.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/EIPS/eip-1328.md b/EIPS/eip-1328.md index f3423c1a34d55..738b6db5632ad 100644 --- a/EIPS/eip-1328.md +++ b/EIPS/eip-1328.md @@ -1,7 +1,7 @@ --- eip: 1328 -title: WalletConnect Standard URI Format -description: Standard for WalletConnect URIs +title: WalletConnect URI Format +description: Define URI format for initiating connections between applications and wallets author: ligi (@ligi), Pedro Gomes (@pedrouid) discussions-to: https://ethereum-magicians.org/t/wallet-connect-eip/850 status: Draft @@ -30,7 +30,7 @@ WalletConnect request URI with the following parameters: ### Semantics -Required parameters are dependent on the Walletconnect protocol version: +Required parameters are dependent on the WalletConnect protocol version: For WalletConnect v1.0 protocol (`version`=`1`) the parameters are: - `key` - symmetric key used for encryption @@ -54,7 +54,7 @@ wc:c9e6d30fb34afe70a15c14e9337ba8e4d5a35dd695c39b94884b0ee60c69d168@2?relay-prot ## Rationale -The need for this ERC stems from the discussion to move away from JSON format used in the alpha version of the WalletConnect protocol which makes for very inneficient parsing of the intent of the QR code, making it easier to create better QR code parsers APIs for Wallets to implement. Also by using a URI instead of a JSON inside the QR-Code the Android Intent system can be leveraged. +This proposal moves away from the JSON format used in the alpha version of the WalletConnect protocol because it suffered from very inefficient parsing of the intent of the QR code, thereby making it easier to create better QR code parsers APIs for wallets to implement. Also by using a URI instead of JSON inside the QR-Code the Android Intent system can be leveraged. ## Backwards Compatibility @@ -66,4 +66,4 @@ URIs should be shared between user devices or applications and no sensitive data ## Copyright -Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). +Copyright and related rights waived via [CC0](../LICENSE.md).