ERC-1328 Proposed Changes


#1

Currently the ERC-1328 has the following spec:

request       = "ethereum" ":" [ "wc-" ]sessionId [ "@" version ][ "?" parameters ]
sessionId     = STRING
version       = 1*DIGIT
parameters    = parameter *( "&" parameter )
parameter     = key "=" value
key           = "name" / "bridge" / "symKey"
value         = NUMBER / STRING

Source: https://eips.ethereum.org/EIPS/eip-1328

First proposal: change the schema to be walletconnect-specific. This would make it non-complaint with ERC-831 but it would allow a more flexible approach to target only walletconnect-enabled wallets and make it blockchain agnostic.

Second proposal: DappName specified as the name parameter is accessory for the WalletConnect session creation and it should be removed from the URI spec. The Dapp metadata should be relayed through the bridged and verified on the Wallet. This is followed by the discussion on the following thread: Replacing DappName with HTML Meta tags

Therefore, following both proposals the new specification for the ERC-1328 would look like this:

request       = "walletconnect" ":" sessionId [ "@" version ][ "?" parameters ]
sessionId     = STRING
version       = 1*DIGIT
parameters    = parameter *( "&" parameter )
parameter     = key "=" value
key           = "bridge" / "symKey"
value         = NUMBER / STRING

#2

Agree - but would make it shorter - let’s do the schema: “wc:” - short and consistent to the last one.
also let’s think about it a bit longer - these breaking changes really suck and as we want a lot of adoption we should be careful with constant breaking changes.


#3

I really wish WalletConnect had a different acronym because WC as bad connotation. Also I wanna make sure it doesnt clash with other schemas because it is just two letters

I want to make as many breaking changes with v0.8.x as possible to get the API stable so that it can gain adoption later


#4

Should we add an optional callback query parameter for mobile-to-mobile.

Example:

  • User opens Dapps website on default browser
  • User chooses WalletConnect to connect
  • User is redirected to the Wallet app
  • User approves WalletConnect session
  • User is redirected again to website using callback

cc @ligi


#5

I do not think this is needed. When finishing the wallet session you should be back to the dapp anyway. Also where would this callback live?