js-algorand-sdk icon indicating copy to clipboard operation
js-algorand-sdk copied to clipboard

Add WalletConnect `TransactionSigner`

Open jasonpaulos opened this issue 3 years ago • 0 comments

Summary

WalletConnect on Algorand allows developers to sign transactions using the Algorand Wallet (or any other wallet that supports WalletConnect on Algorand).

Using WalletConnect to sign transactions like this is currently possible, but it could be made easier. This issue is to create a TransactionSigner backed by WalletConnect. This signer may be used in the AtomicTransactionComposer class in the same way as other signers.

Scope

  • Add the ability to create a TransactionSigner backed by WalletConnect.
  • Consider how package dependencies should work. There are two solutions as far as I can see:
    • Make the algosdk package have an optional peer dependency of @walletconnect/client (this is only viable if npm does not automatically install peer dependencies, need to look into this more). This has the disadvantage that a version of algosdk will only work with a specific version of @walletconnect/client.
    • Create a new "plugin" package that has peer dependencies of algosdk and @walletconnect/client. This has the advantage that different versions of the plugin can be used to implement compatibility between all versions of algosdk and @walletconnect/client.

jasonpaulos avatar Jul 29 '21 15:07 jasonpaulos