RequestNetwork/request-apps

[create] encrypt requests

MantisClone opened this issue · 0 comments

Problem

Today, the Create Request app creates invoices in cleartext.

Description

This issue is to upgrade the app to create encrypted invoices.

Design

TODO: screenshot and figma link

Considerations

Encryption requires the payee and payor's public keys. The payee's public key (corresponding to the payee's Ethereum address) can be acquired from MetaMask using the eth_getEncryptionPublicKey RPC. It's unclear how to do this with other wallet types.

It's impossible to get the public key from an Ethereum address for which you don't also know the private key. Thus, the payor will need to provide the public key so that the payee can enter it when creating the invoice.

Subtasks

  • Use Metamask's eth_getEncryptionPublicKey RPC to get payee's public key
  • Add form field for payor's public key
  • Add a checkbox under "Advanced" that reveals fields for payor public key