protocol: Enable private offers

Users can send private offers that will only be seen by one address.

To send a private offer:
 1. recipient creates a new address to receive offers on
 2. recipient sends the pubkey for the newly created address to the offerer
 3. offerer imports the recipient's pubkey
 4. offerer sends a new offer to the recipients key instead of the public network

Nodes will ignore offers sent on keys other than the network key or keys created for offer-receiving.
This commit is contained in:
tecnovert
2021-10-20 19:47:49 +02:00
parent f63815b26b
commit a40519737d
15 changed files with 217 additions and 38 deletions

View File

@@ -57,6 +57,7 @@ class Offer(Base):
secret_hash = sa.Column(sa.LargeBinary)
addr_from = sa.Column(sa.String)
addr_to = sa.Column(sa.String)
created_at = sa.Column(sa.BigInteger)
expire_at = sa.Column(sa.BigInteger)
was_sent = sa.Column(sa.Boolean)
@@ -218,6 +219,7 @@ class SmsgAddress(Base):
active_ind = sa.Column(sa.Integer)
created_at = sa.Column(sa.BigInteger)
addr = sa.Column(sa.String, unique=True)
pubkey = sa.Column(sa.String)
use_type = sa.Column(sa.Integer)
note = sa.Column(sa.String)